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
|