summary refs log tree commit diff
path: root/src/timeline/TimelineModel.cpp
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2020-04-23 19:22:54 -0400
committerJoseph Donofry <joedonofry@gmail.com>2020-04-23 19:22:54 -0400
commit619d9bc1858b12350d95f64a1340d56f32e28bfe (patch)
tree7c597bbe8f40059b8ef6c935d64f8a69ff107a94 /src/timeline/TimelineModel.cpp
parentUpdate versions to 0.7.1 (diff)
parentMerge pull request #173 from Nheko-Reborn/decrypt-sidebar (diff)
downloadnheko-619d9bc1858b12350d95f64a1340d56f32e28bfe.tar.xz
Merge remote-tracking branch 'origin/master' into release-prep-0.7.1
Diffstat (limited to 'src/timeline/TimelineModel.cpp')
-rw-r--r--src/timeline/TimelineModel.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp

index bb793945..e3a1a781 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -8,6 +8,7 @@ #include <QFileDialog> #include <QMimeDatabase> #include <QRegularExpression> +#include <QSettings> #include <QStandardPaths> #include "ChatPage.h" @@ -476,14 +477,14 @@ TimelineModel::addEvents(const mtx::responses::Timeline &timeline) std::vector<QString> ids = internalAddEvents(timeline.events); - if (ids.empty()) - return; - - beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1)); - this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend()); - endInsertRows(); + if (!ids.empty()) { + beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1)); + this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend()); + endInsertRows(); + } - updateLastMessage(); + if (!timeline.events.empty()) + updateLastMessage(); } template<typename T> @@ -501,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() { @@ -508,7 +516,9 @@ TimelineModel::updateLastMessage() auto event = events.value(*it); if (auto e = std::get_if<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>( &event)) { - event = decryptEvent(*e).event; + if (decryptDescription) { + event = decryptEvent(*e).event; + } } if (!std::visit([](const auto &e) -> bool { return isMessage(e); }, event))