summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarko Kangas <marko.kangas@digia.com>2014-10-20 17:51:02 +0300
committerMarko Kangas <marko.kangas@digia.com>2014-10-23 08:30:32 +0200
commit3056b825bd22ddf17deee03c5c43117ad6aa545e (patch)
treefc3caa11a8c7bbefca98ecd312486bd0c8db0ef4 /src
parentc399e4b7ea0b10dd7eb71ebe3ccea3c6134f25ba (diff)
Fix styled vertical dockwidget title cut off bug and elide text if long
Change common stylesheet to elide text correctly for both direction. Change-Id: I045f6f74733ca8fa67b3e4fbb9d3845a1bea777d Task-number: QTBUG-41466 Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index a6c7f5dde2..a9e13bad49 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -4047,26 +4047,28 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
}
if (!dwOpt->title.isEmpty()) {
- QRect r = opt->rect;
+ QRect r = subElementRect(SE_DockWidgetTitleBarText, opt, w);
if (dwOpt->verticalTitleBar) {
QSize s = r.size();
s.transpose();
r.setSize(s);
-
p->save();
p->translate(r.left(), r.top() + r.width());
p->rotate(-90);
p->translate(-r.left(), -r.top());
}
+ r = subRule.contentsRect(r);
Qt::Alignment alignment = 0;
if (subRule.hasPosition())
alignment = subRule.position()->textAlignment;
if (alignment == 0)
alignment = Qt::AlignLeft;
- drawItemText(p, subRule.contentsRect(opt->rect),
+
+ QString titleText = p->fontMetrics().elidedText(dwOpt->title, Qt::ElideRight, r.width());
+ drawItemText(p, r,
alignment | Qt::TextShowMnemonic, dwOpt->palette,
- dwOpt->state & State_Enabled, dwOpt->title,
+ dwOpt->state & State_Enabled, titleText,
QPalette::WindowText);
if (dwOpt->verticalTitleBar)