summary refs log tree commit diff
path: root/src/TimelineViewManager.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-07-29 11:49:00 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-07-30 14:30:55 +0300
commit8d05073547d02e105712713de39e8359980812c2 (patch)
tree4a806e19b70f4b95f242752b7d7f601c05376026 /src/TimelineViewManager.cc
parentAdd serialization on matrix events (diff)
downloadnheko-8d05073547d02e105712713de39e8359980812c2.tar.xz
Initial support for state cache
- Adds detection for duplicate events
Diffstat (limited to 'src/TimelineViewManager.cc')
-rw-r--r--src/TimelineViewManager.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/TimelineViewManager.cc b/src/TimelineViewManager.cc

index f55d4868..3715d1b6 100644 --- a/src/TimelineViewManager.cc +++ b/src/TimelineViewManager.cc
@@ -85,6 +85,18 @@ void TimelineViewManager::initialize(const Rooms &rooms) } } +void TimelineViewManager::initialize(const QList<QString> &rooms) +{ + for (const auto &roomid : rooms) { + // Create a history view without any events. + TimelineView *view = new TimelineView(client_, roomid); + views_.insert(roomid, QSharedPointer<TimelineView>(view)); + + // Add the view in the widget stack. + addWidget(view); + } +} + void TimelineViewManager::sync(const Rooms &rooms) { for (auto it = rooms.join().constBegin(); it != rooms.join().constEnd(); it++) { @@ -118,11 +130,12 @@ void TimelineViewManager::setHistoryView(const QString &room_id) } active_room_ = room_id; - auto widget = views_.value(room_id); + auto view = views_.value(room_id); - setCurrentWidget(widget.data()); + setCurrentWidget(view.data()); - widget->scrollDown(); + view->fetchHistory(); + view->scrollDown(); } QMap<QString, QString> TimelineViewManager::NICK_COLORS;