summary refs log tree commit diff
path: root/src/timeline
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2020-04-22 19:52:30 -0400
committerJoseph Donofry <joedonofry@gmail.com>2020-04-22 19:52:30 -0400
commitb298f01d92eac2f7af6fce28cbe5256411e6c386 (patch)
treef935539dea236e5dfc733906bfab513e4be4cc0b /src/timeline
parentAdd ability to toggle sidebar messages for encrypted rooms (diff)
downloadnheko-b298f01d92eac2f7af6fce28cbe5256411e6c386.tar.xz
Add signal/slot for decryption changes in last patch
Diffstat (limited to 'src/timeline')
-rw-r--r--src/timeline/TimelineModel.cpp7
-rw-r--r--src/timeline/TimelineModel.h2
-rw-r--r--src/timeline/TimelineViewManager.cpp17
-rw-r--r--src/timeline/TimelineViewManager.h1
4 files changed, 26 insertions, 1 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp

index 439a7786..3e2c32fa 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -502,6 +502,13 @@ isMessage(const mtx::events::Event<T> &) return false; } +template<typename T> +auto +isMessage(const mtx::events::EncryptedEvent<T> &) +{ + return true; +} + void TimelineModel::updateLastMessage() { diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h
index 84e9ec26..98b183f6 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h
@@ -189,6 +189,7 @@ public: Q_INVOKABLE void cacheMedia(QString eventId); Q_INVOKABLE bool saveMedia(QString eventId) const; + void updateLastMessage(); void addEvents(const mtx::responses::Timeline &events); template<class T> void sendMessage(const T &msg); @@ -257,7 +258,6 @@ private: const std::string &user_id, const mtx::responses::ClaimKeys &res, mtx::http::RequestErr err); - void updateLastMessage(); void readEvent(const std::string &id); QHash<QString, mtx::events::collections::TimelineEvents> events; diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index 0a339825..4562dd67 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -17,6 +17,19 @@ Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents) void +TimelineViewManager::updateEncryptedDescriptions() +{ + QHash<QString, QSharedPointer<TimelineModel>>::iterator i; + for (i = models.begin(); i != models.end(); ++i) { + auto ptr = i.value(); + + if (!ptr.isNull()) { + ptr->updateLastMessage(); + } + } +} + +void TimelineViewManager::updateColorPalette() { userColors.clear(); @@ -83,6 +96,10 @@ TimelineViewManager::TimelineViewManager(QSharedPointer<UserSettings> userSettin &ChatPage::themeChanged, this, &TimelineViewManager::updateColorPalette); + connect(dynamic_cast<ChatPage *>(parent), + &ChatPage::decryptSidebarChanged, + this, + &TimelineViewManager::updateEncryptedDescriptions); } void diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 122e4aec..45a603af 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h
@@ -84,6 +84,7 @@ public slots: const QString &url, const QString &mime, uint64_t dsize); + void updateEncryptedDescriptions(); private: #ifdef USE_QUICK_VIEW