summaryrefslogtreecommitdiff
path: root/ui/qt/elided_label.cpp
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-02-12 10:17:05 -0800
committerGerald Combs <gerald@wireshark.org>2015-02-13 00:50:20 +0000
commita5652c7257835db3f6fce01926d53b236be53405 (patch)
treef33f7f13771217a6c2743590eabd855bd4260906 /ui/qt/elided_label.cpp
parentf1d1354b838fbbeb7349189178e81a6a83d08e78 (diff)
downloadwireshark-a5652c7257835db3f6fce01926d53b236be53405.tar.gz
Qt: ElidedLabel doesn't support rich text / HTML.
Change-Id: Ia5ca9784c60325c01ba5e6378997008f8ef1dd6e Reviewed-on: https://code.wireshark.org/review/7091 Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/elided_label.cpp')
-rw-r--r--ui/qt/elided_label.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/ui/qt/elided_label.cpp b/ui/qt/elided_label.cpp
index 619a7596f5..a07cb074b7 100644
--- a/ui/qt/elided_label.cpp
+++ b/ui/qt/elided_label.cpp
@@ -22,9 +22,11 @@
#include "elided_label.h"
#include <QFontMetrics>
+#include <QResizeEvent>
ElidedLabel::ElidedLabel(QWidget *parent) :
- QLabel(parent)
+ QLabel(parent),
+ small_text_(false)
{
}
@@ -34,25 +36,27 @@ void ElidedLabel::setUrl(const QString &url)
updateText();
}
-void ElidedLabel::resizeEvent(QResizeEvent *evt)
+void ElidedLabel::resizeEvent(QResizeEvent *)
{
- Q_UNUSED(evt)
updateText();
}
void ElidedLabel::updateText()
{
- QString elided_text = fontMetrics().elidedText(full_text_, Qt::ElideMiddle, width());
+ int fudged_width = small_text_ ? width() * 1.2 : width();
+ QString elided_text = fontMetrics().elidedText(full_text_, Qt::ElideMiddle, fudged_width);
+ QString label_text = small_text_ ? "<small><i>" : "<i>";
+
if (url_.length() > 0) {
- QLabel::setText(QString("<i><a href=\"%1\">%2</a></i>")
+ label_text.append(QString("<a href=\"%1\">%2</a>")
.arg(url_)
.arg(elided_text)
);
} else {
- QLabel::setText(QString("<i>%1</i>")
- .arg(elided_text)
- );
+ label_text += elided_text;
}
+ label_text += small_text_ ? "</i></small>" : "</i>";
+ QLabel::setText(label_text);
}
void ElidedLabel::clear()