+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:")
+ painter.setPen(labelColor);
+ 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;