From 495a4334dff6b1eb2dd2bc2d75dfd8ef219f5950 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Wed, 8 Sep 2021 12:47:44 +0200 Subject: [PATCH] Fix day separator when loading older messages fixes #632 --- src/timeline/EventStore.cpp | 3 +++ src/timeline/TimelineModel.cpp | 19 +++++++------------ 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::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;