From 87dec648804bfa974a297c37542dd77de9f72e9f Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 9 Mar 2018 11:44:27 +0100 Subject: QQuickPane: calculate content size in C++ unless explicitly defined No more need for the clumsy and slow contentWidth and contentHeight bindings in Pane and its derivatives. QmlBench on TX1: Pane: 26.4 -> 32.8 frames (~24%) Frame: 25.4 -> 31 frames (~22%) GroupBox: 28.6 -> 32 frames (~12%) Change-Id: I4ba1d46ba6328de2ee0955c241d4b090127f6b85 Reviewed-by: Mitch Curtis --- src/imports/controls/universal/Frame.qml | 3 --- src/imports/controls/universal/GroupBox.qml | 3 --- src/imports/controls/universal/Pane.qml | 3 --- src/imports/controls/universal/ToolBar.qml | 3 --- 4 files changed, 12 deletions(-) (limited to 'src/imports/controls/universal') diff --git a/src/imports/controls/universal/Frame.qml b/src/imports/controls/universal/Frame.qml index 437325cd..fa4efc19 100644 --- a/src/imports/controls/universal/Frame.qml +++ b/src/imports/controls/universal/Frame.qml @@ -44,9 +44,6 @@ T.Frame { implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) - contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0) - contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0) - padding: 12 background: Rectangle { diff --git a/src/imports/controls/universal/GroupBox.qml b/src/imports/controls/universal/GroupBox.qml index 405e3c01..aaae298b 100644 --- a/src/imports/controls/universal/GroupBox.qml +++ b/src/imports/controls/universal/GroupBox.qml @@ -46,9 +46,6 @@ T.GroupBox { contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) - contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0) - contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0) - spacing: 12 padding: 12 topPadding: padding + (label && label.implicitWidth > 0 ? label.implicitHeight + spacing : 0) diff --git a/src/imports/controls/universal/Pane.qml b/src/imports/controls/universal/Pane.qml index 11d168c5..adb4b9f2 100644 --- a/src/imports/controls/universal/Pane.qml +++ b/src/imports/controls/universal/Pane.qml @@ -44,9 +44,6 @@ T.Pane { implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) - contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0) - contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0) - padding: 12 background: Rectangle { diff --git a/src/imports/controls/universal/ToolBar.qml b/src/imports/controls/universal/ToolBar.qml index 25256af8..6a11a1ce 100644 --- a/src/imports/controls/universal/ToolBar.qml +++ b/src/imports/controls/universal/ToolBar.qml @@ -44,9 +44,6 @@ T.ToolBar { implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding) - contentWidth: contentItem.implicitWidth || (contentChildren.length === 1 ? contentChildren[0].implicitWidth : 0) - contentHeight: contentItem.implicitHeight || (contentChildren.length === 1 ? contentChildren[0].implicitHeight : 0) - background: Rectangle { implicitHeight: 48 // AppBarThemeCompactHeight color: control.Universal.chromeMediumColor -- cgit v1.2.3