From b28fa86e6ab633b2d3d9bfdb4642c661ff8c45fc Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Wed, 26 Oct 2022 01:10:35 +0200 Subject: Enable -Wconversion --- src/timeline/TimelineModel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 5ffd7415..6cf361aa 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -679,7 +679,7 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r if (w == 0) w = 1; - double prop = media_height(event) / (double)w; + double prop = (double)media_height(event) / (double)w; return {prop > 0 ? prop : 1.}; } @@ -2881,7 +2881,7 @@ TimelineModel::pinnedMessages() const return {}; QStringList list; - list.reserve((qsizetype)pinned->content.pinned.size()); + list.reserve((int)pinned->content.pinned.size()); for (const auto &p : pinned->content.pinned) list.push_back(QString::fromStdString(p)); @@ -2912,7 +2912,7 @@ TimelineModel::widgetLinks() const theme.clear(); user = QUrl::toPercentEncoding(user); - list.reserve((qsizetype)evs.size()); + list.reserve((int)evs.size()); for (const auto &p : evs) { auto url = QString::fromStdString(p.content.url); -- cgit 1.5.1 From 40ac55ddd9f1ba02e37f189ba7566d8d95699b4c Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 1 Nov 2022 23:26:21 +0100 Subject: Highlight higlight tweaks in the timeline fixes #400 fixes #1136 --- resources/qml/MessageView.qml | 2 ++ resources/qml/TimelineRow.qml | 3 +++ src/ChatPage.h | 5 +++++ src/timeline/TimelineModel.cpp | 21 +++++++++++++++++++++ src/timeline/TimelineModel.h | 9 +++++++++ 5 files changed, 40 insertions(+) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index f94fc4a9..8e6ad8d2 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -415,6 +415,7 @@ Item { required property string callType required property var reactions required property int trustlevel + required property int notificationlevel required property int encryptionError required property var timestamp required property int status @@ -482,6 +483,7 @@ Item { callType: wrapper.callType reactions: wrapper.reactions trustlevel: wrapper.trustlevel + notificationlevel: wrapper.notificationlevel encryptionError: wrapper.encryptionError timestamp: wrapper.timestamp status: wrapper.status diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml index 181b64ff..01e58cdf 100644 --- a/resources/qml/TimelineRow.qml +++ b/resources/qml/TimelineRow.qml @@ -41,6 +41,7 @@ AbstractButton { required property string callType required property var reactions required property int trustlevel + required property int notificationlevel required property int encryptionError required property int duration required property var timestamp @@ -117,6 +118,8 @@ AbstractButton { property color bgColor: Nheko.colors.base color: (Settings.bubbles && !isStateEvent) ? Qt.tint(bgColor, Qt.hsla(userColor.hslHue, 0.5, userColor.hslLightness, 0.2)) : "#00000000" radius: 4 + border.width: r.notificationlevel == MtxEvent.Highlight ? 2 : 0 + border.color: Nheko.theme.red GridLayout { anchors { diff --git a/src/ChatPage.h b/src/ChatPage.h index 1bb25dc2..6e1095b9 100644 --- a/src/ChatPage.h +++ b/src/ChatPage.h @@ -78,6 +78,11 @@ public: //! Check if the given room is currently open. bool isRoomActive(const QString &room_id); + const std::unique_ptr &pushruleEvaluator() const + { + return pushrules; + } + public slots: bool handleMatrixUri(QString uri); bool handleMatrixUri(const QUrl &uri); diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 6cf361aa..b20e36bc 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -526,6 +526,7 @@ TimelineModel::roleNames() const {IsEncrypted, "isEncrypted"}, {IsStateEvent, "isStateEvent"}, {Trustlevel, "trustlevel"}, + {Notificationlevel, "notificationlevel"}, {EncryptionError, "encryptionError"}, {ReplyTo, "replyTo"}, {ThreadId, "threadId"}, @@ -737,6 +738,26 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r return crypto::Trust::Unverified; } + case Notificationlevel: { + const auto &push = ChatPage::instance()->pushruleEvaluator(); + if (push) { + auto actions = push->evaluate({event}, pushrulesRoomContext()); + if (std::find(actions.begin(), + actions.end(), + mtx::pushrules::actions::Action{ + mtx::pushrules::actions::set_tweak_highlight{}}) != actions.end()) { + return qml_mtx_events::NotificationLevel::Highlight; + } + if (std::find(actions.begin(), + actions.end(), + mtx::pushrules::actions::Action{mtx::pushrules::actions::notify{}}) != + actions.end()) { + return qml_mtx_events::NotificationLevel::Notify; + } + } + return qml_mtx_events::NotificationLevel::Nothing; + } + case EncryptionError: return events.decryptionError(event_id(event)); diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 8bf18f19..9cd60e5d 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -151,6 +151,14 @@ enum EventState Empty, }; Q_ENUM_NS(EventState) + +enum NotificationLevel +{ + Nothing, + Notify, + Highlight, +}; +Q_ENUM_NS(NotificationLevel) } class StateKeeper @@ -242,6 +250,7 @@ public: IsEncrypted, IsStateEvent, Trustlevel, + Notificationlevel, EncryptionError, ReplyTo, ThreadId, -- cgit 1.5.1 From 76347f1c6f3aa41654fb989d1726d7ce4b56795e Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Thu, 3 Nov 2022 23:26:59 +0100 Subject: Continue fetching past messages when searching --- src/Cache.cpp | 98 ++++++++++++++++++++++------------------- src/timeline/EventStore.cpp | 11 ++--- src/timeline/TimelineFilter.cpp | 32 ++++++++++++-- src/timeline/TimelineFilter.h | 4 ++ src/timeline/TimelineModel.cpp | 1 + src/timeline/TimelineModel.h | 2 + 6 files changed, 94 insertions(+), 54 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/Cache.cpp b/src/Cache.cpp index 3426ccfe..b577f201 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -1013,20 +1013,22 @@ Cache::getOlmSessions(const std::string &curve25519) { using namespace mtx::crypto; - auto txn = lmdb::txn::begin(env_); - auto db = getOlmSessionsDb(txn, curve25519); - - std::string_view session_id, unused; - std::vector res; + try { + auto txn = ro_txn(env_); + auto db = getOlmSessionsDb(txn, curve25519); - auto cursor = lmdb::cursor::open(txn, db); - while (cursor.get(session_id, unused, MDB_NEXT)) - res.emplace_back(session_id); - cursor.close(); + std::string_view session_id, unused; + std::vector res; - txn.commit(); + auto cursor = lmdb::cursor::open(txn, db); + while (cursor.get(session_id, unused, MDB_NEXT)) + res.emplace_back(session_id); + cursor.close(); - return res; + return res; + } catch (...) { + return {}; + } } void @@ -2173,18 +2175,22 @@ Cache::roomIds() std::string Cache::previousBatchToken(const std::string &room_id) { - auto txn = lmdb::txn::begin(env_, nullptr); - auto orderDb = getEventOrderDb(txn, room_id); + auto txn = ro_txn(env_); + try { + auto orderDb = getEventOrderDb(txn, room_id); - auto cursor = lmdb::cursor::open(txn, orderDb); - std::string_view indexVal, val; - if (!cursor.get(indexVal, val, MDB_FIRST)) { - return ""; - } + auto cursor = lmdb::cursor::open(txn, orderDb); + std::string_view indexVal, val; + if (!cursor.get(indexVal, val, MDB_FIRST)) { + return ""; + } - auto j = nlohmann::json::parse(val); + auto j = nlohmann::json::parse(val); - return j.value("prev_batch", ""); + return j.value("prev_batch", ""); + } catch (...) { + return ""; + } } Cache::Messages @@ -3206,10 +3212,10 @@ Cache::pendingEvents(const std::string &room_id) std::optional Cache::firstPendingMessage(const std::string &room_id) { - auto txn = lmdb::txn::begin(env_); + auto txn = ro_txn(env_); auto pending = getPendingMessagesDb(txn, room_id); - { + try { auto pendingCursor = lmdb::cursor::open(txn, pending); std::string_view tsIgnored, pendingTxn; while (pendingCursor.get(tsIgnored, pendingTxn, MDB_NEXT)) { @@ -3225,7 +3231,6 @@ Cache::firstPendingMessage(const std::string &room_id) from_json(nlohmann::json::parse(event), te); pendingCursor.close(); - txn.commit(); return te; } catch (std::exception &e) { nhlog::db()->error("Failed to parse message from cache {}", e.what()); @@ -3233,10 +3238,8 @@ Cache::firstPendingMessage(const std::string &room_id) continue; } } + } catch (const lmdb::error &e) { } - - txn.commit(); - return std::nullopt; } @@ -3998,33 +4001,36 @@ Cache::hasEnoughPowerLevel(const std::vector &eventTypes using namespace mtx::events; using namespace mtx::events::state; - auto txn = lmdb::txn::begin(env_); - auto db = getStatesDb(txn, room_id); + auto txn = ro_txn(env_); + try { + auto db = getStatesDb(txn, room_id); - int64_t min_event_level = std::numeric_limits::max(); - int64_t user_level = std::numeric_limits::min(); + int64_t min_event_level = std::numeric_limits::max(); + int64_t user_level = std::numeric_limits::min(); - std::string_view event; - bool res = db.get(txn, to_string(EventType::RoomPowerLevels), event); + std::string_view event; + bool res = db.get(txn, to_string(EventType::RoomPowerLevels), event); - if (res) { - try { - StateEvent msg = - nlohmann::json::parse(std::string_view(event.data(), event.size())) - .get>(); + if (res) { + try { + StateEvent msg = + nlohmann::json::parse(std::string_view(event.data(), event.size())) + .get>(); - user_level = msg.content.user_level(user_id); + user_level = msg.content.user_level(user_id); - for (const auto &ty : eventTypes) - min_event_level = std::min(min_event_level, msg.content.state_level(to_string(ty))); - } catch (const nlohmann::json::exception &e) { - nhlog::db()->warn("failed to parse m.room.power_levels event: {}", e.what()); + for (const auto &ty : eventTypes) + min_event_level = + std::min(min_event_level, msg.content.state_level(to_string(ty))); + } catch (const nlohmann::json::exception &e) { + nhlog::db()->warn("failed to parse m.room.power_levels event: {}", e.what()); + } } - } - - txn.commit(); - return user_level >= min_event_level; + return user_level >= min_event_level; + } catch (...) { + return false; + } } std::vector diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp index de813196..65efc0b4 100644 --- a/src/timeline/EventStore.cpp +++ b/src/timeline/EventStore.cpp @@ -80,8 +80,8 @@ EventStore::EventStore(std::string room_id, QObject *) emit beginInsertRows(toExternalIdx(newFirst), toExternalIdx(this->first - 1)); this->first = newFirst; emit endInsertRows(); - emit fetchedMore(); emit dataChanged(toExternalIdx(oldFirst), toExternalIdx(oldFirst)); + emit fetchedMore(); } else { auto range = cache::client()->getTimelineRange(room_id_); @@ -725,10 +725,11 @@ EventStore::decryptEvent(const IdIndex &idx, case olm::DecryptionErrorCode::ParsingFailed: break; case olm::DecryptionErrorCode::ReplayAttack: - nhlog::crypto()->critical("Reply attack while decryptiong event {} in room {} from {}!", - e.event_id, - room_id_, - e.sender); + nhlog::crypto()->critical( + "Replay attack while decryptiong event {} in room {} from {}!", + e.event_id, + room_id_, + e.sender); break; case olm::DecryptionErrorCode::NoError: // unreachable diff --git a/src/timeline/TimelineFilter.cpp b/src/timeline/TimelineFilter.cpp index 15d2590c..cd17a7f6 100644 --- a/src/timeline/TimelineFilter.cpp +++ b/src/timeline/TimelineFilter.cpp @@ -19,8 +19,10 @@ TimelineFilter::setThreadId(const QString &t) if (this->threadId != t) { this->threadId = t; invalidateFilter(); + + fetchMore({}); + emit threadIdChanged(); } - emit threadIdChanged(); } void @@ -30,21 +32,45 @@ TimelineFilter::setContentFilter(const QString &c) if (this->contentFilter != c) { this->contentFilter = c; invalidateFilter(); + + fetchMore({}); + emit contentFilterChanged(); + } +} + +void +TimelineFilter::fetchAgain() +{ + if (threadId.isEmpty() && contentFilter.isEmpty()) + return; + + if (auto s = source()) { + if (rowCount() == cachedCount && s->canFetchMore(QModelIndex())) + s->fetchMore(QModelIndex()); + else + cachedCount = rowCount(); } - emit contentFilterChanged(); } void TimelineFilter::setSource(TimelineModel *s) { if (auto orig = this->source(); orig != s) { - if (orig) + cachedCount = 0; + + if (orig) { disconnect(orig, &TimelineModel::currentIndexChanged, this, &TimelineFilter::currentIndexChanged); + disconnect(orig, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain); + } + this->setSourceModel(s); + connect(s, &TimelineModel::currentIndexChanged, this, &TimelineFilter::currentIndexChanged); + connect(s, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain); + emit sourceChanged(); invalidateFilter(); } diff --git a/src/timeline/TimelineFilter.h b/src/timeline/TimelineFilter.h index 3b04650e..a602f84f 100644 --- a/src/timeline/TimelineFilter.h +++ b/src/timeline/TimelineFilter.h @@ -45,9 +45,13 @@ signals: void sourceChanged(); void currentIndexChanged(); +private slots: + void fetchAgain(); + protected: bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; private: QString threadId, contentFilter; + int cachedCount = 0; }; diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index b20e36bc..6b764081 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -449,6 +449,7 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj connect(&events, &EventStore::fetchedMore, this, [this]() { setPaginationInProgress(false); updateLastMessage(); + emit fetchedMore(); }); connect(&events, &EventStore::fetchedMore, this, &TimelineModel::checkAfterFetch); connect(&events, diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 9cd60e5d..9daeeb3a 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -465,6 +465,8 @@ signals: void scrollTargetChanged(); + void fetchedMore(); + private: template void sendEncryptedMessage(mtx::events::RoomEvent msg, mtx::events::EventType eventType); -- cgit 1.5.1 From f440b411953c2aad752848390d67de7e75a2f1bc Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 22 Nov 2022 19:18:10 +0100 Subject: Fix stack overflow when filtering timeline --- src/timeline/TimelineFilter.cpp | 3 ++- src/timeline/TimelineModel.cpp | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/timeline/TimelineFilter.cpp b/src/timeline/TimelineFilter.cpp index cd17a7f6..91cae637 100644 --- a/src/timeline/TimelineFilter.cpp +++ b/src/timeline/TimelineFilter.cpp @@ -69,7 +69,8 @@ TimelineFilter::setSource(TimelineModel *s) this->setSourceModel(s); connect(s, &TimelineModel::currentIndexChanged, this, &TimelineFilter::currentIndexChanged); - connect(s, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain); + connect( + s, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain, Qt::QueuedConnection); emit sourceChanged(); invalidateFilter(); diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 6b764081..dedfa197 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -880,6 +880,9 @@ TimelineModel::setPaginationInProgress(const bool paginationInProgress) m_paginationInProgress = paginationInProgress; emit paginationInProgressChanged(m_paginationInProgress); + + if (m_paginationInProgress) + events.fetchMore(); } void @@ -891,8 +894,6 @@ TimelineModel::fetchMore(const QModelIndex &) } setPaginationInProgress(true); - - events.fetchMore(); } void -- cgit 1.5.1 From 59703d3c255d8809434824838619b2239abe28fe Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sat, 3 Dec 2022 02:10:45 +0100 Subject: Implement MSC3664, pushrules for related events --- CMakeLists.txt | 2 +- io.github.NhekoReborn.Nheko.yaml | 2 +- src/ChatPage.cpp | 24 +++++++++++++++++++++++- src/timeline/TimelineModel.cpp | 13 ++++++++++++- 4 files changed, 37 insertions(+), 4 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c9256c4..60f16d9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -595,7 +595,7 @@ if(USE_BUNDLED_MTXCLIENT) FetchContent_Declare( MatrixClient GIT_REPOSITORY https://github.com/Nheko-Reborn/mtxclient.git - GIT_TAG c7a13e79289ae35c4e2a9bccb3fdeb2bc03a925d + GIT_TAG 7155cbb8ed3289f2cc7269da7607b0dd012f471b ) set(BUILD_LIB_EXAMPLES OFF CACHE INTERNAL "") set(BUILD_LIB_TESTS OFF CACHE INTERNAL "") diff --git a/io.github.NhekoReborn.Nheko.yaml b/io.github.NhekoReborn.Nheko.yaml index 7f3aefc3..f41f71b4 100644 --- a/io.github.NhekoReborn.Nheko.yaml +++ b/io.github.NhekoReborn.Nheko.yaml @@ -182,7 +182,7 @@ modules: buildsystem: cmake-ninja name: mtxclient sources: - - commit: c7a13e79289ae35c4e2a9bccb3fdeb2bc03a925d + - commit: 7155cbb8ed3289f2cc7269da7607b0dd012f471b #tag: v0.8.2 type: git url: https://github.com/Nheko-Reborn/mtxclient.git diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index 5e0a7b73..1910ce0b 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -261,6 +261,10 @@ ChatPage::ChatPage(QSharedPointer userSettings, QObject *parent) cache::getEventIndex(room_id, cache::client()->getFullyReadEventId(room_id)); auto ctx = roomModel->pushrulesRoomContext(); + std::vector< + std::pair> + relatedEvents; + for (const auto &event : room.timeline.events) { mtx::events::collections::TimelineEvent te{event}; std::visit([room_id = room_id](auto &event_) { event_.room_id = room_id; }, @@ -277,7 +281,25 @@ ChatPage::ChatPage(QSharedPointer userSettings, QObject *parent) te.data = result.event.value(); } - auto actions = pushrules->evaluate(te, ctx); + relatedEvents.clear(); + for (const auto &r : mtx::accessors::relations(te.data).relations) { + auto related = cache::client()->getEvent(room_id, r.event_id); + if (related) { + relatedEvents.emplace_back(r, *related); + if (auto encryptedEvent = std::get_if< + mtx::events::EncryptedEvent>( + &related->data); + encryptedEvent && userSettings_->decryptNotifications()) { + MegolmSessionIndex index(room_id, encryptedEvent->content); + + auto result = olm::decryptEvent(index, *encryptedEvent); + if (result.event) + relatedEvents.back().second.data = result.event.value(); + } + } + } + + auto actions = pushrules->evaluate(te, ctx, relatedEvents); if (std::find(actions.begin(), actions.end(), mtx::pushrules::actions::Action{ diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index dedfa197..f61214fd 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -742,7 +742,18 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r case Notificationlevel: { const auto &push = ChatPage::instance()->pushruleEvaluator(); if (push) { - auto actions = push->evaluate({event}, pushrulesRoomContext()); + const auto &id = event_id(event); + std::vector> + relatedEvents; + for (const auto &r : mtx::accessors::relations(event).relations) { + auto related = events.get(r.event_id, id); + if (related) { + relatedEvents.emplace_back(r, + mtx::events::collections::TimelineEvent{*related}); + } + } + + auto actions = push->evaluate({event}, pushrulesRoomContext(), relatedEvents); if (std::find(actions.begin(), actions.end(), mtx::pushrules::actions::Action{ -- cgit 1.5.1 From fa0c14b84681b94ff2136d6b7480c8b7283ad96a Mon Sep 17 00:00:00 2001 From: Loren Burkholder <55629213+LorenDB@users.noreply.github.com> Date: Sat, 10 Dec 2022 10:17:15 -0500 Subject: confetti (#1243) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🎉 (confetti) message support. Thanks @LorenDB ! --- CMakeLists.txt | 4 +- io.github.NhekoReborn.Nheko.yaml | 2 +- resources/confettiparticle.png | Bin 0 -> 4732 bytes resources/confettiparticle.svg | 49 +++++++++++++++++++++ resources/qml/MessageView.qml | 1 - resources/qml/TimelineView.qml | 64 ++++++++++++++++++++++++++++ resources/qml/delegates/MessageDelegate.qml | 14 ++++++ resources/res.qrc | 1 + src/CommandCompleter.cpp | 12 ++++++ src/CommandCompleter.h | 2 + src/UserSettingsPage.cpp | 30 +++++++++++++ src/UserSettingsPage.h | 7 +++ src/timeline/InputBar.cpp | 25 +++++++++++ src/timeline/InputBar.h | 1 + src/timeline/TimelineModel.cpp | 37 +++++++++++++++- src/timeline/TimelineModel.h | 8 ++++ 16 files changed, 251 insertions(+), 6 deletions(-) create mode 100644 resources/confettiparticle.png create mode 100644 resources/confettiparticle.svg (limited to 'src/timeline/TimelineModel.cpp') diff --git a/CMakeLists.txt b/CMakeLists.txt index 60f16d9a..d7219318 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -594,8 +594,8 @@ if(USE_BUNDLED_MTXCLIENT) include(FetchContent) FetchContent_Declare( MatrixClient - GIT_REPOSITORY https://github.com/Nheko-Reborn/mtxclient.git - GIT_TAG 7155cbb8ed3289f2cc7269da7607b0dd012f471b + GIT_REPOSITORY https://github.com/Nheko-Reborn/mtxclient.git + GIT_TAG 13285437739413587a22272865d1e684e1959579 ) set(BUILD_LIB_EXAMPLES OFF CACHE INTERNAL "") set(BUILD_LIB_TESTS OFF CACHE INTERNAL "") diff --git a/io.github.NhekoReborn.Nheko.yaml b/io.github.NhekoReborn.Nheko.yaml index f41f71b4..c82513e4 100644 --- a/io.github.NhekoReborn.Nheko.yaml +++ b/io.github.NhekoReborn.Nheko.yaml @@ -182,7 +182,7 @@ modules: buildsystem: cmake-ninja name: mtxclient sources: - - commit: 7155cbb8ed3289f2cc7269da7607b0dd012f471b + - commit: 13285437739413587a22272865d1e684e1959579 #tag: v0.8.2 type: git url: https://github.com/Nheko-Reborn/mtxclient.git diff --git a/resources/confettiparticle.png b/resources/confettiparticle.png new file mode 100644 index 00000000..808429d8 Binary files /dev/null and b/resources/confettiparticle.png differ diff --git a/resources/confettiparticle.svg b/resources/confettiparticle.svg new file mode 100644 index 00000000..80b85629 --- /dev/null +++ b/resources/confettiparticle.svg @@ -0,0 +1,49 @@ + + + + + + + diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index 8e6ad8d2..e3e02ee9 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -59,7 +59,6 @@ Item { onCountChanged: { // Mark timeline as read if (atYEnd && room) model.currentIndex = 0; - } ScrollBar.vertical: scrollbar diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index ab1bbc28..dff23700 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -13,6 +13,7 @@ import Qt.labs.platform 1.1 as Platform import QtQuick 2.15 import QtQuick.Controls 2.5 import QtQuick.Layouts 1.3 +import QtQuick.Particles 2.15 import QtQuick.Window 2.13 import im.nheko 1.0 import im.nheko.EmojiModel 1.0 @@ -25,6 +26,8 @@ Item { property bool showBackButton: false clip: true + onRoomChanged: if (room != null) room.triggerSpecialEffects() + Shortcut { sequence: StandardKey.Close onActivated: Rooms.resetCurrentRoom() @@ -298,6 +301,58 @@ Item { onClicked: Rooms.resetCurrentRoom() } + ParticleSystem { id: confettiParticleSystem } + + Emitter { + id: confettiEmitter + + width: parent.width * 3/4 + enabled: false + anchors.horizontalCenter: parent.horizontalCenter + y: parent.height + emitRate: Math.min(400 * Math.sqrt(parent.width * parent.height) / 870, 1000) + lifeSpan: 15000 + system: confettiParticleSystem + velocityFromMovement: 8 + size: 16 + sizeVariation: 4 + velocity: PointDirection { + x: 0 + y: -Math.min(450 * parent.height / 700, 1000) + xVariation: Math.min(4 * parent.width / 7, 450) + yVariation: 250 + } + + ImageParticle { + system: confettiParticleSystem + source: "qrc:/confettiparticle.svg" + rotationVelocity: 0 + rotationVelocityVariation: 360 + colorVariation: 1 + color: "white" + entryEffect: ImageParticle.None + xVector: PointDirection { + x: 1 + y: 0 + xVariation: 0.2 + yVariation: 0.2 + } + yVector: PointDirection { + x: 0 + y: 0.5 + xVariation: 0.2 + yVariation: 0.2 + } + } + } + + Gravity { + system: confettiParticleSystem + anchors.fill: parent + magnitude: 350 + angle: 90 + } + NhekoDropArea { anchors.fill: parent roomid: room ? room.roomId : "" @@ -321,6 +376,15 @@ Item { timelineRoot.destroyOnClose(dialog); } + function onConfetti() + { + if (!Settings.fancyEffects) + return + + confettiEmitter.pulse(parent.height * 2) + room.markSpecialEffectsDone() + } + target: room } diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml index a2a44cb2..3725be05 100644 --- a/resources/qml/delegates/MessageDelegate.qml +++ b/resources/qml/delegates/MessageDelegate.qml @@ -75,6 +75,20 @@ Item { } + DelegateChoice { + roleValue: MtxEvent.ConfettiMessage + + TextMessage { + formatted: d.formattedBody + body: d.body + isOnlyEmoji: d.isOnlyEmoji + isReply: d.isReply + keepFullText: d.keepFullText + metadataWidth: d.metadataWidth + } + + } + DelegateChoice { roleValue: MtxEvent.NoticeMessage diff --git a/resources/res.qrc b/resources/res.qrc index 595dd5a7..e9320a1b 100644 --- a/resources/res.qrc +++ b/resources/res.qrc @@ -193,6 +193,7 @@ qml/voip/PlaceCall.qml qml/voip/ScreenShare.qml qml/voip/VideoCall.qml + confettiparticle.svg media/ring.ogg diff --git a/src/CommandCompleter.cpp b/src/CommandCompleter.cpp index 96dfeace..307defa4 100644 --- a/src/CommandCompleter.cpp +++ b/src/CommandCompleter.cpp @@ -82,6 +82,10 @@ CommandCompleter::data(const QModelIndex &index, int role) const return QString("/notice "); case RainbowNotice: return QString("/rainbownotice "); + case Confetti: + return QString("/confetti "); + case RainbowConfetti: + return QString("/rainbowconfetti "); case Goto: return QString("/goto "); case ConvertToDm: @@ -145,6 +149,10 @@ CommandCompleter::data(const QModelIndex &index, int role) const return tr("/notice [message]"); case RainbowNotice: return tr("/rainbownotice [message]"); + case Confetti: + return tr("/confetti [message]"); + case RainbowConfetti: + return tr("/rainbowconfetti [message]"); case Goto: return tr("/goto ($eventid|message index|matrix:r/room/e/event)"); case ConvertToDm: @@ -207,6 +215,10 @@ CommandCompleter::data(const QModelIndex &index, int role) const return tr("Send a bot message."); case RainbowNotice: return tr("Send a bot message in rainbow colors."); + case Confetti: + return tr("Send a message with confetti."); + case RainbowConfetti: + return tr("Send a message in rainbow colors with confetti."); case Goto: return tr("Go to this event or link."); case ConvertToDm: diff --git a/src/CommandCompleter.h b/src/CommandCompleter.h index 360bff73..08272a19 100644 --- a/src/CommandCompleter.h +++ b/src/CommandCompleter.h @@ -44,6 +44,8 @@ public: RainbowMe, Notice, RainbowNotice, + Confetti, + RainbowConfetti, Goto, ConvertToDm, ConvertToRoom, diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 7082d4e2..145b3b8f 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -92,6 +92,7 @@ UserSettings::load(std::optional profile) decryptNotifications_ = settings.value(QStringLiteral("user/decrypt_notifications"), true).toBool(); spaceNotifications_ = settings.value(QStringLiteral("user/space_notifications"), true).toBool(); + fancyEffects_ = settings.value(QStringLiteral("user/fancy_effects"), true).toBool(); privacyScreen_ = settings.value(QStringLiteral("user/privacy_screen"), false).toBool(); privacyScreenTimeout_ = settings.value(QStringLiteral("user/privacy_screen_timeout"), 0).toInt(); @@ -459,6 +460,16 @@ UserSettings::setSpaceNotifications(bool state) save(); } +void +UserSettings::setFancyEffects(bool state) +{ + if (state == fancyEffects_) + return; + fancyEffects_ = state; + emit fancyEffectsChanged(state); + save(); +} + void UserSettings::setPrivacyScreen(bool state) { @@ -822,6 +833,7 @@ UserSettings::save() settings.setValue(QStringLiteral("decrypt_sidebar"), decryptSidebar_); settings.setValue(QStringLiteral("decrypt_notificatons"), decryptNotifications_); settings.setValue(QStringLiteral("space_notifications"), spaceNotifications_); + settings.setValue(QStringLiteral("fancy_effects"), fancyEffects_); settings.setValue(QStringLiteral("privacy_screen"), privacyScreen_); settings.setValue(QStringLiteral("privacy_screen_timeout"), privacyScreenTimeout_); settings.setValue(QStringLiteral("mobile_mode"), mobileMode_); @@ -976,6 +988,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const return tr("Decrypt notifications"); case SpaceNotifications: return tr("Show message counts for communities and tags"); + case FancyEffects: + return tr("Display fancy effects such as confetti"); case PrivacyScreen: return tr("Privacy Screen"); case PrivacyScreenTimeout: @@ -1112,6 +1126,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const return i->decryptNotifications(); case SpaceNotifications: return i->spaceNotifications(); + case FancyEffects: + return i->fancyEffects(); case PrivacyScreen: return i->privacyScreen(); case PrivacyScreenTimeout: @@ -1276,6 +1292,9 @@ UserSettingsModel::data(const QModelIndex &index, int role) const case SpaceNotifications: return tr("Choose where to show the total number of notifications contained within a " "community or tag."); + case FancyEffects: + return tr("Some messages can be sent with fancy effects. For example, messages sent " + "with '/confetti' will show confetti on screen."); case PrivacyScreen: return tr("When the window loses focus, the timeline will\nbe blurred."); case MobileMode: @@ -1388,6 +1407,7 @@ UserSettingsModel::data(const QModelIndex &index, int role) const case UseOnlineKeyBackup: case ExposeDBusApi: case SpaceNotifications: + case FancyEffects: return Toggle; case Profile: case UserId: @@ -1716,6 +1736,13 @@ UserSettingsModel::setData(const QModelIndex &index, const QVariant &value, int } else return false; } + case FancyEffects: { + if (value.userType() == QMetaType::Bool) { + i->setFancyEffects(value.toBool()); + return true; + } else + return false; + } case PrivacyScreen: { if (value.userType() == QMetaType::Bool) { i->setPrivacyScreen(value.toBool()); @@ -2037,6 +2064,9 @@ UserSettingsModel::UserSettingsModel(QObject *p) connect(s.get(), &UserSettings::spaceNotificationsChanged, this, [this]() { emit dataChanged(index(SpaceNotifications), index(SpaceNotifications), {Value}); }); + connect(s.get(), &UserSettings::fancyEffectsChanged, this, [this]() { + emit dataChanged(index(FancyEffects), index(FancyEffects), {Value}); + }); connect(s.get(), &UserSettings::trayChanged, this, [this]() { emit dataChanged(index(Tray), index(Tray), {Value}); emit dataChanged(index(StartInTray), index(StartInTray), {Enabled}); diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h index 3bd0f833..4d805bb7 100644 --- a/src/UserSettingsPage.h +++ b/src/UserSettingsPage.h @@ -64,6 +64,7 @@ class UserSettings final : public QObject NOTIFY decryptNotificationsChanged) Q_PROPERTY(bool spaceNotifications READ spaceNotifications WRITE setSpaceNotifications NOTIFY spaceNotificationsChanged) + Q_PROPERTY(bool fancyEffects READ fancyEffects WRITE setFancyEffects NOTIFY fancyEffectsChanged) Q_PROPERTY( bool privacyScreen READ privacyScreen WRITE setPrivacyScreen NOTIFY privacyScreenChanged) Q_PROPERTY(int privacyScreenTimeout READ privacyScreenTimeout WRITE setPrivacyScreenTimeout @@ -171,6 +172,7 @@ public: void setDecryptSidebar(bool state); void setDecryptNotifications(bool state); void setSpaceNotifications(bool state); + void setFancyEffects(bool state); void setPrivacyScreen(bool state); void setPrivacyScreenTimeout(int state); void setPresence(Presence state); @@ -214,6 +216,7 @@ public: bool decryptSidebar() const { return decryptSidebar_; } bool decryptNotifications() const { return decryptNotifications_; } bool spaceNotifications() const { return spaceNotifications_; } + bool fancyEffects() const { return fancyEffects_; } bool privacyScreen() const { return privacyScreen_; } int privacyScreenTimeout() const { return privacyScreenTimeout_; } bool markdown() const { return markdown_; } @@ -295,6 +298,7 @@ signals: void decryptSidebarChanged(bool state); void decryptNotificationsChanged(bool state); void spaceNotificationsChanged(bool state); + void fancyEffectsChanged(bool state); void privacyScreenChanged(bool state); void privacyScreenTimeoutChanged(int state); void timelineMaxWidthChanged(int state); @@ -360,6 +364,7 @@ private: bool decryptSidebar_; bool decryptNotifications_; bool spaceNotifications_; + bool fancyEffects_; bool privacyScreen_; int privacyScreenTimeout_; bool shareKeysWithTrustedUsers_; @@ -442,6 +447,8 @@ class UserSettingsModel final : public QAbstractListModel InvertEnterKey, Bubbles, SmallAvatars, + FancyEffects, + SidebarSection, GroupView, SortByImportance, diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index a9afb01c..94955152 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -534,6 +534,27 @@ InputBar::notice(const QString &msg, bool rainbowify) room->sendMessageEvent(notice, mtx::events::EventType::RoomMessage); } +void +InputBar::confetti(const QString &body, bool rainbowify) +{ + auto html = utils::markdownToHtml(body, rainbowify); + + mtx::events::msg::Confetti confetti; + confetti.body = body.trimmed().toStdString(); + + if (html != body.trimmed().toHtmlEscaped() && + ChatPage::instance()->userSettings()->markdown()) { + confetti.formatted_body = html.toStdString(); + confetti.format = "org.matrix.custom.html"; + // Remove markdown links by completer + confetti.body = replaceMatrixToMarkdownLink(body.trimmed()).toStdString(); + } + + confetti.relations = generateRelations(); + + room->sendMessageEvent(confetti, mtx::events::EventType::RoomMessage); +} + void InputBar::image(const QString &filename, const std::optional &file, @@ -777,6 +798,10 @@ InputBar::command(const QString &command, QString args) notice(args, false); } else if (command == QLatin1String("rainbownotice")) { notice(args, true); + } else if (command == QLatin1String("confetti")) { + confetti(args, false); + } else if (command == QLatin1String("rainbowconfetti")) { + confetti(args, true); } else if (command == QLatin1String("goto")) { // Goto has three different modes: // 1 - Going directly to a given event ID diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index eced7cb8..125591d4 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -230,6 +230,7 @@ signals: private: void emote(const QString &body, bool rainbowify); void notice(const QString &body, bool rainbowify); + void confetti(const QString &body, bool rainbowify); void command(const QString &name, QString args); void image(const QString &filename, const std::optional &file, diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index f61214fd..fe8a78ef 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -53,6 +53,10 @@ struct RoomEventType { return qml_mtx_events::EventType::AudioMessage; } + qml_mtx_events::EventType operator()(const mtx::events::Event &) + { + return qml_mtx_events::EventType::ConfettiMessage; + } qml_mtx_events::EventType operator()(const mtx::events::Event &) { return qml_mtx_events::EventType::EmoteMessage; @@ -346,6 +350,7 @@ qml_mtx_events::fromRoomEventType(qml_mtx_events::EventType t) return mtx::events::EventType::SpaceChild; /// m.room.message case qml_mtx_events::AudioMessage: + case qml_mtx_events::ConfettiMessage: case qml_mtx_events::EmoteMessage: case qml_mtx_events::FileMessage: case qml_mtx_events::ImageMessage: @@ -1025,9 +1030,18 @@ TimelineModel::addEvents(const mtx::responses::Timeline &timeline) } else if (std::holds_alternative>(e)) { this->parentChecked = false; emit parentSpaceChanged(); - } + } else if (std::holds_alternative>(e)) { + if (auto msg = QString::fromStdString( + std::get>(e).content.body); + msg.contains("🎉") || msg.contains("🎊")) + needsSpecialEffects_ = true; + } else if (std::holds_alternative>(e)) + needsSpecialEffects_ = true; } + if (needsSpecialEffects_) + emit confetti(); + updateLastMessage(); } @@ -1957,6 +1971,22 @@ TimelineModel::copyLinkToEvent(const QString &eventId) const QGuiApplication::clipboard()->setText(link); } +void +TimelineModel::triggerSpecialEffects() +{ + if (needsSpecialEffects_) { + // Note (Loren): Without the timer, this apparently emits before QML is ready + QTimer::singleShot(1, this, [this] { emit confetti(); }); + needsSpecialEffects_ = false; + } +} + +void +TimelineModel::markSpecialEffectsDone() +{ + needsSpecialEffects_ = false; +} + QString TimelineModel::formatTypingUsers(const std::vector &users, const QColor &bg) { @@ -2790,7 +2820,8 @@ TimelineModel::setEdit(const QString &newEdit) auto msgType = mtx::accessors::msg_type(e); if (msgType == mtx::events::MessageType::Text || msgType == mtx::events::MessageType::Notice || - msgType == mtx::events::MessageType::Emote) { + msgType == mtx::events::MessageType::Emote || + msgType == mtx::events::MessageType::Confetti) { auto relInfo = relatedInfo(newEdit); auto editText = relInfo.quoted_body; @@ -2811,6 +2842,8 @@ TimelineModel::setEdit(const QString &newEdit) if (msgType == mtx::events::MessageType::Emote) input()->setText("/me " + editText); + else if (msgType == mtx::events::MessageType::Confetti) + input()->setText("/confetti" + editText); else input()->setText(editText); } else { diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 9daeeb3a..2352be1f 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -100,6 +100,7 @@ enum EventType Widget, /// m.room.message AudioMessage, + ConfettiMessage, EmoteMessage, FileMessage, ImageMessage, @@ -419,6 +420,9 @@ public slots: QString scrollTarget() const; + void triggerSpecialEffects(); + void markSpecialEffectsDone(); + private slots: void addPendingMessage(mtx::events::collections::TimelineEvents event); void scrollTimerEvent(); @@ -438,6 +442,7 @@ signals: void paginationInProgressChanged(const bool); void newCallEvent(const mtx::events::collections::TimelineEvents &event); void scrollToIndex(int index); + void confetti(); void lastMessageChanged(); void notificationsChanged(); @@ -509,6 +514,9 @@ private: std::string last_event_id; std::string fullyReadEventId_; + // TODO (Loren): This should hopefully handle more than just confetti in the future + bool needsSpecialEffects_ = false; + std::unique_ptr parentSummary = nullptr; bool parentChecked = false; }; -- cgit 1.5.1 From 952827d629bbb7571f290dad63ae5dad69646472 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 13 Dec 2022 05:08:05 +0100 Subject: Add a button to room the upgraded room in the timeline --- resources/qml/delegates/MessageDelegate.qml | 28 ++++++++++++++++++++++++++++ src/timeline/TimelineModel.cpp | 27 ++++++++++++++++++++++++++- src/timeline/TimelineModel.h | 1 + 3 files changed, 55 insertions(+), 1 deletion(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml index 3725be05..c2d49e91 100644 --- a/resources/qml/delegates/MessageDelegate.qml +++ b/resources/qml/delegates/MessageDelegate.qml @@ -61,6 +61,33 @@ Item { } + DelegateChoice { + roleValue: MtxEvent.Tombstone + + + ColumnLayout { + width: parent.width + + NoticeMessage { + body: formatted + isOnlyEmoji: false + isReply: d.isReply + keepFullText: d.keepFullText + isStateEvent: d.isStateEvent + Layout.fillWidth: true + formatted: qsTr("This room was replaced for the following reason: %1").arg(d.body) + } + + Button { + palette: Nheko.colors + Layout.alignment: Qt.AlignHCenter + text: qsTr("Go to replacement room") + onClicked: room.joinReplacementRoom(eventId) + } + + } + } + DelegateChoice { roleValue: MtxEvent.TextMessage @@ -579,6 +606,7 @@ Item { Button { visible: d.relatedEventCacheBuster, room.showAcceptKnockButton(d.eventId) palette: Nheko.colors + Layout.alignment: Qt.AlignHCenter text: qsTr("Allow them in") onClicked: room.acceptKnock(eventId) } diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index fe8a78ef..62dbdae6 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -1489,7 +1489,6 @@ TimelineModel::sendEncryptedMessage(mtx::events::RoomEvent msg, mtx::events:: const auto room_id = room_id_.toStdString(); using namespace mtx::events; - using namespace mtx::identifiers; nlohmann::json doc = {{"type", mtx::events::to_string(eventType)}, {"content", nlohmann::json(msg.content)}, @@ -2658,6 +2657,32 @@ TimelineModel::showAcceptKnockButton(const QString &id) return event->content.membership == Membership::Knock; } +void +TimelineModel::joinReplacementRoom(const QString &id) +{ + mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); + if (!e) + return; + + auto event = std::get_if>(e); + if (!event) + return; + + auto joined_rooms = cache::joinedRooms(); + for (const auto &roomid : joined_rooms) { + if (roomid == event->content.replacement_room) { + manager_->rooms()->setCurrentRoom( + QString::fromStdString(event->content.replacement_room)); + return; + } + } + + ChatPage::instance()->joinRoomVia( + event->content.replacement_room, + {mtx::identifiers::parse(event->sender).hostname()}, + true); +} + QString TimelineModel::formatMemberEvent(const QString &id) { diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 2352be1f..01d80797 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -287,6 +287,7 @@ public: Q_INVOKABLE QString formatTypingUsers(const std::vector &users, const QColor &bg); Q_INVOKABLE bool showAcceptKnockButton(const QString &id); Q_INVOKABLE void acceptKnock(const QString &id); + Q_INVOKABLE void joinReplacementRoom(const QString &id); Q_INVOKABLE QString formatMemberEvent(const QString &id); Q_INVOKABLE QString formatJoinRuleEvent(const QString &id); Q_INVOKABLE QString formatHistoryVisibilityEvent(const QString &id); -- cgit 1.5.1 From 01915360b4edc4e4c82d2f79457859c649b7b1d2 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 27 Dec 2022 16:15:49 +0100 Subject: Fix state reset command --- src/Cache.cpp | 8 +++++++- src/Cache_p.h | 4 +++- src/timeline/TimelineModel.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/Cache.cpp b/src/Cache.cpp index 5d87f9f2..41b84e11 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -1669,7 +1669,7 @@ Cache::calculateRoomReadStatus(const std::string &room_id) } void -Cache::updateState(const std::string &room, const mtx::responses::StateEvents &state) +Cache::updateState(const std::string &room, const mtx::responses::StateEvents &state, bool wipe) { auto txn = lmdb::txn::begin(env_); auto statesdb = getStatesDb(txn, room); @@ -1677,6 +1677,12 @@ Cache::updateState(const std::string &room, const mtx::responses::StateEvents &s auto membersdb = getMembersDb(txn, room); auto eventsDb = getEventsDb(txn, room); + if (wipe) { + membersdb.drop(txn); + statesdb.drop(txn); + stateskeydb.drop(txn); + } + saveStateEvents(txn, statesdb, stateskeydb, membersdb, eventsDb, room, state.events); RoomInfo updatedInfo; diff --git a/src/Cache_p.h b/src/Cache_p.h index 6712e48e..40ce6e5c 100644 --- a/src/Cache_p.h +++ b/src/Cache_p.h @@ -118,7 +118,9 @@ public: std::size_t len = 30); size_t memberCount(const std::string &room_id); - void updateState(const std::string &room, const mtx::responses::StateEvents &state); + void updateState(const std::string &room, + const mtx::responses::StateEvents &state, + bool wipe = false); void saveState(const mtx::responses::Sync &res); bool isInitialized(); bool isDatabaseReady() { return databaseReady_ && isInitialized(); } diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 62dbdae6..46f8e57c 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -496,7 +496,7 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj showEventTimer.callOnTimeout(this, &TimelineModel::scrollTimerEvent); connect(this, &TimelineModel::newState, this, [this](mtx::responses::StateEvents events_) { - cache::client()->updateState(room_id_.toStdString(), events_); + cache::client()->updateState(room_id_.toStdString(), events_, true); this->syncState({std::move(events_.events)}); }); } -- cgit 1.5.1 From 114fa0868a6fc4ed2762bccde5181d8be5559e4f Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Wed, 28 Dec 2022 21:43:43 +0100 Subject: Skip notifying for your own messages --- src/ChatPage.cpp | 19 ++++++++++++------- src/timeline/TimelineModel.cpp | 5 +++++ 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index bcb89a03..27019ba3 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -266,6 +266,18 @@ ChatPage::ChatPage(QSharedPointer userSettings, QObject *parent) relatedEvents; for (const auto &event : room.timeline.events) { + auto event_id = mtx::accessors::event_id(event); + + // skip already read events + if (currentReadMarker && + currentReadMarker > cache::getEventIndex(room_id, event_id)) + continue; + + // skip our messages + auto sender = mtx::accessors::sender(event); + if (sender == http::client()->user_id().to_string()) + continue; + mtx::events::collections::TimelineEvent te{event}; std::visit([room_id = room_id](auto &event_) { event_.room_id = room_id; }, te.data); @@ -304,13 +316,6 @@ ChatPage::ChatPage(QSharedPointer userSettings, QObject *parent) actions.end(), mtx::pushrules::actions::Action{ mtx::pushrules::actions::notify{}}) != actions.end()) { - auto event_id = mtx::accessors::event_id(event); - - // skip already read events - if (currentReadMarker && - currentReadMarker > cache::getEventIndex(room_id, event_id)) - continue; - if (!cache::isNotificationSent(event_id)) { // We should only send one notification per event. cache::markSentNotification(event_id); diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 46f8e57c..b9725ecc 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -747,6 +747,11 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r case Notificationlevel: { const auto &push = ChatPage::instance()->pushruleEvaluator(); if (push) { + // skip our messages + auto sender = mtx::accessors::sender(event); + if (sender == http::client()->user_id().to_string()) + return qml_mtx_events::NotificationLevel::Nothing; + const auto &id = event_id(event); std::vector> relatedEvents; -- cgit 1.5.1 From 5f315d8a3cadd8f94b3701e1174b735f09b8c0b7 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 2 Jan 2023 04:21:26 +0100 Subject: Fix pagination after timeline clear --- src/timeline/TimelineModel.cpp | 3 +++ src/timeline/TimelineModel.h | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index b9725ecc..f3d92e31 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -975,6 +975,9 @@ TimelineModel::addEvents(const mtx::responses::Timeline &timeline) if (timeline.events.empty()) return; + if (timeline.limited) + setPaginationInProgress(false); + events.handleSync(timeline); using namespace mtx::events; diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 01d80797..59ad1b37 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -398,7 +398,11 @@ public slots: void setThread(const QString &newThread); void resetThread(); void setDecryptDescription(bool decrypt) { decryptDescription = decrypt; } - void clearTimeline() { events.clearTimeline(); } + void clearTimeline() + { + events.clearTimeline(); + setPaginationInProgress(false); + } void resetState(); void receivedSessionKey(const std::string &session_key) { -- cgit 1.5.1 From 3a6a905429309ba37a611a364ad40987133f93a2 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 2 Jan 2023 04:25:33 +0100 Subject: A whole new year full of excitement and possibilities! --- resources/qml/Avatar.qml | 1 + resources/qml/ChatPage.qml | 1 + resources/qml/CommunitiesList.qml | 1 + resources/qml/Completer.qml | 1 + resources/qml/ElidedLabel.qml | 1 + resources/qml/EncryptionIndicator.qml | 1 + resources/qml/ForwardCompleter.qml | 1 + resources/qml/ImageButton.qml | 1 + resources/qml/MatrixText.qml | 1 + resources/qml/MatrixTextField.qml | 1 + resources/qml/MessageInput.qml | 1 + resources/qml/MessageView.qml | 1 + resources/qml/NhekoBusyIndicator.qml | 1 + resources/qml/NotificationWarning.qml | 1 + resources/qml/PrivacyScreen.qml | 1 + resources/qml/QuickSwitcher.qml | 1 + resources/qml/Reactions.qml | 1 + resources/qml/ReplyPopup.qml | 1 + resources/qml/RoomList.qml | 1 + resources/qml/Root.qml | 1 + resources/qml/ScrollHelper.qml | 1 + resources/qml/SelfVerificationCheck.qml | 1 + resources/qml/StatusIndicator.qml | 1 + resources/qml/TimelineRow.qml | 1 + resources/qml/TimelineView.qml | 1 + resources/qml/ToggleButton.qml | 1 + resources/qml/TopBar.qml | 1 + resources/qml/TypingIndicator.qml | 1 + resources/qml/UploadBox.qml | 1 + resources/qml/components/AdaptiveLayout.qml | 1 + resources/qml/components/AdaptiveLayoutElement.qml | 1 + resources/qml/components/AvatarListTile.qml | 1 + resources/qml/components/FlatButton.qml | 1 + resources/qml/components/MainWindowDialog.qml | 1 + resources/qml/components/NotificationBubble.qml | 1 + resources/qml/components/ReorderableListview.qml | 1 + resources/qml/components/SpaceMenuLevel.qml | 1 + resources/qml/components/TextButton.qml | 1 + resources/qml/delegates/Encrypted.qml | 1 + resources/qml/delegates/FileMessage.qml | 1 + resources/qml/delegates/ImageMessage.qml | 1 + resources/qml/delegates/MessageDelegate.qml | 1 + resources/qml/delegates/NoticeMessage.qml | 1 + resources/qml/delegates/Pill.qml | 1 + resources/qml/delegates/Placeholder.qml | 1 + resources/qml/delegates/PlayableMediaMessage.qml | 1 + resources/qml/delegates/Redacted.qml | 1 + resources/qml/delegates/Reply.qml | 1 + resources/qml/delegates/TextMessage.qml | 1 + resources/qml/device-verification/DeviceVerification.qml | 1 + resources/qml/device-verification/DigitVerification.qml | 1 + resources/qml/device-verification/EmojiElement.qml | 1 + resources/qml/device-verification/EmojiVerification.qml | 1 + resources/qml/device-verification/Failed.qml | 1 + resources/qml/device-verification/NewVerificationRequest.qml | 1 + resources/qml/device-verification/Success.qml | 1 + resources/qml/device-verification/Waiting.qml | 1 + resources/qml/dialogs/AliasEditor.qml | 1 + resources/qml/dialogs/AllowedRoomsSettingsDialog.qml | 1 + resources/qml/dialogs/ConfirmJoinRoomDialog.qml | 1 + resources/qml/dialogs/CreateDirect.qml | 1 + resources/qml/dialogs/CreateRoom.qml | 1 + resources/qml/dialogs/HiddenEventsDialog.qml | 1 + resources/qml/dialogs/ImageOverlay.qml | 1 + resources/qml/dialogs/ImagePackEditorDialog.qml | 1 + resources/qml/dialogs/ImagePackSettingsDialog.qml | 1 + resources/qml/dialogs/InputDialog.qml | 1 + resources/qml/dialogs/InviteDialog.qml | 1 + resources/qml/dialogs/JoinRoomDialog.qml | 1 + resources/qml/dialogs/LeaveRoomDialog.qml | 1 + resources/qml/dialogs/LogoutDialog.qml | 1 + resources/qml/dialogs/PhoneNumberInputDialog.qml | 1 + resources/qml/dialogs/PowerLevelEditor.qml | 1 + resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml | 1 + resources/qml/dialogs/RawMessageDialog.qml | 1 + resources/qml/dialogs/ReadReceipts.qml | 1 + resources/qml/dialogs/RoomDirectory.qml | 1 + resources/qml/dialogs/RoomMembers.qml | 1 + resources/qml/dialogs/RoomSettings.qml | 1 + resources/qml/dialogs/UserProfile.qml | 1 + resources/qml/emoji/EmojiPicker.qml | 1 + resources/qml/emoji/StickerPicker.qml | 1 + resources/qml/pages/LoginPage.qml | 1 + resources/qml/pages/RegisterPage.qml | 1 + resources/qml/pages/UserSettingsPage.qml | 1 + resources/qml/pages/WelcomePage.qml | 1 + resources/qml/ui/NhekoSlider.qml | 1 + resources/qml/ui/Ripple.qml | 1 + resources/qml/ui/Snackbar.qml | 1 + resources/qml/ui/Spinner.qml | 1 + resources/qml/ui/animations/BlinkAnimation.qml | 1 + resources/qml/ui/media/MediaControls.qml | 1 + resources/qml/voip/ActiveCallBar.qml | 1 + resources/qml/voip/CallDevices.qml | 1 + resources/qml/voip/CallInvite.qml | 1 + resources/qml/voip/CallInviteBar.qml | 1 + resources/qml/voip/DeviceError.qml | 1 + resources/qml/voip/PlaceCall.qml | 1 + resources/qml/voip/ScreenShare.qml | 1 + resources/qml/voip/VideoCall.qml | 1 + src/AliasEditModel.cpp | 1 + src/AliasEditModel.h | 1 + src/AvatarProvider.cpp | 1 + src/AvatarProvider.h | 1 + src/BlurhashProvider.cpp | 1 + src/BlurhashProvider.h | 1 + src/Cache.cpp | 1 + src/Cache.h | 1 + src/CacheCryptoStructs.h | 1 + src/CacheStructs.h | 1 + src/Cache_p.h | 1 + src/ChatPage.cpp | 1 + src/ChatPage.h | 1 + src/Clipboard.cpp | 1 + src/Clipboard.h | 1 + src/ColorImageProvider.cpp | 1 + src/ColorImageProvider.h | 1 + src/CombinedImagePackModel.cpp | 1 + src/CombinedImagePackModel.h | 1 + src/CommandCompleter.cpp | 1 + src/CommandCompleter.h | 1 + src/CompletionModelRoles.h | 1 + src/CompletionProxyModel.cpp | 1 + src/CompletionProxyModel.h | 1 + src/Config.h | 1 + src/EventAccessors.cpp | 1 + src/EventAccessors.h | 1 + src/ImagePackListModel.cpp | 1 + src/ImagePackListModel.h | 1 + src/InviteesModel.cpp | 1 + src/InviteesModel.h | 1 + src/JdenticonProvider.cpp | 1 + src/JdenticonProvider.h | 1 + src/Logging.cpp | 1 + src/Logging.h | 1 + src/LoginPage.cpp | 1 + src/LoginPage.h | 1 + src/MainWindow.cpp | 1 + src/MainWindow.h | 1 + src/MatrixClient.cpp | 1 + src/MatrixClient.h | 1 + src/MemberList.cpp | 1 + src/MemberList.h | 1 + src/MxcImageProvider.cpp | 1 + src/MxcImageProvider.h | 1 + src/PowerlevelsEditModels.cpp | 1 + src/PowerlevelsEditModels.h | 1 + src/ReadReceiptsModel.cpp | 1 + src/ReadReceiptsModel.h | 1 + src/RegisterPage.cpp | 1 + src/RegisterPage.h | 1 + src/RoomDirectoryModel.cpp | 1 + src/RoomDirectoryModel.h | 1 + src/RoomsModel.cpp | 1 + src/RoomsModel.h | 1 + src/SSOHandler.cpp | 1 + src/SSOHandler.h | 1 + src/SingleImagePackModel.cpp | 1 + src/SingleImagePackModel.h | 1 + src/TrayIcon.cpp | 1 + src/TrayIcon.h | 1 + src/UserSettingsPage.cpp | 1 + src/UserSettingsPage.h | 1 + src/UsersModel.cpp | 1 + src/UsersModel.h | 1 + src/Utils.cpp | 1 + src/Utils.h | 1 + src/dbus/NhekoDBusApi.cpp | 1 + src/dbus/NhekoDBusApi.h | 1 + src/dbus/NhekoDBusBackend.cpp | 1 + src/dbus/NhekoDBusBackend.h | 1 + src/dialogs/FallbackAuth.cpp | 1 + src/dialogs/FallbackAuth.h | 1 + src/dialogs/ReCaptcha.cpp | 1 + src/dialogs/ReCaptcha.h | 1 + src/dock/Dock.cpp | 1 + src/dock/Dock.h | 1 + src/emoji/EmojiModel.cpp | 1 + src/emoji/EmojiModel.h | 1 + src/emoji/MacHelper.h | 1 + src/emoji/Provider.cpp | 1 + src/emoji/Provider.h | 1 + src/encryption/DeviceVerificationFlow.cpp | 1 + src/encryption/DeviceVerificationFlow.h | 1 + src/encryption/Olm.cpp | 1 + src/encryption/Olm.h | 1 + src/encryption/SelfVerificationStatus.cpp | 1 + src/encryption/SelfVerificationStatus.h | 1 + src/encryption/VerificationManager.cpp | 1 + src/encryption/VerificationManager.h | 1 + src/main.cpp | 1 + src/notifications/MacNotificationDelegate.h | 1 + src/notifications/Manager.cpp | 1 + src/notifications/Manager.h | 1 + src/notifications/ManagerLinux.cpp | 1 + src/notifications/ManagerMac.cpp | 1 + src/notifications/ManagerWin.cpp | 1 + src/notifications/NotificationManagerProxy.h | 1 + src/timeline/CommunitiesModel.cpp | 1 + src/timeline/CommunitiesModel.h | 1 + src/timeline/DelegateChooser.cpp | 1 + src/timeline/DelegateChooser.h | 1 + src/timeline/EventStore.cpp | 1 + src/timeline/EventStore.h | 1 + src/timeline/InputBar.cpp | 1 + src/timeline/InputBar.h | 1 + src/timeline/Permissions.cpp | 1 + src/timeline/Permissions.h | 1 + src/timeline/PresenceEmitter.cpp | 1 + src/timeline/PresenceEmitter.h | 1 + src/timeline/Reaction.cpp | 1 + src/timeline/Reaction.h | 1 + src/timeline/RoomlistModel.cpp | 1 + src/timeline/RoomlistModel.h | 1 + src/timeline/TimelineFilter.cpp | 1 + src/timeline/TimelineFilter.h | 1 + src/timeline/TimelineModel.cpp | 1 + src/timeline/TimelineModel.h | 1 + src/timeline/TimelineViewManager.cpp | 1 + src/timeline/TimelineViewManager.h | 1 + src/ui/HiddenEvents.cpp | 1 + src/ui/HiddenEvents.h | 1 + src/ui/MxcAnimatedImage.cpp | 1 + src/ui/MxcAnimatedImage.h | 1 + src/ui/MxcMediaProxy.cpp | 1 + src/ui/MxcMediaProxy.h | 1 + src/ui/NhekoCursorShape.cpp | 1 + src/ui/NhekoCursorShape.h | 1 + src/ui/NhekoDropArea.cpp | 1 + src/ui/NhekoDropArea.h | 1 + src/ui/NhekoEventObserver.cpp | 1 + src/ui/NhekoEventObserver.h | 1 + src/ui/NhekoGlobalObject.cpp | 1 + src/ui/NhekoGlobalObject.h | 1 + src/ui/RoomSettings.cpp | 1 + src/ui/RoomSettings.h | 1 + src/ui/RoomSummary.cpp | 1 + src/ui/RoomSummary.h | 1 + src/ui/Theme.cpp | 1 + src/ui/Theme.h | 1 + src/ui/ThemeManager.cpp | 1 + src/ui/ThemeManager.h | 1 + src/ui/UIA.cpp | 1 + src/ui/UIA.h | 1 + src/ui/UserProfile.cpp | 1 + src/ui/UserProfile.h | 1 + src/voip/CallDevices.cpp | 1 + src/voip/CallDevices.h | 1 + src/voip/CallManager.cpp | 1 + src/voip/CallManager.h | 1 + src/voip/WebRTCSession.cpp | 1 + src/voip/WebRTCSession.h | 1 + 252 files changed, 252 insertions(+) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml index 2da59370..549b8d17 100644 --- a/resources/qml/Avatar.qml +++ b/resources/qml/Avatar.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ChatPage.qml b/resources/qml/ChatPage.qml index cc62d501..3d76616a 100644 --- a/resources/qml/ChatPage.qml +++ b/resources/qml/ChatPage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/CommunitiesList.qml b/resources/qml/CommunitiesList.qml index 853302a5..1722cc85 100644 --- a/resources/qml/CommunitiesList.qml +++ b/resources/qml/CommunitiesList.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml index abf37486..04ff1495 100644 --- a/resources/qml/Completer.qml +++ b/resources/qml/Completer.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ElidedLabel.qml b/resources/qml/ElidedLabel.qml index 11df479a..4c734cc5 100644 --- a/resources/qml/ElidedLabel.qml +++ b/resources/qml/ElidedLabel.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/EncryptionIndicator.qml b/resources/qml/EncryptionIndicator.qml index 04d4bace..a75bd976 100644 --- a/resources/qml/EncryptionIndicator.qml +++ b/resources/qml/EncryptionIndicator.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ForwardCompleter.qml b/resources/qml/ForwardCompleter.qml index 76d77bfd..765c3a34 100644 --- a/resources/qml/ForwardCompleter.qml +++ b/resources/qml/ForwardCompleter.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ImageButton.qml b/resources/qml/ImageButton.qml index 080bea23..6a5c0782 100644 --- a/resources/qml/ImageButton.qml +++ b/resources/qml/ImageButton.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml index 69eb7cdb..9ce61435 100644 --- a/resources/qml/MatrixText.qml +++ b/resources/qml/MatrixText.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/MatrixTextField.qml b/resources/qml/MatrixTextField.qml index e3632b61..5ebc9728 100644 --- a/resources/qml/MatrixTextField.qml +++ b/resources/qml/MatrixTextField.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml index ab6e260f..59b19d4d 100644 --- a/resources/qml/MessageInput.qml +++ b/resources/qml/MessageInput.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index a49c046c..ae8eee56 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/NhekoBusyIndicator.qml b/resources/qml/NhekoBusyIndicator.qml index aafe8900..6f6869f4 100644 --- a/resources/qml/NhekoBusyIndicator.qml +++ b/resources/qml/NhekoBusyIndicator.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/NotificationWarning.qml b/resources/qml/NotificationWarning.qml index 285e5a5c..2d0a0975 100644 --- a/resources/qml/NotificationWarning.qml +++ b/resources/qml/NotificationWarning.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/PrivacyScreen.qml b/resources/qml/PrivacyScreen.qml index f91e4a73..bc128302 100644 --- a/resources/qml/PrivacyScreen.qml +++ b/resources/qml/PrivacyScreen.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/QuickSwitcher.qml b/resources/qml/QuickSwitcher.qml index ac5d3aea..77992e69 100644 --- a/resources/qml/QuickSwitcher.qml +++ b/resources/qml/QuickSwitcher.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/Reactions.qml b/resources/qml/Reactions.qml index aae42cb1..94a8408d 100644 --- a/resources/qml/Reactions.qml +++ b/resources/qml/Reactions.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ReplyPopup.qml b/resources/qml/ReplyPopup.qml index 05464e33..3c4922b2 100644 --- a/resources/qml/ReplyPopup.qml +++ b/resources/qml/ReplyPopup.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml index 97639baa..2cfd71f9 100644 --- a/resources/qml/RoomList.qml +++ b/resources/qml/RoomList.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml index 1f079213..5f7d7229 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ScrollHelper.qml b/resources/qml/ScrollHelper.qml index c87b730e..afbc116f 100644 --- a/resources/qml/ScrollHelper.qml +++ b/resources/qml/ScrollHelper.qml @@ -2,6 +2,7 @@ // Copyright (C) 2017 Christian Mollekopf, // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/SelfVerificationCheck.qml b/resources/qml/SelfVerificationCheck.qml index 336b966d..f6954d3b 100644 --- a/resources/qml/SelfVerificationCheck.qml +++ b/resources/qml/SelfVerificationCheck.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/StatusIndicator.qml b/resources/qml/StatusIndicator.qml index e1ed3b29..2276de11 100644 --- a/resources/qml/StatusIndicator.qml +++ b/resources/qml/StatusIndicator.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml index 4814d84f..2ee9ee77 100644 --- a/resources/qml/TimelineRow.qml +++ b/resources/qml/TimelineRow.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index dcbcc87e..b82cba65 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ToggleButton.qml b/resources/qml/ToggleButton.qml index 98950b8a..b24458c6 100644 --- a/resources/qml/ToggleButton.qml +++ b/resources/qml/ToggleButton.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/TopBar.qml b/resources/qml/TopBar.qml index cce2c89b..4a52d234 100644 --- a/resources/qml/TopBar.qml +++ b/resources/qml/TopBar.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/TypingIndicator.qml b/resources/qml/TypingIndicator.qml index 0b92b2d2..ac995e3c 100644 --- a/resources/qml/TypingIndicator.qml +++ b/resources/qml/TypingIndicator.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/UploadBox.qml b/resources/qml/UploadBox.qml index ccd59f45..2b20c837 100644 --- a/resources/qml/UploadBox.qml +++ b/resources/qml/UploadBox.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/AdaptiveLayout.qml b/resources/qml/components/AdaptiveLayout.qml index 8e3c0e3d..a2148c06 100644 --- a/resources/qml/components/AdaptiveLayout.qml +++ b/resources/qml/components/AdaptiveLayout.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/AdaptiveLayoutElement.qml b/resources/qml/components/AdaptiveLayoutElement.qml index 666a47cc..68793f07 100644 --- a/resources/qml/components/AdaptiveLayoutElement.qml +++ b/resources/qml/components/AdaptiveLayoutElement.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/AvatarListTile.qml b/resources/qml/components/AvatarListTile.qml index 910e0e47..498dc045 100644 --- a/resources/qml/components/AvatarListTile.qml +++ b/resources/qml/components/AvatarListTile.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/FlatButton.qml b/resources/qml/components/FlatButton.qml index 2c9ea061..bcc4697f 100644 --- a/resources/qml/components/FlatButton.qml +++ b/resources/qml/components/FlatButton.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/MainWindowDialog.qml b/resources/qml/components/MainWindowDialog.qml index def4f96b..76c95038 100644 --- a/resources/qml/components/MainWindowDialog.qml +++ b/resources/qml/components/MainWindowDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/NotificationBubble.qml b/resources/qml/components/NotificationBubble.qml index ca0ae6cb..f1315626 100644 --- a/resources/qml/components/NotificationBubble.qml +++ b/resources/qml/components/NotificationBubble.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/ReorderableListview.qml b/resources/qml/components/ReorderableListview.qml index 7e9ae05d..853ea5f6 100644 --- a/resources/qml/components/ReorderableListview.qml +++ b/resources/qml/components/ReorderableListview.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/SpaceMenuLevel.qml b/resources/qml/components/SpaceMenuLevel.qml index f552978d..1641e727 100644 --- a/resources/qml/components/SpaceMenuLevel.qml +++ b/resources/qml/components/SpaceMenuLevel.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/components/TextButton.qml b/resources/qml/components/TextButton.qml index a37f3aee..f34cbb0e 100644 --- a/resources/qml/components/TextButton.qml +++ b/resources/qml/components/TextButton.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/Encrypted.qml b/resources/qml/delegates/Encrypted.qml index ecc771f5..679f7b49 100644 --- a/resources/qml/delegates/Encrypted.qml +++ b/resources/qml/delegates/Encrypted.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml index daae8635..5e496db5 100644 --- a/resources/qml/delegates/FileMessage.qml +++ b/resources/qml/delegates/FileMessage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml index 12e8a465..af69b983 100644 --- a/resources/qml/delegates/ImageMessage.qml +++ b/resources/qml/delegates/ImageMessage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml index c2d49e91..d0569c5a 100644 --- a/resources/qml/delegates/MessageDelegate.qml +++ b/resources/qml/delegates/MessageDelegate.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/NoticeMessage.qml b/resources/qml/delegates/NoticeMessage.qml index 342469db..a1de0465 100644 --- a/resources/qml/delegates/NoticeMessage.qml +++ b/resources/qml/delegates/NoticeMessage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/Pill.qml b/resources/qml/delegates/Pill.qml index 8b67c346..fd24fb51 100644 --- a/resources/qml/delegates/Pill.qml +++ b/resources/qml/delegates/Pill.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/Placeholder.qml b/resources/qml/delegates/Placeholder.qml index f63e62f5..62fb2d9f 100644 --- a/resources/qml/delegates/Placeholder.qml +++ b/resources/qml/delegates/Placeholder.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/PlayableMediaMessage.qml b/resources/qml/delegates/PlayableMediaMessage.qml index 4828843c..c4c143cc 100644 --- a/resources/qml/delegates/PlayableMediaMessage.qml +++ b/resources/qml/delegates/PlayableMediaMessage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/Redacted.qml b/resources/qml/delegates/Redacted.qml index dcdb7248..0b208fb9 100644 --- a/resources/qml/delegates/Redacted.qml +++ b/resources/qml/delegates/Redacted.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/Reply.qml b/resources/qml/delegates/Reply.qml index 8962fa52..4b98b78b 100644 --- a/resources/qml/delegates/Reply.qml +++ b/resources/qml/delegates/Reply.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml index da1c66da..bbb58736 100644 --- a/resources/qml/delegates/TextMessage.qml +++ b/resources/qml/delegates/TextMessage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/DeviceVerification.qml b/resources/qml/device-verification/DeviceVerification.qml index ead293d2..845516e0 100644 --- a/resources/qml/device-verification/DeviceVerification.qml +++ b/resources/qml/device-verification/DeviceVerification.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/DigitVerification.qml b/resources/qml/device-verification/DigitVerification.qml index e1f8f6cf..1e25fa9b 100644 --- a/resources/qml/device-verification/DigitVerification.qml +++ b/resources/qml/device-verification/DigitVerification.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/EmojiElement.qml b/resources/qml/device-verification/EmojiElement.qml index d02ede48..20b23e12 100644 --- a/resources/qml/device-verification/EmojiElement.qml +++ b/resources/qml/device-verification/EmojiElement.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/EmojiVerification.qml b/resources/qml/device-verification/EmojiVerification.qml index 4b88ef7b..1948f19c 100644 --- a/resources/qml/device-verification/EmojiVerification.qml +++ b/resources/qml/device-verification/EmojiVerification.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/Failed.qml b/resources/qml/device-verification/Failed.qml index 77327a75..33d46042 100644 --- a/resources/qml/device-verification/Failed.qml +++ b/resources/qml/device-verification/Failed.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/NewVerificationRequest.qml b/resources/qml/device-verification/NewVerificationRequest.qml index 187c3246..98b3fdf3 100644 --- a/resources/qml/device-verification/NewVerificationRequest.qml +++ b/resources/qml/device-verification/NewVerificationRequest.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/Success.qml b/resources/qml/device-verification/Success.qml index d9365194..1608e36a 100644 --- a/resources/qml/device-verification/Success.qml +++ b/resources/qml/device-verification/Success.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/device-verification/Waiting.qml b/resources/qml/device-verification/Waiting.qml index 3054b9c3..b5b43a9e 100644 --- a/resources/qml/device-verification/Waiting.qml +++ b/resources/qml/device-verification/Waiting.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/AliasEditor.qml b/resources/qml/dialogs/AliasEditor.qml index 0f7ed332..d1437d68 100644 --- a/resources/qml/dialogs/AliasEditor.qml +++ b/resources/qml/dialogs/AliasEditor.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml index 80905039..970d8d0f 100644 --- a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml +++ b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml index a07aadd2..d61a75f7 100644 --- a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml +++ b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/CreateDirect.qml b/resources/qml/dialogs/CreateDirect.qml index 85768cad..69eb38d0 100644 --- a/resources/qml/dialogs/CreateDirect.qml +++ b/resources/qml/dialogs/CreateDirect.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/CreateRoom.qml b/resources/qml/dialogs/CreateRoom.qml index bfc6d797..569886f2 100644 --- a/resources/qml/dialogs/CreateRoom.qml +++ b/resources/qml/dialogs/CreateRoom.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/HiddenEventsDialog.qml b/resources/qml/dialogs/HiddenEventsDialog.qml index 444ce6a1..7e7a9c05 100644 --- a/resources/qml/dialogs/HiddenEventsDialog.qml +++ b/resources/qml/dialogs/HiddenEventsDialog.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/ImageOverlay.qml b/resources/qml/dialogs/ImageOverlay.qml index 70aa3e87..7437a04b 100644 --- a/resources/qml/dialogs/ImageOverlay.qml +++ b/resources/qml/dialogs/ImageOverlay.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/ImagePackEditorDialog.qml b/resources/qml/dialogs/ImagePackEditorDialog.qml index 891d9c3d..c7325b2f 100644 --- a/resources/qml/dialogs/ImagePackEditorDialog.qml +++ b/resources/qml/dialogs/ImagePackEditorDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/ImagePackSettingsDialog.qml b/resources/qml/dialogs/ImagePackSettingsDialog.qml index 2bbcfe54..ce4d554a 100644 --- a/resources/qml/dialogs/ImagePackSettingsDialog.qml +++ b/resources/qml/dialogs/ImagePackSettingsDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/InputDialog.qml b/resources/qml/dialogs/InputDialog.qml index a674c3fb..de079797 100644 --- a/resources/qml/dialogs/InputDialog.qml +++ b/resources/qml/dialogs/InputDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/InviteDialog.qml b/resources/qml/dialogs/InviteDialog.qml index e7dd4e3a..33fd32c4 100644 --- a/resources/qml/dialogs/InviteDialog.qml +++ b/resources/qml/dialogs/InviteDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/JoinRoomDialog.qml b/resources/qml/dialogs/JoinRoomDialog.qml index 0098370d..b6b1af24 100644 --- a/resources/qml/dialogs/JoinRoomDialog.qml +++ b/resources/qml/dialogs/JoinRoomDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/LeaveRoomDialog.qml b/resources/qml/dialogs/LeaveRoomDialog.qml index cb15a74d..969073f7 100644 --- a/resources/qml/dialogs/LeaveRoomDialog.qml +++ b/resources/qml/dialogs/LeaveRoomDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/LogoutDialog.qml b/resources/qml/dialogs/LogoutDialog.qml index fb5b39f6..3e2a20c2 100644 --- a/resources/qml/dialogs/LogoutDialog.qml +++ b/resources/qml/dialogs/LogoutDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/PhoneNumberInputDialog.qml b/resources/qml/dialogs/PhoneNumberInputDialog.qml index 9c36c98f..1fc5e061 100644 --- a/resources/qml/dialogs/PhoneNumberInputDialog.qml +++ b/resources/qml/dialogs/PhoneNumberInputDialog.qml @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2021 Mirian Margiani // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/PowerLevelEditor.qml b/resources/qml/dialogs/PowerLevelEditor.qml index 4c23d9af..a6124102 100644 --- a/resources/qml/dialogs/PowerLevelEditor.qml +++ b/resources/qml/dialogs/PowerLevelEditor.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml index 83af00f7..19a9654a 100644 --- a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml +++ b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/RawMessageDialog.qml b/resources/qml/dialogs/RawMessageDialog.qml index 774b078b..4801c179 100644 --- a/resources/qml/dialogs/RawMessageDialog.qml +++ b/resources/qml/dialogs/RawMessageDialog.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/ReadReceipts.qml b/resources/qml/dialogs/ReadReceipts.qml index da87996e..27b03e6a 100644 --- a/resources/qml/dialogs/ReadReceipts.qml +++ b/resources/qml/dialogs/ReadReceipts.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/RoomDirectory.qml b/resources/qml/dialogs/RoomDirectory.qml index d143ed43..9f7f6f8f 100644 --- a/resources/qml/dialogs/RoomDirectory.qml +++ b/resources/qml/dialogs/RoomDirectory.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/RoomMembers.qml b/resources/qml/dialogs/RoomMembers.qml index b44eeab3..d1584555 100644 --- a/resources/qml/dialogs/RoomMembers.qml +++ b/resources/qml/dialogs/RoomMembers.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/RoomSettings.qml b/resources/qml/dialogs/RoomSettings.qml index f6c296f8..7b04f55b 100644 --- a/resources/qml/dialogs/RoomSettings.qml +++ b/resources/qml/dialogs/RoomSettings.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml index e57d4de5..684ada8f 100644 --- a/resources/qml/dialogs/UserProfile.qml +++ b/resources/qml/dialogs/UserProfile.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/emoji/EmojiPicker.qml b/resources/qml/emoji/EmojiPicker.qml index 174ea6ae..fee746f6 100644 --- a/resources/qml/emoji/EmojiPicker.qml +++ b/resources/qml/emoji/EmojiPicker.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/emoji/StickerPicker.qml b/resources/qml/emoji/StickerPicker.qml index d38461a1..db39f791 100644 --- a/resources/qml/emoji/StickerPicker.qml +++ b/resources/qml/emoji/StickerPicker.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/pages/LoginPage.qml b/resources/qml/pages/LoginPage.qml index 8261ca60..cda1d0d0 100644 --- a/resources/qml/pages/LoginPage.qml +++ b/resources/qml/pages/LoginPage.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/pages/RegisterPage.qml b/resources/qml/pages/RegisterPage.qml index 4cdd98c1..69172bd7 100644 --- a/resources/qml/pages/RegisterPage.qml +++ b/resources/qml/pages/RegisterPage.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/pages/UserSettingsPage.qml b/resources/qml/pages/UserSettingsPage.qml index becfc612..f49ed396 100644 --- a/resources/qml/pages/UserSettingsPage.qml +++ b/resources/qml/pages/UserSettingsPage.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/pages/WelcomePage.qml b/resources/qml/pages/WelcomePage.qml index e1ecc31d..914de763 100644 --- a/resources/qml/pages/WelcomePage.qml +++ b/resources/qml/pages/WelcomePage.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/NhekoSlider.qml b/resources/qml/ui/NhekoSlider.qml index 623eeb71..a3df54e2 100644 --- a/resources/qml/ui/NhekoSlider.qml +++ b/resources/qml/ui/NhekoSlider.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/Ripple.qml b/resources/qml/ui/Ripple.qml index 0619d924..d6803173 100644 --- a/resources/qml/ui/Ripple.qml +++ b/resources/qml/ui/Ripple.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/Snackbar.qml b/resources/qml/ui/Snackbar.qml index 80c0d888..256933d9 100644 --- a/resources/qml/ui/Snackbar.qml +++ b/resources/qml/ui/Snackbar.qml @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/Spinner.qml b/resources/qml/ui/Spinner.qml index 3681a36b..c386f95c 100644 --- a/resources/qml/ui/Spinner.qml +++ b/resources/qml/ui/Spinner.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/animations/BlinkAnimation.qml b/resources/qml/ui/animations/BlinkAnimation.qml index 87e3b135..d8090db8 100644 --- a/resources/qml/ui/animations/BlinkAnimation.qml +++ b/resources/qml/ui/animations/BlinkAnimation.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/ui/media/MediaControls.qml b/resources/qml/ui/media/MediaControls.qml index d73957ee..b4283e9b 100644 --- a/resources/qml/ui/media/MediaControls.qml +++ b/resources/qml/ui/media/MediaControls.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/ActiveCallBar.qml b/resources/qml/voip/ActiveCallBar.qml index a8a65421..6251b939 100644 --- a/resources/qml/voip/ActiveCallBar.qml +++ b/resources/qml/voip/ActiveCallBar.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/CallDevices.qml b/resources/qml/voip/CallDevices.qml index 60db762a..2e2dd5cf 100644 --- a/resources/qml/voip/CallDevices.qml +++ b/resources/qml/voip/CallDevices.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/CallInvite.qml b/resources/qml/voip/CallInvite.qml index beed2e51..84cfdfef 100644 --- a/resources/qml/voip/CallInvite.qml +++ b/resources/qml/voip/CallInvite.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/CallInviteBar.qml b/resources/qml/voip/CallInviteBar.qml index a622ca27..02034305 100644 --- a/resources/qml/voip/CallInviteBar.qml +++ b/resources/qml/voip/CallInviteBar.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/DeviceError.qml b/resources/qml/voip/DeviceError.qml index 3f37612c..9f0c50d8 100644 --- a/resources/qml/voip/DeviceError.qml +++ b/resources/qml/voip/DeviceError.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/PlaceCall.qml b/resources/qml/voip/PlaceCall.qml index 33ad4cfa..c6efbe9e 100644 --- a/resources/qml/voip/PlaceCall.qml +++ b/resources/qml/voip/PlaceCall.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/ScreenShare.qml b/resources/qml/voip/ScreenShare.qml index f27c4485..d08e72de 100644 --- a/resources/qml/voip/ScreenShare.qml +++ b/resources/qml/voip/ScreenShare.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/resources/qml/voip/VideoCall.qml b/resources/qml/voip/VideoCall.qml index 20bb0535..08a94f20 100644 --- a/resources/qml/voip/VideoCall.qml +++ b/resources/qml/voip/VideoCall.qml @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/AliasEditModel.cpp b/src/AliasEditModel.cpp index 3f24a7c5..bb5b9bfe 100644 --- a/src/AliasEditModel.cpp +++ b/src/AliasEditModel.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/AliasEditModel.h b/src/AliasEditModel.h index 8709e945..6cfc34bc 100644 --- a/src/AliasEditModel.h +++ b/src/AliasEditModel.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/AvatarProvider.cpp b/src/AvatarProvider.cpp index cfa536fe..eb1e7e2a 100644 --- a/src/AvatarProvider.cpp +++ b/src/AvatarProvider.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/AvatarProvider.h b/src/AvatarProvider.h index 0bdb8b7c..e0cf6e52 100644 --- a/src/AvatarProvider.h +++ b/src/AvatarProvider.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/BlurhashProvider.cpp b/src/BlurhashProvider.cpp index 0b06b2d0..f8edc791 100644 --- a/src/BlurhashProvider.cpp +++ b/src/BlurhashProvider.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/BlurhashProvider.h b/src/BlurhashProvider.h index c0826e72..aec6ab7c 100644 --- a/src/BlurhashProvider.h +++ b/src/BlurhashProvider.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Cache.cpp b/src/Cache.cpp index 41b84e11..d018665a 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Cache.h b/src/Cache.h index bb779866..c6a61b8f 100644 --- a/src/Cache.h +++ b/src/Cache.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CacheCryptoStructs.h b/src/CacheCryptoStructs.h index 99e563bd..f1d6184a 100644 --- a/src/CacheCryptoStructs.h +++ b/src/CacheCryptoStructs.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CacheStructs.h b/src/CacheStructs.h index 535807fe..bf8741ea 100644 --- a/src/CacheStructs.h +++ b/src/CacheStructs.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Cache_p.h b/src/Cache_p.h index 7b3bf8b0..69d0240e 100644 --- a/src/Cache_p.h +++ b/src/Cache_p.h @@ -2,6 +2,7 @@ // SPDX-FileCopyrightText: 2019 The nheko authors // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index 27019ba3..c5d3d012 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ChatPage.h b/src/ChatPage.h index 4dc219b4..0ac39faa 100644 --- a/src/ChatPage.h +++ b/src/ChatPage.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Clipboard.cpp b/src/Clipboard.cpp index 72a954ce..51f9b225 100644 --- a/src/Clipboard.cpp +++ b/src/Clipboard.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Clipboard.h b/src/Clipboard.h index 568604b0..213a19fa 100644 --- a/src/Clipboard.h +++ b/src/Clipboard.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ColorImageProvider.cpp b/src/ColorImageProvider.cpp index 6a38c46c..70cc334c 100644 --- a/src/ColorImageProvider.cpp +++ b/src/ColorImageProvider.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ColorImageProvider.h b/src/ColorImageProvider.h index c416d7ec..e8812928 100644 --- a/src/ColorImageProvider.h +++ b/src/ColorImageProvider.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CombinedImagePackModel.cpp b/src/CombinedImagePackModel.cpp index 8847fe65..0841ff7d 100644 --- a/src/CombinedImagePackModel.cpp +++ b/src/CombinedImagePackModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CombinedImagePackModel.h b/src/CombinedImagePackModel.h index 49979fca..2ab82857 100644 --- a/src/CombinedImagePackModel.h +++ b/src/CombinedImagePackModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CommandCompleter.cpp b/src/CommandCompleter.cpp index 307defa4..4cc61291 100644 --- a/src/CommandCompleter.cpp +++ b/src/CommandCompleter.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CommandCompleter.h b/src/CommandCompleter.h index 08272a19..24242209 100644 --- a/src/CommandCompleter.h +++ b/src/CommandCompleter.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CompletionModelRoles.h b/src/CompletionModelRoles.h index 96eb1ade..7fd96599 100644 --- a/src/CompletionModelRoles.h +++ b/src/CompletionModelRoles.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CompletionProxyModel.cpp b/src/CompletionProxyModel.cpp index f46a6367..c7018841 100644 --- a/src/CompletionProxyModel.cpp +++ b/src/CompletionProxyModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/CompletionProxyModel.h b/src/CompletionProxyModel.h index 6bf2eb35..4d9c9f0e 100644 --- a/src/CompletionProxyModel.h +++ b/src/CompletionProxyModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Config.h b/src/Config.h index 5a742337..ba9564f0 100644 --- a/src/Config.h +++ b/src/Config.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/EventAccessors.cpp b/src/EventAccessors.cpp index da0eeff2..86ffc8b3 100644 --- a/src/EventAccessors.cpp +++ b/src/EventAccessors.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/EventAccessors.h b/src/EventAccessors.h index 8e130c29..ce262960 100644 --- a/src/EventAccessors.h +++ b/src/EventAccessors.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ImagePackListModel.cpp b/src/ImagePackListModel.cpp index fac8f10f..1360ed3e 100644 --- a/src/ImagePackListModel.cpp +++ b/src/ImagePackListModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ImagePackListModel.h b/src/ImagePackListModel.h index 9190eb8c..5e1985a7 100644 --- a/src/ImagePackListModel.h +++ b/src/ImagePackListModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/InviteesModel.cpp b/src/InviteesModel.cpp index 8e30847c..52dd4e43 100644 --- a/src/InviteesModel.cpp +++ b/src/InviteesModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/InviteesModel.h b/src/InviteesModel.h index 004f37ca..91b89a21 100644 --- a/src/InviteesModel.h +++ b/src/InviteesModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/JdenticonProvider.cpp b/src/JdenticonProvider.cpp index e9a7c883..fada4c3a 100644 --- a/src/JdenticonProvider.cpp +++ b/src/JdenticonProvider.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/JdenticonProvider.h b/src/JdenticonProvider.h index d8fdbb42..b89126fe 100644 --- a/src/JdenticonProvider.h +++ b/src/JdenticonProvider.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Logging.cpp b/src/Logging.cpp index cd72e395..c41d3f82 100644 --- a/src/Logging.cpp +++ b/src/Logging.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Logging.h b/src/Logging.h index 23ff8236..3d52f2d9 100644 --- a/src/Logging.h +++ b/src/Logging.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp index 567e8c82..d243691c 100644 --- a/src/LoginPage.cpp +++ b/src/LoginPage.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/LoginPage.h b/src/LoginPage.h index 7e9b601c..bca7f9ca 100644 --- a/src/LoginPage.h +++ b/src/LoginPage.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 1d743844..dcb4be49 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MainWindow.h b/src/MainWindow.h index f567c93e..1664f849 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MatrixClient.cpp b/src/MatrixClient.cpp index b5ea7609..945a5a73 100644 --- a/src/MatrixClient.cpp +++ b/src/MatrixClient.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MatrixClient.h b/src/MatrixClient.h index 2de19e2d..4d313e45 100644 --- a/src/MatrixClient.h +++ b/src/MatrixClient.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MemberList.cpp b/src/MemberList.cpp index 916192c0..e4a3580e 100644 --- a/src/MemberList.cpp +++ b/src/MemberList.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MemberList.h b/src/MemberList.h index f7d2cac6..6a5091db 100644 --- a/src/MemberList.h +++ b/src/MemberList.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MxcImageProvider.cpp b/src/MxcImageProvider.cpp index de800e93..33f691da 100644 --- a/src/MxcImageProvider.cpp +++ b/src/MxcImageProvider.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/MxcImageProvider.h b/src/MxcImageProvider.h index d8325219..097a3657 100644 --- a/src/MxcImageProvider.h +++ b/src/MxcImageProvider.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/PowerlevelsEditModels.cpp b/src/PowerlevelsEditModels.cpp index 2c2d4a7f..9a8e12dc 100644 --- a/src/PowerlevelsEditModels.cpp +++ b/src/PowerlevelsEditModels.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/PowerlevelsEditModels.h b/src/PowerlevelsEditModels.h index d0593f09..bafedabc 100644 --- a/src/PowerlevelsEditModels.h +++ b/src/PowerlevelsEditModels.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ReadReceiptsModel.cpp b/src/ReadReceiptsModel.cpp index f9de970b..7a81690c 100644 --- a/src/ReadReceiptsModel.cpp +++ b/src/ReadReceiptsModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ReadReceiptsModel.h b/src/ReadReceiptsModel.h index 48b1a598..e072b635 100644 --- a/src/ReadReceiptsModel.h +++ b/src/ReadReceiptsModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RegisterPage.cpp b/src/RegisterPage.cpp index 82302858..0db0427c 100644 --- a/src/RegisterPage.cpp +++ b/src/RegisterPage.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RegisterPage.h b/src/RegisterPage.h index 9a4e052b..9d81f477 100644 --- a/src/RegisterPage.h +++ b/src/RegisterPage.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RoomDirectoryModel.cpp b/src/RoomDirectoryModel.cpp index 428b0040..c6d45995 100644 --- a/src/RoomDirectoryModel.cpp +++ b/src/RoomDirectoryModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RoomDirectoryModel.h b/src/RoomDirectoryModel.h index b0768997..54938561 100644 --- a/src/RoomDirectoryModel.h +++ b/src/RoomDirectoryModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RoomsModel.cpp b/src/RoomsModel.cpp index 3d13ef8b..476a2d8b 100644 --- a/src/RoomsModel.cpp +++ b/src/RoomsModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/RoomsModel.h b/src/RoomsModel.h index 0b7371db..b2f4e44e 100644 --- a/src/RoomsModel.h +++ b/src/RoomsModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/SSOHandler.cpp b/src/SSOHandler.cpp index 36580ae2..4fed776d 100644 --- a/src/SSOHandler.cpp +++ b/src/SSOHandler.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/SSOHandler.h b/src/SSOHandler.h index 3fd4effd..ab7887ad 100644 --- a/src/SSOHandler.h +++ b/src/SSOHandler.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/SingleImagePackModel.cpp b/src/SingleImagePackModel.cpp index 9d8c3409..40f44fb2 100644 --- a/src/SingleImagePackModel.cpp +++ b/src/SingleImagePackModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/SingleImagePackModel.h b/src/SingleImagePackModel.h index 3040f53e..2f558ece 100644 --- a/src/SingleImagePackModel.h +++ b/src/SingleImagePackModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/TrayIcon.cpp b/src/TrayIcon.cpp index 336da129..1e33ac8d 100644 --- a/src/TrayIcon.cpp +++ b/src/TrayIcon.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/TrayIcon.h b/src/TrayIcon.h index 519f9d14..18bbf9b5 100644 --- a/src/TrayIcon.h +++ b/src/TrayIcon.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 145b3b8f..2bb8a118 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h index 4d805bb7..37a53ab2 100644 --- a/src/UserSettingsPage.h +++ b/src/UserSettingsPage.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/UsersModel.cpp b/src/UsersModel.cpp index 5d7dd5b7..0399bde6 100644 --- a/src/UsersModel.cpp +++ b/src/UsersModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/UsersModel.h b/src/UsersModel.h index e6d21845..aa71990c 100644 --- a/src/UsersModel.h +++ b/src/UsersModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Utils.cpp b/src/Utils.cpp index b0d84339..8ad84e85 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/Utils.h b/src/Utils.h index 31a1a0de..e6d66f47 100644 --- a/src/Utils.h +++ b/src/Utils.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dbus/NhekoDBusApi.cpp b/src/dbus/NhekoDBusApi.cpp index a58812ef..1f029b9c 100644 --- a/src/dbus/NhekoDBusApi.cpp +++ b/src/dbus/NhekoDBusApi.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2010 David Sansome // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dbus/NhekoDBusApi.h b/src/dbus/NhekoDBusApi.h index baf942b1..0cd64685 100644 --- a/src/dbus/NhekoDBusApi.h +++ b/src/dbus/NhekoDBusApi.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dbus/NhekoDBusBackend.cpp b/src/dbus/NhekoDBusBackend.cpp index a7fa2d74..b5c36e3d 100644 --- a/src/dbus/NhekoDBusBackend.cpp +++ b/src/dbus/NhekoDBusBackend.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dbus/NhekoDBusBackend.h b/src/dbus/NhekoDBusBackend.h index 83562da2..e923e388 100644 --- a/src/dbus/NhekoDBusBackend.h +++ b/src/dbus/NhekoDBusBackend.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dialogs/FallbackAuth.cpp b/src/dialogs/FallbackAuth.cpp index 5969be0d..9ed04576 100644 --- a/src/dialogs/FallbackAuth.cpp +++ b/src/dialogs/FallbackAuth.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dialogs/FallbackAuth.h b/src/dialogs/FallbackAuth.h index 579d85b0..96418193 100644 --- a/src/dialogs/FallbackAuth.h +++ b/src/dialogs/FallbackAuth.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dialogs/ReCaptcha.cpp b/src/dialogs/ReCaptcha.cpp index 95a1f85f..138d1ee5 100644 --- a/src/dialogs/ReCaptcha.cpp +++ b/src/dialogs/ReCaptcha.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dialogs/ReCaptcha.h b/src/dialogs/ReCaptcha.h index 815b4bf3..7610ef52 100644 --- a/src/dialogs/ReCaptcha.h +++ b/src/dialogs/ReCaptcha.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dock/Dock.cpp b/src/dock/Dock.cpp index 25b65c0c..1629c12c 100644 --- a/src/dock/Dock.cpp +++ b/src/dock/Dock.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/dock/Dock.h b/src/dock/Dock.h index 33bdeeae..3dcd4593 100644 --- a/src/dock/Dock.h +++ b/src/dock/Dock.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/emoji/EmojiModel.cpp b/src/emoji/EmojiModel.cpp index 5a00c43f..c9e6ffe8 100644 --- a/src/emoji/EmojiModel.cpp +++ b/src/emoji/EmojiModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/emoji/EmojiModel.h b/src/emoji/EmojiModel.h index b33df1c3..5b6cf52f 100644 --- a/src/emoji/EmojiModel.h +++ b/src/emoji/EmojiModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/emoji/MacHelper.h b/src/emoji/MacHelper.h index cc3fd645..8de16c12 100644 --- a/src/emoji/MacHelper.h +++ b/src/emoji/MacHelper.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/emoji/Provider.cpp b/src/emoji/Provider.cpp index 41c254d8..1871a47a 100644 --- a/src/emoji/Provider.cpp +++ b/src/emoji/Provider.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/emoji/Provider.h b/src/emoji/Provider.h index 32544793..07b6375f 100644 --- a/src/emoji/Provider.h +++ b/src/emoji/Provider.h @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/DeviceVerificationFlow.cpp b/src/encryption/DeviceVerificationFlow.cpp index df5e0c3e..0e9043dd 100644 --- a/src/encryption/DeviceVerificationFlow.cpp +++ b/src/encryption/DeviceVerificationFlow.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/DeviceVerificationFlow.h b/src/encryption/DeviceVerificationFlow.h index 7a8500c4..d8fea956 100644 --- a/src/encryption/DeviceVerificationFlow.h +++ b/src/encryption/DeviceVerificationFlow.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/Olm.cpp b/src/encryption/Olm.cpp index a1d311e1..ea30da4c 100644 --- a/src/encryption/Olm.cpp +++ b/src/encryption/Olm.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/Olm.h b/src/encryption/Olm.h index e48fde67..55f7241d 100644 --- a/src/encryption/Olm.h +++ b/src/encryption/Olm.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/SelfVerificationStatus.cpp b/src/encryption/SelfVerificationStatus.cpp index fac7f6a2..1f13a541 100644 --- a/src/encryption/SelfVerificationStatus.cpp +++ b/src/encryption/SelfVerificationStatus.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/SelfVerificationStatus.h b/src/encryption/SelfVerificationStatus.h index e5c1971b..32c40ed4 100644 --- a/src/encryption/SelfVerificationStatus.h +++ b/src/encryption/SelfVerificationStatus.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/VerificationManager.cpp b/src/encryption/VerificationManager.cpp index bb986665..cd13fed6 100644 --- a/src/encryption/VerificationManager.cpp +++ b/src/encryption/VerificationManager.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/encryption/VerificationManager.h b/src/encryption/VerificationManager.h index a6f3f861..c6ac1841 100644 --- a/src/encryption/VerificationManager.h +++ b/src/encryption/VerificationManager.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/main.cpp b/src/main.cpp index d1b4b769..9973b03b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2017 Konstantinos Sideris // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/MacNotificationDelegate.h b/src/notifications/MacNotificationDelegate.h index e5bbe23b..68365a86 100644 --- a/src/notifications/MacNotificationDelegate.h +++ b/src/notifications/MacNotificationDelegate.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/Manager.cpp b/src/notifications/Manager.cpp index ba550530..9fd032cd 100644 --- a/src/notifications/Manager.cpp +++ b/src/notifications/Manager.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/Manager.h b/src/notifications/Manager.h index 9c992767..bf7af29b 100644 --- a/src/notifications/Manager.h +++ b/src/notifications/Manager.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/ManagerLinux.cpp b/src/notifications/ManagerLinux.cpp index 225a6533..294df4db 100644 --- a/src/notifications/ManagerLinux.cpp +++ b/src/notifications/ManagerLinux.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2012 Roland Hieber // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/ManagerMac.cpp b/src/notifications/ManagerMac.cpp index 630080d4..cec87c66 100644 --- a/src/notifications/ManagerMac.cpp +++ b/src/notifications/ManagerMac.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/ManagerWin.cpp b/src/notifications/ManagerWin.cpp index 2d2dba37..c950b6e4 100644 --- a/src/notifications/ManagerWin.cpp +++ b/src/notifications/ManagerWin.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/notifications/NotificationManagerProxy.h b/src/notifications/NotificationManagerProxy.h index c7a2e234..27f91853 100644 --- a/src/notifications/NotificationManagerProxy.h +++ b/src/notifications/NotificationManagerProxy.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/CommunitiesModel.cpp b/src/timeline/CommunitiesModel.cpp index 96d090f7..9f34c3ff 100644 --- a/src/timeline/CommunitiesModel.cpp +++ b/src/timeline/CommunitiesModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/CommunitiesModel.h b/src/timeline/CommunitiesModel.h index a40b4802..8b9ee911 100644 --- a/src/timeline/CommunitiesModel.h +++ b/src/timeline/CommunitiesModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/DelegateChooser.cpp b/src/timeline/DelegateChooser.cpp index c8ab1511..fde9e08d 100644 --- a/src/timeline/DelegateChooser.cpp +++ b/src/timeline/DelegateChooser.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/DelegateChooser.h b/src/timeline/DelegateChooser.h index d34d13e4..b605837b 100644 --- a/src/timeline/DelegateChooser.h +++ b/src/timeline/DelegateChooser.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp index 65efc0b4..66eed82f 100644 --- a/src/timeline/EventStore.cpp +++ b/src/timeline/EventStore.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/EventStore.h b/src/timeline/EventStore.h index 108fa735..bfca7dbe 100644 --- a/src/timeline/EventStore.h +++ b/src/timeline/EventStore.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 94955152..1cec5426 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index 125591d4..eb261b02 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/Permissions.cpp b/src/timeline/Permissions.cpp index 78bb3cf6..a8d8e0ee 100644 --- a/src/timeline/Permissions.cpp +++ b/src/timeline/Permissions.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/Permissions.h b/src/timeline/Permissions.h index 1b3f55e4..bfc2b04a 100644 --- a/src/timeline/Permissions.h +++ b/src/timeline/Permissions.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/PresenceEmitter.cpp b/src/timeline/PresenceEmitter.cpp index 370bbb01..63cadcd1 100644 --- a/src/timeline/PresenceEmitter.cpp +++ b/src/timeline/PresenceEmitter.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/PresenceEmitter.h b/src/timeline/PresenceEmitter.h index c1f07c76..80352a57 100644 --- a/src/timeline/PresenceEmitter.h +++ b/src/timeline/PresenceEmitter.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/Reaction.cpp b/src/timeline/Reaction.cpp index 0047d1e5..0c64d7c6 100644 --- a/src/timeline/Reaction.cpp +++ b/src/timeline/Reaction.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/Reaction.h b/src/timeline/Reaction.h index 9ed3f801..3a83a48b 100644 --- a/src/timeline/Reaction.h +++ b/src/timeline/Reaction.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/RoomlistModel.cpp b/src/timeline/RoomlistModel.cpp index 827cbed1..64eca182 100644 --- a/src/timeline/RoomlistModel.cpp +++ b/src/timeline/RoomlistModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/RoomlistModel.h b/src/timeline/RoomlistModel.h index 0d52102d..81907dff 100644 --- a/src/timeline/RoomlistModel.h +++ b/src/timeline/RoomlistModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineFilter.cpp b/src/timeline/TimelineFilter.cpp index 9a9df6be..d59d517e 100644 --- a/src/timeline/TimelineFilter.cpp +++ b/src/timeline/TimelineFilter.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineFilter.h b/src/timeline/TimelineFilter.h index c35f8da3..9a4d44fe 100644 --- a/src/timeline/TimelineFilter.h +++ b/src/timeline/TimelineFilter.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index f3d92e31..7b50da59 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h index 59ad1b37..cb8aa380 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp index 12a247c8..ba586ef9 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h index c305fe66..9d8c6844 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/HiddenEvents.cpp b/src/ui/HiddenEvents.cpp index 4686dfef..06a15e32 100644 --- a/src/ui/HiddenEvents.cpp +++ b/src/ui/HiddenEvents.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/HiddenEvents.h b/src/ui/HiddenEvents.h index 3c0e0c67..cac7dad6 100644 --- a/src/ui/HiddenEvents.h +++ b/src/ui/HiddenEvents.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/MxcAnimatedImage.cpp b/src/ui/MxcAnimatedImage.cpp index 7f7210e3..f7ac049f 100644 --- a/src/ui/MxcAnimatedImage.cpp +++ b/src/ui/MxcAnimatedImage.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/MxcAnimatedImage.h b/src/ui/MxcAnimatedImage.h index 8891e57e..407888e4 100644 --- a/src/ui/MxcAnimatedImage.h +++ b/src/ui/MxcAnimatedImage.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/MxcMediaProxy.cpp b/src/ui/MxcMediaProxy.cpp index dadd4478..46d7430f 100644 --- a/src/ui/MxcMediaProxy.cpp +++ b/src/ui/MxcMediaProxy.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/MxcMediaProxy.h b/src/ui/MxcMediaProxy.h index 1b6bf34e..b87e97f0 100644 --- a/src/ui/MxcMediaProxy.h +++ b/src/ui/MxcMediaProxy.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoCursorShape.cpp b/src/ui/NhekoCursorShape.cpp index 1c5918b4..a7ace9a1 100644 --- a/src/ui/NhekoCursorShape.cpp +++ b/src/ui/NhekoCursorShape.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoCursorShape.h b/src/ui/NhekoCursorShape.h index 1f91d7de..f3a1864f 100644 --- a/src/ui/NhekoCursorShape.h +++ b/src/ui/NhekoCursorShape.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoDropArea.cpp b/src/ui/NhekoDropArea.cpp index 736f5172..32047e6a 100644 --- a/src/ui/NhekoDropArea.cpp +++ b/src/ui/NhekoDropArea.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoDropArea.h b/src/ui/NhekoDropArea.h index 70da4451..3d02d52a 100644 --- a/src/ui/NhekoDropArea.h +++ b/src/ui/NhekoDropArea.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoEventObserver.cpp b/src/ui/NhekoEventObserver.cpp index 5e67cec4..a6d4ca11 100644 --- a/src/ui/NhekoEventObserver.cpp +++ b/src/ui/NhekoEventObserver.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoEventObserver.h b/src/ui/NhekoEventObserver.h index 6d14f30f..3d43e6d2 100644 --- a/src/ui/NhekoEventObserver.h +++ b/src/ui/NhekoEventObserver.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoGlobalObject.cpp b/src/ui/NhekoGlobalObject.cpp index 0573d5ee..99921d79 100644 --- a/src/ui/NhekoGlobalObject.cpp +++ b/src/ui/NhekoGlobalObject.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h index 6ef71bcc..690761a5 100644 --- a/src/ui/NhekoGlobalObject.h +++ b/src/ui/NhekoGlobalObject.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/RoomSettings.cpp b/src/ui/RoomSettings.cpp index 67be0bbb..380ed295 100644 --- a/src/ui/RoomSettings.cpp +++ b/src/ui/RoomSettings.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h index 99d27eee..3113d3e3 100644 --- a/src/ui/RoomSettings.h +++ b/src/ui/RoomSettings.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/RoomSummary.cpp b/src/ui/RoomSummary.cpp index 6623da10..3ac04d34 100644 --- a/src/ui/RoomSummary.cpp +++ b/src/ui/RoomSummary.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/RoomSummary.h b/src/ui/RoomSummary.h index 30d47eb1..f985c634 100644 --- a/src/ui/RoomSummary.h +++ b/src/ui/RoomSummary.h @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/Theme.cpp b/src/ui/Theme.cpp index 02450230..add2e0f9 100644 --- a/src/ui/Theme.cpp +++ b/src/ui/Theme.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/Theme.h b/src/ui/Theme.h index 140e60b3..1d5742cf 100644 --- a/src/ui/Theme.h +++ b/src/ui/Theme.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/ThemeManager.cpp b/src/ui/ThemeManager.cpp index e275fa90..fb044968 100644 --- a/src/ui/ThemeManager.cpp +++ b/src/ui/ThemeManager.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/ThemeManager.h b/src/ui/ThemeManager.h index 1924611d..a5f93468 100644 --- a/src/ui/ThemeManager.h +++ b/src/ui/ThemeManager.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/UIA.cpp b/src/ui/UIA.cpp index d67d1ba9..53715340 100644 --- a/src/ui/UIA.cpp +++ b/src/ui/UIA.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/UIA.h b/src/ui/UIA.h index 73a58ffe..8499f12b 100644 --- a/src/ui/UIA.h +++ b/src/ui/UIA.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp index a3bc87de..cbeb1f4f 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h index facae6ec..206b607a 100644 --- a/src/ui/UserProfile.h +++ b/src/ui/UserProfile.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/CallDevices.cpp b/src/voip/CallDevices.cpp index 49eca6d5..e47b5960 100644 --- a/src/voip/CallDevices.cpp +++ b/src/voip/CallDevices.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/CallDevices.h b/src/voip/CallDevices.h index 8cfcdd1c..951f1ab2 100644 --- a/src/voip/CallDevices.h +++ b/src/voip/CallDevices.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/CallManager.cpp b/src/voip/CallManager.cpp index 1bb1700f..3d795fc1 100644 --- a/src/voip/CallManager.cpp +++ b/src/voip/CallManager.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/CallManager.h b/src/voip/CallManager.h index 3011444f..4716de7f 100644 --- a/src/voip/CallManager.h +++ b/src/voip/CallManager.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/WebRTCSession.cpp b/src/voip/WebRTCSession.cpp index 706a69d9..73e71030 100644 --- a/src/voip/WebRTCSession.cpp +++ b/src/voip/WebRTCSession.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/voip/WebRTCSession.h b/src/voip/WebRTCSession.h index 081611e5..da13e356 100644 --- a/src/voip/WebRTCSession.h +++ b/src/voip/WebRTCSession.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2021 Nheko Contributors // SPDX-FileCopyrightText: 2022 Nheko Contributors +// SPDX-FileCopyrightText: 2023 Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later -- cgit 1.5.1