summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-09-08 12:47:44 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-09-08 12:47:44 +0200
commit495a4334dff6b1eb2dd2bc2d75dfd8ef219f5950 (patch)
treeebef96b87747af04e25090de3c316929e00eb826 /src
parentRecommend version 0.12 of QtKeychain (diff)
downloadnheko-495a4334dff6b1eb2dd2bc2d75dfd8ef219f5950.tar.xz
Fix day separator when loading older messages
fixes #632
Diffstat (limited to 'src')
-rw-r--r--src/timeline/EventStore.cpp3
-rw-r--r--src/timeline/TimelineModel.cpp19
2 files changed, 10 insertions, 12 deletions
diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp

index 8860bc75..881fd5bb 100644 --- a/src/timeline/EventStore.cpp +++ b/src/timeline/EventStore.cpp
@@ -71,11 +71,14 @@ EventStore::EventStore(std::string room_id, QObject *) fetchMore(); else { if (this->last != std::numeric_limits<uint64_t>::max()) { + auto oldFirst = this->first; emit beginInsertRows(toExternalIdx(newFirst), toExternalIdx(this->first - 1)); this->first = newFirst; emit endInsertRows(); emit fetchedMore(); + emit dataChanged(toExternalIdx(oldFirst), + toExternalIdx(oldFirst)); } else { auto range = cache::client()->getTimelineRange(room_id_); diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 1e369b46..e5e9d9bf 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -354,18 +354,13 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj Qt::QueuedConnection); connect(this, &TimelineModel::addPendingMessageToStore, &events, &EventStore::addPending); - connect( - &events, - &EventStore::dataChanged, - this, - [this](int from, int to) { - relatedEventCacheBuster++; - nhlog::ui()->debug( - "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)); - }, - Qt::QueuedConnection); + connect(&events, &EventStore::dataChanged, this, [this](int from, int to) { + relatedEventCacheBuster++; + nhlog::ui()->debug( + "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::beginInsertRows, this, [this](int from, int to) { int first = events.size() - to;