summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-06-15 15:36:58 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2022-06-15 15:36:58 +0200
commit3eafd4396e57f15bda517e090b81623c542bd452 (patch)
treea2bd42f29a95d8e9d20de6e65bf324f363428565 /src
parentFix edits not updating in replies (diff)
downloadnheko-3eafd4396e57f15bda517e090b81623c542bd452.tar.xz
Fix pins not refreshing after being loaded
Diffstat (limited to 'src')
-rw-r--r--src/timeline/EventStore.cpp10
-rw-r--r--src/timeline/EventStore.h1
-rw-r--r--src/timeline/TimelineModel.cpp1
3 files changed, 9 insertions, 3 deletions
diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp

index 264cde77..b0ea07ec 100644 --- a/src/timeline/EventStore.cpp +++ b/src/timeline/EventStore.cpp
@@ -48,9 +48,13 @@ EventStore::EventStore(std::string room_id, QObject *) cache::client()->storeEvent(room_id_, id, {timeline}); if (!relatedTo.empty()) { - auto idx = idToIndex(relatedTo); - if (idx) - emit dataChanged(*idx, *idx); + if (relatedTo == "pins") { + emit pinsChanged(); + } else { + auto idx = idToIndex(relatedTo); + if (idx) + emit dataChanged(*idx, *idx); + } } }, Qt::QueuedConnection); diff --git a/src/timeline/EventStore.h b/src/timeline/EventStore.h
index 6317cbbe..5cfab727 100644 --- a/src/timeline/EventStore.h +++ b/src/timeline/EventStore.h
@@ -101,6 +101,7 @@ signals: void beginResetModel(); void endResetModel(); void dataChanged(int from, int to); + void pinsChanged(); void newEncryptedImage(mtx::crypto::EncryptedFile encryptionInfo); void eventFetched(std::string id, std::string relatedTo, diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 578d63b7..53559644 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -398,6 +398,7 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj "data changed {} to {}", events.size() - to - 1, events.size() - from - 1); emit dataChanged(index(events.size() - to - 1, 0), index(events.size() - from - 1, 0)); }); + connect(&events, &EventStore::pinsChanged, this, &TimelineModel::pinnedMessagesChanged); connect(&events, &EventStore::beginInsertRows, this, [this](int from, int to) { int first = events.size() - to;