diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-02-12 10:17:05 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-02-13 00:50:20 +0000 |
commit | a5652c7257835db3f6fce01926d53b236be53405 (patch) | |
tree | f33f7f13771217a6c2743590eabd855bd4260906 /ui/qt/elided_label.cpp | |
parent | f1d1354b838fbbeb7349189178e81a6a83d08e78 (diff) | |
download | wireshark-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.cpp | 20 |
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() |