From 02e1f82cd154030ea44608d90c7241a0ba8c1795 Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Fri, 27 Aug 2010 14:59:58 +0100 Subject: Don't elide roster headings when the widget becomes large enough. Resolves: #544 diff --git a/Swift/QtUI/QtElidingLabel.cpp b/Swift/QtUI/QtElidingLabel.cpp index 475aa3b..3d53006 100644 --- a/Swift/QtUI/QtElidingLabel.cpp +++ b/Swift/QtUI/QtElidingLabel.cpp @@ -38,9 +38,12 @@ void QtElidingLabel::paintEvent(QPaintEvent* event) { dirty_ = dirty_ || rect != lastRect_; if (dirty_) { lastRect_ = rect; - if (fontMetrics().width(fullText_) > rect.width()) { + int fontWidth = fontMetrics().width(fullText_); + if (fontWidth > rect.width()) { QString elidedText(fontMetrics().elidedText(fullText_, Qt::ElideRight, rect.width(), Qt::TextShowMnemonic)); QLabel::setText(elidedText); + } else { + QLabel::setText(fullText_); } dirty_ = false; } diff --git a/Swift/QtUI/QtElidingLabel.h b/Swift/QtUI/QtElidingLabel.h index 79701ec..0bf2231 100644 --- a/Swift/QtUI/QtElidingLabel.h +++ b/Swift/QtUI/QtElidingLabel.h @@ -18,6 +18,7 @@ namespace Swift { virtual ~QtElidingLabel(); virtual void paintEvent(QPaintEvent* event); + private: void setSizes(); bool dirty_; -- cgit v0.10.2-6-g49f6