summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-08-28 00:19:39 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-08-28 00:19:39 +0300
commitdb9c37d336d42abf5793ab7134287f2b5593721e (patch)
treeb739c7962aa1b0d151daa104d268ef0d3567aab8 /src
parentRemove unnecessary height setting for timeline messages (diff)
downloadnheko-db9c37d336d42abf5793ab7134287f2b5593721e.tar.xz
Call adjustSize before showing the timeline widget
Diffstat (limited to 'src')
-rw-r--r--src/timeline/TimelineItem.cpp26
-rw-r--r--src/timeline/TimelineItem.h25
-rw-r--r--src/timeline/TimelineView.cpp2
-rw-r--r--src/timeline/TimelineView.h7
4 files changed, 34 insertions, 26 deletions
diff --git a/src/timeline/TimelineItem.cpp b/src/timeline/TimelineItem.cpp

index ab4461c4..f50f9e27 100644 --- a/src/timeline/TimelineItem.cpp +++ b/src/timeline/TimelineItem.cpp
@@ -37,6 +37,32 @@ constexpr int MSG_RIGHT_MARGIN = 7; constexpr int MSG_PADDING = 20; +TextLabel::TextLabel(const QString &text, QWidget *parent) + : QTextBrowser(parent) +{ + setText(text); + setOpenExternalLinks(true); + + // Make it look and feel like an ordinary label. + setReadOnly(true); + setFrameStyle(QFrame::NoFrame); + QPalette pal = palette(); + pal.setColor(QPalette::Base, Qt::transparent); + setPalette(pal); + + // Wrap anywhere but prefer words, adjust minimum height on the fly. + setLineWrapMode(QTextEdit::WidgetWidth); + setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + connect(document()->documentLayout(), + &QAbstractTextDocumentLayout::documentSizeChanged, + this, + &TextLabel::adjustHeight); + document()->setDocumentMargin(0); + + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + setFixedHeight(0); +} + StatusIndicator::StatusIndicator(QWidget *parent) : QWidget(parent) { diff --git a/src/timeline/TimelineItem.h b/src/timeline/TimelineItem.h
index 76c9da7b..26bcfbae 100644 --- a/src/timeline/TimelineItem.h +++ b/src/timeline/TimelineItem.h
@@ -93,30 +93,7 @@ class TextLabel : public QTextBrowser Q_OBJECT public: - TextLabel(const QString &text, QWidget *parent = 0) - : QTextBrowser(parent) - { - setText(text); - setOpenExternalLinks(true); - - // Make it look and feel like an ordinary label. - setReadOnly(true); - setFrameStyle(QFrame::NoFrame); - QPalette pal = palette(); - pal.setColor(QPalette::Base, Qt::transparent); - setPalette(pal); - - // Wrap anywhere but prefer words, adjust minimum height on the fly. - setLineWrapMode(QTextEdit::WidgetWidth); - setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - connect(document()->documentLayout(), - &QAbstractTextDocumentLayout::documentSizeChanged, - this, - &TextLabel::adjustHeight); - document()->setDocumentMargin(0); - - setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); - } + TextLabel(const QString &text, QWidget *parent = nullptr); void wheelEvent(QWheelEvent *event) override { event->ignore(); } diff --git a/src/timeline/TimelineView.cpp b/src/timeline/TimelineView.cpp
index 3d0a1026..e994409a 100644 --- a/src/timeline/TimelineView.cpp +++ b/src/timeline/TimelineView.cpp
@@ -626,7 +626,7 @@ TimelineView::addTimelineItem(QWidget *item, TimelineDirection direction) auto separator = new DateSeparator(newDate, this); if (separator) - scroll_layout_->addWidget(separator); + pushTimelineItem(separator); } } diff --git a/src/timeline/TimelineView.h b/src/timeline/TimelineView.h
index 740fb902..0d18c7fe 100644 --- a/src/timeline/TimelineView.h +++ b/src/timeline/TimelineView.h
@@ -194,9 +194,14 @@ private: //! of the timeline. void pushTimelineItem(QWidget *item) { + setUpdatesEnabled(false); item->hide(); scroll_layout_->addWidget(item); - QTimer::singleShot(0, this, [item]() { item->show(); }); + QTimer::singleShot(0, this, [item, this]() { + item->show(); + item->adjustSize(); + setUpdatesEnabled(true); + }); }; //! Decides whether or not to show or hide the scroll down button.