From 7db1fee09e0c052c89fc3d0e589dde08cc5951ae Mon Sep 17 00:00:00 2001 From: J-P Nurmi <jpnurmi@digia.com> Date: Thu, 23 May 2013 19:53:52 +0200 Subject: [PATCH] TabBar: do not force squeeze the tabs Let the style decide whether tabs should be squeezed or not. Change-Id: I25bdd9a4d045583613e14b4cba680642eda2ab59 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- src/private/TabBar.qml | 3 ++- src/styles/Base/TabViewStyle.qml | 5 ++++- src/styles/Desktop/TabViewStyle.qml | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/private/TabBar.qml b/src/private/TabBar.qml index 2fc7f3c98..5af3d3e2f 100644 --- a/src/private/TabBar.qml +++ b/src/private/TabBar.qml @@ -163,7 +163,7 @@ FocusScope { property bool previousSelected: tabView.currentIndex === index - 1 z: selected ? 1 : -index - implicitWidth: Math.min(tabloader.implicitWidth, availableWidth/tabrow.count) + 1 + implicitWidth: tabloader.implicitWidth implicitHeight: tabloader.implicitHeight onPressed: { @@ -180,6 +180,7 @@ FocusScope { property Item control: tabView property int index: tabindex + property real availableWidth: tabbar.availableWidth property QtObject tab: QtObject { readonly property alias index: tabitem.tabindex diff --git a/src/styles/Base/TabViewStyle.qml b/src/styles/Base/TabViewStyle.qml index 090a7d038..dfe1e4e98 100644 --- a/src/styles/Base/TabViewStyle.qml +++ b/src/styles/Base/TabViewStyle.qml @@ -134,7 +134,10 @@ Style { property Component tab: Item { scale: control.tabPosition === Qt.TopEdge ? 1 : -1 - implicitWidth: Math.round(textitem.implicitWidth + 20) + property int totalOverlap: tabOverlap * (control.count - 1) + property real maxTabWidth: (availableWidth + totalOverlap) / control.count + + implicitWidth: Math.round(Math.min(maxTabWidth, textitem.implicitWidth + 20)) implicitHeight: Math.round(textitem.implicitHeight + 10) clip: true diff --git a/src/styles/Desktop/TabViewStyle.qml b/src/styles/Desktop/TabViewStyle.qml index ccf7e2b9d..75c41223c 100644 --- a/src/styles/Desktop/TabViewStyle.qml +++ b/src/styles/Desktop/TabViewStyle.qml @@ -73,7 +73,9 @@ Style { property string orientation: control.tabPosition === Qt.TopEdge ? "Top" : "Bottom" property int tabHSpace: __barstyle.pixelMetric("tabhspace"); property int tabVSpace: __barstyle.pixelMetric("tabvspace"); - implicitWidth: Math.max(50, styleitem.textWidth(tab.title)) + tabHSpace + 2 + property int totalOverlap: tabOverlap * (control.count - 1) + property real maxTabWidth: (control.width + totalOverlap) / control.count + implicitWidth: Math.min(maxTabWidth, Math.max(50, styleitem.textWidth(tab.title)) + tabHSpace + 2) implicitHeight: Math.max(styleitem.font.pixelSize + tabVSpace + 6, 0) StyleItem { -- GitLab