summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorOleg Yadrov <oleg.yadrov@qt.io>2017-06-16 17:06:53 -0400
committerOleg Yadrov <oleg.yadrov@qt.io>2017-06-28 22:47:13 +0000
commit6e9d24212db60743f13497f942713961d6601844 (patch)
tree1b5e65e1542eb8a95eb91e1cdf9531c0a0860a65 /src/widgets
parentffe8884ac3a3b494786055aa51fd48e3d6edac16 (diff)
QTabBar: fix expanded tabs appearance
Fix regression introduced by 175f33ed8. 'expanding' property set to true was ignored when QStyle::styleHint() returned Qt::AlignRight for SH_TabBar_Alignment. When we calculate tabs geometry, we put an empty tab at the front and back and set its expansive attribute depending on tab alignment AND 'expanding' property. Task-number: QTBUG-61480 Change-Id: I6a1827ae8a3f2c6bee5124c18c7f2b1c0a7862f3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qtabbar.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp
index b9020253a5..85bc9a4a09 100644
--- a/src/widgets/widgets/qtabbar.cpp
+++ b/src/widgets/widgets/qtabbar.cpp
@@ -447,9 +447,10 @@ void QTabBarPrivate::layoutTabs()
QVector<QLayoutStruct> tabChain(tabList.count() + 2);
// We put an empty item at the front and back and set its expansive attribute
- // depending on tabAlignment.
+ // depending on tabAlignment and expanding.
tabChain[tabChainIndex].init();
- tabChain[tabChainIndex].expansive = (tabAlignment != Qt::AlignLeft)
+ tabChain[tabChainIndex].expansive = (!expanding)
+ && (tabAlignment != Qt::AlignLeft)
&& (tabAlignment != Qt::AlignJustify);
tabChain[tabChainIndex].empty = true;
++tabChainIndex;
@@ -514,13 +515,12 @@ void QTabBarPrivate::layoutTabs()
maxExtent = maxWidth;
}
- if (!expanding) {
- // Mirror our front item.
- tabChain[tabChainIndex].init();
- tabChain[tabChainIndex].expansive = (tabAlignment != Qt::AlignRight)
- && (tabAlignment != Qt::AlignJustify);
- tabChain[tabChainIndex].empty = true;
- }
+ // Mirror our front item.
+ tabChain[tabChainIndex].init();
+ tabChain[tabChainIndex].expansive = (!expanding)
+ && (tabAlignment != Qt::AlignRight)
+ && (tabAlignment != Qt::AlignJustify);
+ tabChain[tabChainIndex].empty = true;
Q_ASSERT(tabChainIndex == tabChain.count() - 1); // add an assert just to make sure.
// Do the calculation