summary refs log tree commit diff
path: root/src/timeline
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-10 01:09:30 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-10 01:09:30 +0200
commitddcc0f7f60d51f588afc0a4975fca038bc9392b9 (patch)
tree2b7eaca7c19e7312f6043b4aa95b6bd7211cf295 /src/timeline
parentRemove tone emoji (diff)
downloadnheko-ddcc0f7f60d51f588afc0a4975fca038bc9392b9.tar.xz
Generate a date separator before local messages
Diffstat (limited to 'src/timeline')
-rw-r--r--src/timeline/TimelineView.cc25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/timeline/TimelineView.cc b/src/timeline/TimelineView.cc

index 253a4267..7ec5023b 100644 --- a/src/timeline/TimelineView.cc +++ b/src/timeline/TimelineView.cc
@@ -450,8 +450,12 @@ TimelineView::addTimelineItem(TimelineItem *item, TimelineDirection direction) if (lastItem) { auto oldDate = lastItem->descriptionMessage().datetime; - if (oldDate.daysTo(newDate) != 0) - addDateSeparator(newDate, lastItemPosition); + if (oldDate.daysTo(newDate) != 0) { + auto separator = createDateSeparator(newDate); + + if (separator) + scroll_layout_->addWidget(separator); + } } pushTimelineItem(item); @@ -465,8 +469,12 @@ TimelineView::addTimelineItem(TimelineItem *item, TimelineDirection direction) if (firstItem) { auto oldDate = firstItem->descriptionMessage().datetime; - if (newDate.daysTo(oldDate) != 0) - addDateSeparator(oldDate, 1); + if (newDate.daysTo(oldDate) != 0) { + auto separator = createDateSeparator(oldDate); + + if (separator) + scroll_layout_->insertWidget(1, separator); + } } } @@ -501,7 +509,7 @@ TimelineView::addUserMessage(mtx::events::MessageType ty, const QString &body) TimelineItem *view_item = new TimelineItem(ty, local_user_, body, with_sender, scroll_widget_); - pushTimelineItem(view_item); + addTimelineItem(view_item); lastMessageDirection_ = TimelineDirection::Bottom; @@ -687,8 +695,8 @@ TimelineView::event(QEvent *event) return QWidget::event(event); } -void -TimelineView::addDateSeparator(QDateTime datetime, int position) +QLabel * +TimelineView::createDateSeparator(QDateTime datetime) { auto now = QDateTime::currentDateTime(); auto days = now.daysTo(datetime); @@ -713,8 +721,9 @@ TimelineView::addDateSeparator(QDateTime datetime, int position) QString("font-size: %1px").arg(conf::timeline::fonts::dateSeparator)); separator->setAlignment(Qt::AlignCenter); separator->setContentsMargins(0, 15, 0, 15); - scroll_layout_->insertWidget(position, separator); } + + return separator; } QString