summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-01-16 22:24:23 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-01-16 22:24:23 +0200
commit26540bd12081d3144e8cf4c27cc8b413e2fe5659 (patch)
treee48a19a6a3554ac374146f1b14488d802bc989c6 /include
parentFix emoji as avatars issue for the receipts (diff)
downloadnheko-26540bd12081d3144e8cf4c27cc8b413e2fe5659.tar.xz
Hack to work around layout flickering when adding new timeline items
Diffstat (limited to 'include')
-rw-r--r--include/timeline/TimelineView.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/timeline/TimelineView.h b/include/timeline/TimelineView.h

index c120ed69..1ebf6eb7 100644 --- a/include/timeline/TimelineView.h +++ b/include/timeline/TimelineView.h
@@ -123,6 +123,17 @@ protected: private: using TimelineEvent = mtx::events::collections::TimelineEvents; + //! HACK: Fixing layout flickering when adding to the bottom + //! of the timeline. + void pushTimelineItem(TimelineItem *item) + { + item->hide(); + QTimer::singleShot(0, this, [=]() { + scroll_layout_->addWidget(item); + item->show(); + }); + }; + void init(); void addTimelineItem(TimelineItem *item, TimelineDirection direction); void updateLastSender(const QString &user_id, TimelineDirection direction); @@ -229,7 +240,8 @@ TimelineView::addUserMessage(const QString &url, TimelineItem *view_item = new TimelineItem(widget, local_user_, with_sender, scroll_widget_); - scroll_layout_->addWidget(view_item); + + pushTimelineItem(view_item); lastMessageDirection_ = TimelineDirection::Bottom;