From: Peter Penz Date: Tue, 17 Feb 2009 20:22:04 +0000 (+0000) Subject: removed m_minimumSizeHint member, it is redundant X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/fda792a1f5a706c4be2d873fa77d504aa90b71e0 removed m_minimumSizeHint member, it is redundant svn path=/trunk/KDE/kdebase/apps/; revision=927537 --- diff --git a/src/panels/information/metatextlabel.cpp b/src/panels/information/metatextlabel.cpp index 66f12db90..017d5e1dc 100644 --- a/src/panels/information/metatextlabel.cpp +++ b/src/panels/information/metatextlabel.cpp @@ -29,10 +29,10 @@ MetaTextLabel::MetaTextLabel(QWidget* parent) : QWidget(parent), - m_minimumHeight(0), m_metaInfos() { setFont(KGlobalSettings::smallestReadableFont()); + setMinimumHeight(0); } MetaTextLabel::~MetaTextLabel() @@ -41,7 +41,7 @@ MetaTextLabel::~MetaTextLabel() void MetaTextLabel::clear() { - m_minimumHeight = 0; + setMinimumHeight(0); m_metaInfos.clear(); update(); } @@ -51,31 +51,28 @@ void MetaTextLabel::add(const QString& labelText, const QString& infoText) MetaInfo metaInfo; metaInfo.label = labelText; metaInfo.info = infoText; - m_metaInfos.append(metaInfo); - - m_minimumHeight += requiredHeight(metaInfo); - setMinimumHeight(m_minimumHeight); - + + setMinimumHeight(minimumHeight() + requiredHeight(metaInfo)); update(); } void MetaTextLabel::paintEvent(QPaintEvent* event) { QWidget::paintEvent(event); - + QPainter painter(this); - + const QColor infoColor = palette().color(QPalette::Foreground); QColor labelColor = infoColor; labelColor.setAlpha(128); - + int y = 0; const int infoWidth = width() / 2; const int labelWidth = infoWidth - 2 * Spacing; const int infoX = infoWidth; const int maxHeight = fontMetrics().height() * 5; - + QRect boundingRect; foreach (const MetaInfo& metaInfo, m_metaInfos) { // draw label (e. g. "Date:") @@ -83,42 +80,31 @@ void MetaTextLabel::paintEvent(QPaintEvent* event) painter.drawText(0, y, labelWidth, maxHeight, Qt::AlignTop | Qt::AlignRight | Qt::TextWordWrap, metaInfo.label); - + // draw information (e. g. "2008-11-09 20:12") painter.setPen(infoColor); painter.drawText(infoX, y, infoWidth, maxHeight, Qt::AlignTop | Qt::AlignLeft | Qt::TextWordWrap, metaInfo.info, &boundingRect); - - y += boundingRect.height() + Spacing; - } -} -void MetaTextLabel::resizeEvent(QResizeEvent* event) -{ - QWidget::resizeEvent(event); - - m_minimumHeight = 0; - foreach (const MetaInfo& metaInfo, m_metaInfos) { - m_minimumHeight += requiredHeight(metaInfo); + y += boundingRect.height() + Spacing; } - setMinimumHeight(m_minimumHeight); } int MetaTextLabel::requiredHeight(const MetaInfo& metaInfo) const { QTextOption textOption; textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - + qreal height = 0; const int leading = fontMetrics().leading(); const int availableWidth = width() / 2; - + QTextLayout textLayout(metaInfo.info); textLayout.setFont(font()); textLayout.setTextOption(textOption); - + textLayout.beginLayout(); QTextLine line = textLayout.createLine(); while (line.isValid()) { @@ -126,9 +112,9 @@ int MetaTextLabel::requiredHeight(const MetaInfo& metaInfo) const height += leading; height += line.height(); line = textLayout.createLine(); - } + } textLayout.endLayout(); - + return static_cast(height) + Spacing; } diff --git a/src/panels/information/metatextlabel.h b/src/panels/information/metatextlabel.h index f70d29d8e..36ae88e99 100644 --- a/src/panels/information/metatextlabel.h +++ b/src/panels/information/metatextlabel.h @@ -37,23 +37,21 @@ public: void clear(); void add(const QString& labelText, const QString& infoText); - + protected: virtual void paintEvent(QPaintEvent* event); - virtual void resizeEvent(QResizeEvent* event); private: enum { Spacing = 2 }; - + struct MetaInfo { QString label; QString info; }; - - int m_minimumHeight; + QList m_metaInfos; - + /** * Returns the required height in pixels for \a metaInfo to * fit into the available width of the widget.