┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-02-17 20:22:04 +0000
committerPeter Penz <[email protected]>2009-02-17 20:22:04 +0000
commitfda792a1f5a706c4be2d873fa77d504aa90b71e0 (patch)
treeba64144d6cea058c12124139363fd598ed0a9662 /src
parentc40ed6564e8cd0d58c19f099c1aee6b5f3bcbb69 (diff)
removed m_minimumSizeHint member, it is redundant
svn path=/trunk/KDE/kdebase/apps/; revision=927537
Diffstat (limited to 'src')
-rw-r--r--src/panels/information/metatextlabel.cpp44
-rw-r--r--src/panels/information/metatextlabel.h10
2 files changed, 19 insertions, 35 deletions
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<int>(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<MetaInfo> m_metaInfos;
-
+
/**
* Returns the required height in pixels for \a metaInfo to
* fit into the available width of the widget.