aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/controls/CheckBox.qml2
-rw-r--r--src/imports/controls/CheckDelegate.qml2
-rw-r--r--src/imports/controls/ItemDelegate.qml2
-rw-r--r--src/imports/controls/MenuBarItem.qml2
-rw-r--r--src/imports/controls/MenuItem.qml2
-rw-r--r--src/imports/controls/RadioButton.qml2
-rw-r--r--src/imports/controls/RadioDelegate.qml2
-rw-r--r--src/imports/controls/SwipeDelegate.qml2
-rw-r--r--src/imports/controls/Switch.qml2
-rw-r--r--src/imports/controls/SwitchDelegate.qml2
-rw-r--r--src/imports/controls/fusion/CheckBox.qml2
-rw-r--r--src/imports/controls/fusion/CheckDelegate.qml2
-rw-r--r--src/imports/controls/fusion/ItemDelegate.qml2
-rw-r--r--src/imports/controls/fusion/MenuBarItem.qml2
-rw-r--r--src/imports/controls/fusion/MenuItem.qml2
-rw-r--r--src/imports/controls/fusion/RadioButton.qml2
-rw-r--r--src/imports/controls/fusion/RadioDelegate.qml2
-rw-r--r--src/imports/controls/fusion/SwipeDelegate.qml2
-rw-r--r--src/imports/controls/fusion/Switch.qml2
-rw-r--r--src/imports/controls/fusion/SwitchDelegate.qml2
-rw-r--r--src/imports/controls/imagine/CheckBox.qml2
-rw-r--r--src/imports/controls/imagine/CheckDelegate.qml2
-rw-r--r--src/imports/controls/imagine/ItemDelegate.qml2
-rw-r--r--src/imports/controls/imagine/MenuItem.qml2
-rw-r--r--src/imports/controls/imagine/RadioButton.qml2
-rw-r--r--src/imports/controls/imagine/RadioDelegate.qml2
-rw-r--r--src/imports/controls/imagine/SwipeDelegate.qml2
-rw-r--r--src/imports/controls/imagine/Switch.qml2
-rw-r--r--src/imports/controls/imagine/SwitchDelegate.qml2
-rw-r--r--src/imports/controls/material/CheckBox.qml2
-rw-r--r--src/imports/controls/material/CheckDelegate.qml2
-rw-r--r--src/imports/controls/material/ItemDelegate.qml2
-rw-r--r--src/imports/controls/material/MenuItem.qml2
-rw-r--r--src/imports/controls/material/RadioButton.qml2
-rw-r--r--src/imports/controls/material/RadioDelegate.qml2
-rw-r--r--src/imports/controls/material/SwipeDelegate.qml2
-rw-r--r--src/imports/controls/material/Switch.qml2
-rw-r--r--src/imports/controls/material/SwitchDelegate.qml2
-rw-r--r--src/imports/controls/universal/CheckBox.qml2
-rw-r--r--src/imports/controls/universal/CheckDelegate.qml2
-rw-r--r--src/imports/controls/universal/ItemDelegate.qml2
-rw-r--r--src/imports/controls/universal/MenuBarItem.qml2
-rw-r--r--src/imports/controls/universal/MenuItem.qml2
-rw-r--r--src/imports/controls/universal/RadioButton.qml2
-rw-r--r--src/imports/controls/universal/RadioDelegate.qml2
-rw-r--r--src/imports/controls/universal/SwipeDelegate.qml2
-rw-r--r--src/imports/controls/universal/Switch.qml2
-rw-r--r--src/imports/controls/universal/SwitchDelegate.qml2
-rw-r--r--src/imports/templates/qtquicktemplates2plugin.cpp1
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp72
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p.h10
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p_p.h3
52 files changed, 134 insertions, 48 deletions
diff --git a/src/imports/controls/CheckBox.qml b/src/imports/controls/CheckBox.qml
index 136804f0..47b7d45e 100644
--- a/src/imports/controls/CheckBox.qml
+++ b/src/imports/controls/CheckBox.qml
@@ -46,7 +46,7 @@ T.CheckBox {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/CheckDelegate.qml b/src/imports/controls/CheckDelegate.qml
index 28bde03d..275f39f4 100644
--- a/src/imports/controls/CheckDelegate.qml
+++ b/src/imports/controls/CheckDelegate.qml
@@ -46,7 +46,7 @@ T.CheckDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
spacing: 12
diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml
index 3c39698f..3d446ffa 100644
--- a/src/imports/controls/ItemDelegate.qml
+++ b/src/imports/controls/ItemDelegate.qml
@@ -46,7 +46,7 @@ T.ItemDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
spacing: 8
diff --git a/src/imports/controls/MenuBarItem.qml b/src/imports/controls/MenuBarItem.qml
index 6ce16dc1..c6408757 100644
--- a/src/imports/controls/MenuBarItem.qml
+++ b/src/imports/controls/MenuBarItem.qml
@@ -46,7 +46,7 @@ T.MenuBarItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 6
padding: 6
diff --git a/src/imports/controls/MenuItem.qml b/src/imports/controls/MenuItem.qml
index 8b4b03ef..e1a43d7d 100644
--- a/src/imports/controls/MenuItem.qml
+++ b/src/imports/controls/MenuItem.qml
@@ -46,7 +46,7 @@ T.MenuItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/RadioButton.qml b/src/imports/controls/RadioButton.qml
index b6c1b267..d53f4186 100644
--- a/src/imports/controls/RadioButton.qml
+++ b/src/imports/controls/RadioButton.qml
@@ -46,7 +46,7 @@ T.RadioButton {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/RadioDelegate.qml b/src/imports/controls/RadioDelegate.qml
index 23ffc7dc..e5d048ec 100644
--- a/src/imports/controls/RadioDelegate.qml
+++ b/src/imports/controls/RadioDelegate.qml
@@ -46,7 +46,7 @@ T.RadioDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
spacing: 12
diff --git a/src/imports/controls/SwipeDelegate.qml b/src/imports/controls/SwipeDelegate.qml
index 75533622..538cbce9 100644
--- a/src/imports/controls/SwipeDelegate.qml
+++ b/src/imports/controls/SwipeDelegate.qml
@@ -46,7 +46,7 @@ T.SwipeDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
spacing: 12
diff --git a/src/imports/controls/Switch.qml b/src/imports/controls/Switch.qml
index eaa46538..38666141 100644
--- a/src/imports/controls/Switch.qml
+++ b/src/imports/controls/Switch.qml
@@ -46,7 +46,7 @@ T.Switch {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/SwitchDelegate.qml b/src/imports/controls/SwitchDelegate.qml
index 8140b7bd..938d1f19 100644
--- a/src/imports/controls/SwitchDelegate.qml
+++ b/src/imports/controls/SwitchDelegate.qml
@@ -46,7 +46,7 @@ T.SwitchDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
spacing: 12
diff --git a/src/imports/controls/fusion/CheckBox.qml b/src/imports/controls/fusion/CheckBox.qml
index 52debad6..76f641e2 100644
--- a/src/imports/controls/fusion/CheckBox.qml
+++ b/src/imports/controls/fusion/CheckBox.qml
@@ -48,7 +48,7 @@ T.CheckBox {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/CheckDelegate.qml b/src/imports/controls/fusion/CheckDelegate.qml
index f11f4493..ee382e1b 100644
--- a/src/imports/controls/fusion/CheckDelegate.qml
+++ b/src/imports/controls/fusion/CheckDelegate.qml
@@ -48,7 +48,7 @@ T.CheckDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/ItemDelegate.qml b/src/imports/controls/fusion/ItemDelegate.qml
index d4b6e695..e23266f2 100644
--- a/src/imports/controls/fusion/ItemDelegate.qml
+++ b/src/imports/controls/fusion/ItemDelegate.qml
@@ -48,7 +48,7 @@ T.ItemDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/MenuBarItem.qml b/src/imports/controls/fusion/MenuBarItem.qml
index 40cf8ba6..fdcd090e 100644
--- a/src/imports/controls/fusion/MenuBarItem.qml
+++ b/src/imports/controls/fusion/MenuBarItem.qml
@@ -48,7 +48,7 @@ T.MenuBarItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/MenuItem.qml b/src/imports/controls/fusion/MenuItem.qml
index e1f85f86..0b12ac70 100644
--- a/src/imports/controls/fusion/MenuItem.qml
+++ b/src/imports/controls/fusion/MenuItem.qml
@@ -48,7 +48,7 @@ T.MenuItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/RadioButton.qml b/src/imports/controls/fusion/RadioButton.qml
index c9609ac3..70d6f957 100644
--- a/src/imports/controls/fusion/RadioButton.qml
+++ b/src/imports/controls/fusion/RadioButton.qml
@@ -48,7 +48,7 @@ T.RadioButton {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/RadioDelegate.qml b/src/imports/controls/fusion/RadioDelegate.qml
index 4cc95502..1b725dd9 100644
--- a/src/imports/controls/fusion/RadioDelegate.qml
+++ b/src/imports/controls/fusion/RadioDelegate.qml
@@ -48,7 +48,7 @@ T.RadioDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/SwipeDelegate.qml b/src/imports/controls/fusion/SwipeDelegate.qml
index 7bf144de..3f0feac4 100644
--- a/src/imports/controls/fusion/SwipeDelegate.qml
+++ b/src/imports/controls/fusion/SwipeDelegate.qml
@@ -48,7 +48,7 @@ T.SwipeDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/Switch.qml b/src/imports/controls/fusion/Switch.qml
index c533f1a8..3a828f24 100644
--- a/src/imports/controls/fusion/Switch.qml
+++ b/src/imports/controls/fusion/Switch.qml
@@ -48,7 +48,7 @@ T.Switch {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/fusion/SwitchDelegate.qml b/src/imports/controls/fusion/SwitchDelegate.qml
index 33f5472f..d7cf9015 100644
--- a/src/imports/controls/fusion/SwitchDelegate.qml
+++ b/src/imports/controls/fusion/SwitchDelegate.qml
@@ -48,7 +48,7 @@ T.SwitchDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 6
diff --git a/src/imports/controls/imagine/CheckBox.qml b/src/imports/controls/imagine/CheckBox.qml
index bcbae953..7da21fdd 100644
--- a/src/imports/controls/imagine/CheckBox.qml
+++ b/src/imports/controls/imagine/CheckBox.qml
@@ -46,7 +46,7 @@ T.CheckBox {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 6 // ###
diff --git a/src/imports/controls/imagine/CheckDelegate.qml b/src/imports/controls/imagine/CheckDelegate.qml
index c50470dd..7b09ce14 100644
--- a/src/imports/controls/imagine/CheckDelegate.qml
+++ b/src/imports/controls/imagine/CheckDelegate.qml
@@ -48,7 +48,7 @@ T.CheckDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12 // ###
diff --git a/src/imports/controls/imagine/ItemDelegate.qml b/src/imports/controls/imagine/ItemDelegate.qml
index 9059e67f..215240e5 100644
--- a/src/imports/controls/imagine/ItemDelegate.qml
+++ b/src/imports/controls/imagine/ItemDelegate.qml
@@ -48,7 +48,7 @@ T.ItemDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12 // ###
diff --git a/src/imports/controls/imagine/MenuItem.qml b/src/imports/controls/imagine/MenuItem.qml
index bb21e9e2..7b1c47c6 100644
--- a/src/imports/controls/imagine/MenuItem.qml
+++ b/src/imports/controls/imagine/MenuItem.qml
@@ -48,7 +48,7 @@ T.MenuItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 6 // ###
diff --git a/src/imports/controls/imagine/RadioButton.qml b/src/imports/controls/imagine/RadioButton.qml
index 9c84035b..fdce8cf1 100644
--- a/src/imports/controls/imagine/RadioButton.qml
+++ b/src/imports/controls/imagine/RadioButton.qml
@@ -46,7 +46,7 @@ T.RadioButton {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 6 // ###
diff --git a/src/imports/controls/imagine/RadioDelegate.qml b/src/imports/controls/imagine/RadioDelegate.qml
index b1028899..cfbb62c6 100644
--- a/src/imports/controls/imagine/RadioDelegate.qml
+++ b/src/imports/controls/imagine/RadioDelegate.qml
@@ -48,7 +48,7 @@ T.RadioDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12 // ###
diff --git a/src/imports/controls/imagine/SwipeDelegate.qml b/src/imports/controls/imagine/SwipeDelegate.qml
index 22035ca7..512578e3 100644
--- a/src/imports/controls/imagine/SwipeDelegate.qml
+++ b/src/imports/controls/imagine/SwipeDelegate.qml
@@ -48,7 +48,7 @@ T.SwipeDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12 // ###
diff --git a/src/imports/controls/imagine/Switch.qml b/src/imports/controls/imagine/Switch.qml
index 7fd81dee..a146202d 100644
--- a/src/imports/controls/imagine/Switch.qml
+++ b/src/imports/controls/imagine/Switch.qml
@@ -46,7 +46,7 @@ T.Switch {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 6 // ###
diff --git a/src/imports/controls/imagine/SwitchDelegate.qml b/src/imports/controls/imagine/SwitchDelegate.qml
index e4f64006..ca8f2e5c 100644
--- a/src/imports/controls/imagine/SwitchDelegate.qml
+++ b/src/imports/controls/imagine/SwitchDelegate.qml
@@ -48,7 +48,7 @@ T.SwitchDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12 // ###
diff --git a/src/imports/controls/material/CheckBox.qml b/src/imports/controls/material/CheckBox.qml
index d829f842..45191da6 100644
--- a/src/imports/controls/material/CheckBox.qml
+++ b/src/imports/controls/material/CheckBox.qml
@@ -46,7 +46,7 @@ T.CheckBox {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 8
padding: 8
diff --git a/src/imports/controls/material/CheckDelegate.qml b/src/imports/controls/material/CheckDelegate.qml
index 66e76e0e..429ce84f 100644
--- a/src/imports/controls/material/CheckDelegate.qml
+++ b/src/imports/controls/material/CheckDelegate.qml
@@ -48,7 +48,7 @@ T.CheckDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: 8
diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml
index abc4f5ac..072aea71 100644
--- a/src/imports/controls/material/ItemDelegate.qml
+++ b/src/imports/controls/material/ItemDelegate.qml
@@ -48,7 +48,7 @@ T.ItemDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: 8
diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml
index 7ae0e103..fb5f7055 100644
--- a/src/imports/controls/material/MenuItem.qml
+++ b/src/imports/controls/material/MenuItem.qml
@@ -48,7 +48,7 @@ T.MenuItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: Material.menuItemVerticalPadding
diff --git a/src/imports/controls/material/RadioButton.qml b/src/imports/controls/material/RadioButton.qml
index b7744a85..f6dc6100 100644
--- a/src/imports/controls/material/RadioButton.qml
+++ b/src/imports/controls/material/RadioButton.qml
@@ -46,7 +46,7 @@ T.RadioButton {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 8
padding: 8
diff --git a/src/imports/controls/material/RadioDelegate.qml b/src/imports/controls/material/RadioDelegate.qml
index bec8f64b..cce9a519 100644
--- a/src/imports/controls/material/RadioDelegate.qml
+++ b/src/imports/controls/material/RadioDelegate.qml
@@ -48,7 +48,7 @@ T.RadioDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: 8
diff --git a/src/imports/controls/material/SwipeDelegate.qml b/src/imports/controls/material/SwipeDelegate.qml
index fc4dbc20..cf555caa 100644
--- a/src/imports/controls/material/SwipeDelegate.qml
+++ b/src/imports/controls/material/SwipeDelegate.qml
@@ -48,7 +48,7 @@ T.SwipeDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: 8
diff --git a/src/imports/controls/material/Switch.qml b/src/imports/controls/material/Switch.qml
index c595465d..7886442c 100644
--- a/src/imports/controls/material/Switch.qml
+++ b/src/imports/controls/material/Switch.qml
@@ -46,7 +46,7 @@ T.Switch {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 8
spacing: 8
diff --git a/src/imports/controls/material/SwitchDelegate.qml b/src/imports/controls/material/SwitchDelegate.qml
index 0e62ea7d..077901b6 100644
--- a/src/imports/controls/material/SwitchDelegate.qml
+++ b/src/imports/controls/material/SwitchDelegate.qml
@@ -48,7 +48,7 @@ T.SwitchDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 16
verticalPadding: Material.switchDelegateVerticalPadding
diff --git a/src/imports/controls/universal/CheckBox.qml b/src/imports/controls/universal/CheckBox.qml
index 64fbe793..d18f2bd2 100644
--- a/src/imports/controls/universal/CheckBox.qml
+++ b/src/imports/controls/universal/CheckBox.qml
@@ -46,7 +46,7 @@ T.CheckBox {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 8
diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml
index 63c700f6..36e10405 100644
--- a/src/imports/controls/universal/CheckDelegate.qml
+++ b/src/imports/controls/universal/CheckDelegate.qml
@@ -48,7 +48,7 @@ T.CheckDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12
diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml
index 41e093cd..105b77ea 100644
--- a/src/imports/controls/universal/ItemDelegate.qml
+++ b/src/imports/controls/universal/ItemDelegate.qml
@@ -47,7 +47,7 @@ T.ItemDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12
diff --git a/src/imports/controls/universal/MenuBarItem.qml b/src/imports/controls/universal/MenuBarItem.qml
index 547af7f8..b4dda71f 100644
--- a/src/imports/controls/universal/MenuBarItem.qml
+++ b/src/imports/controls/universal/MenuBarItem.qml
@@ -47,7 +47,7 @@ T.MenuBarItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
topPadding: padding - 1
diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml
index f4bc8921..457d21d6 100644
--- a/src/imports/controls/universal/MenuItem.qml
+++ b/src/imports/controls/universal/MenuItem.qml
@@ -47,7 +47,7 @@ T.MenuItem {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 12
topPadding: padding - 1
diff --git a/src/imports/controls/universal/RadioButton.qml b/src/imports/controls/universal/RadioButton.qml
index 1ba2d290..a4612345 100644
--- a/src/imports/controls/universal/RadioButton.qml
+++ b/src/imports/controls/universal/RadioButton.qml
@@ -46,7 +46,7 @@ T.RadioButton {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 6
spacing: 8
diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml
index 5e9a8234..0b48af87 100644
--- a/src/imports/controls/universal/RadioDelegate.qml
+++ b/src/imports/controls/universal/RadioDelegate.qml
@@ -48,7 +48,7 @@ T.RadioDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12
diff --git a/src/imports/controls/universal/SwipeDelegate.qml b/src/imports/controls/universal/SwipeDelegate.qml
index 1e02d01e..bb329621 100644
--- a/src/imports/controls/universal/SwipeDelegate.qml
+++ b/src/imports/controls/universal/SwipeDelegate.qml
@@ -47,7 +47,7 @@ T.SwipeDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12
diff --git a/src/imports/controls/universal/Switch.qml b/src/imports/controls/universal/Switch.qml
index ad208f13..bb559c5e 100644
--- a/src/imports/controls/universal/Switch.qml
+++ b/src/imports/controls/universal/Switch.qml
@@ -46,7 +46,7 @@ T.Switch {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
padding: 5
spacing: 8
diff --git a/src/imports/controls/universal/SwitchDelegate.qml b/src/imports/controls/universal/SwitchDelegate.qml
index 68a40b02..bec1e222 100644
--- a/src/imports/controls/universal/SwitchDelegate.qml
+++ b/src/imports/controls/universal/SwitchDelegate.qml
@@ -48,7 +48,7 @@ T.SwitchDelegate {
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight,
Math.max(implicitContentHeight,
- indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
+ implicitIndicatorHeight) + topPadding + bottomPadding)
spacing: 12
diff --git a/src/imports/templates/qtquicktemplates2plugin.cpp b/src/imports/templates/qtquicktemplates2plugin.cpp
index 0bc5c9fc..46fc6868 100644
--- a/src/imports/templates/qtquicktemplates2plugin.cpp
+++ b/src/imports/templates/qtquicktemplates2plugin.cpp
@@ -332,6 +332,7 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri)
qmlRegisterType<QQuickSpinBox, 4>(uri, 2, 4, "SpinBox");
// QtQuick.Templates 2.5 (new types and revisions in Qt 5.12)
+ qmlRegisterType<QQuickAbstractButton, 5>(uri, 2, 5, "AbstractButton");
qmlRegisterType<QQuickDialogButtonBox, 5>(uri, 2, 5, "DialogButtonBox");
qmlRegisterType<QQuickControl, 5>(uri, 2, 5, "Control");
qmlRegisterType<QQuickContainer, 5>(uri, 2, 5, "Container");
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index 0a8b8ddf..9f92155e 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -388,6 +388,22 @@ void QQuickAbstractButtonPrivate::executeIndicator(bool complete)
quickCompleteDeferred(q, indicatorName(), indicator);
}
+void QQuickAbstractButtonPrivate::itemImplicitWidthChanged(QQuickItem *item)
+{
+ Q_Q(QQuickAbstractButton);
+ QQuickControlPrivate::itemImplicitWidthChanged(item);
+ if (item == indicator)
+ emit q->implicitIndicatorWidthChanged();
+}
+
+void QQuickAbstractButtonPrivate::itemImplicitHeightChanged(QQuickItem *item)
+{
+ Q_Q(QQuickAbstractButton);
+ QQuickControlPrivate::itemImplicitHeightChanged(item);
+ if (item == indicator)
+ emit q->implicitIndicatorHeightChanged();
+}
+
QQuickAbstractButton *QQuickAbstractButtonPrivate::findCheckedButton() const
{
Q_Q(const QQuickAbstractButton);
@@ -458,6 +474,7 @@ QQuickAbstractButton::QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQui
QQuickAbstractButton::~QQuickAbstractButton()
{
Q_D(QQuickAbstractButton);
+ d->removeImplicitSizeListener(d->indicator);
if (d->group)
d->group->removeButton(this);
d->ungrabShortcut();
@@ -706,13 +723,24 @@ void QQuickAbstractButton::setIndicator(QQuickItem *indicator)
if (!d->indicator.isExecuting())
d->cancelIndicator();
+ const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
+ const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
+
+ d->removeImplicitSizeListener(d->indicator);
delete d->indicator;
d->indicator = indicator;
+
if (indicator) {
if (!indicator->parentItem())
indicator->setParentItem(this);
indicator->setAcceptedMouseButtons(Qt::LeftButton);
+ d->addImplicitSizeListener(indicator);
}
+
+ if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
+ emit implicitIndicatorWidthChanged();
+ if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
+ emit implicitIndicatorHeightChanged();
if (!d->indicator.isExecuting())
emit indicatorChanged();
}
@@ -940,6 +968,50 @@ qreal QQuickAbstractButton::pressY() const
}
/*!
+ \since QtQuick.Controls 2.5 (Qt 5.12)
+ \qmlproperty real QtQuick.Controls::AbstractButton::implicitIndicatorWidth
+ \readonly
+
+ This property holds the implicit indicator width.
+
+ The value is equal to \c {indicator ? indicator.implicitWidth : 0}.
+
+ This is typically used, together with \l {Control::}{implicitContentWidth} and
+ \l {Control::}{implicitBackgroundWidth}, to calculate the \l {Item::}{implicitWidth}.
+
+ \sa implicitIndicatorHeight
+*/
+qreal QQuickAbstractButton::implicitIndicatorWidth() const
+{
+ Q_D(const QQuickAbstractButton);
+ if (!d->indicator)
+ return 0;
+ return d->indicator->implicitWidth();
+}
+
+/*!
+ \since QtQuick.Controls 2.5 (Qt 5.12)
+ \qmlproperty real QtQuick.Controls::AbstractButton::implicitIndicatorHeight
+ \readonly
+
+ This property holds the implicit indicator height.
+
+ The value is equal to \c {indicator ? indicator.implicitHeight : 0}.
+
+ This is typically used, together with \l {Control::}{implicitContentHeight} and
+ \l {Control::}{implicitBackgroundHeight}, to calculate the \l {Item::}{implicitHeight}.
+
+ \sa implicitIndicatorWidth
+*/
+qreal QQuickAbstractButton::implicitIndicatorHeight() const
+{
+ Q_D(const QQuickAbstractButton);
+ if (!d->indicator)
+ return 0;
+ return d->indicator->implicitHeight();
+}
+
+/*!
\qmlmethod void QtQuick.Controls::AbstractButton::toggle()
Toggles the checked state of the button.
diff --git a/src/quicktemplates2/qquickabstractbutton_p.h b/src/quicktemplates2/qquickabstractbutton_p.h
index de0c26ab..0fa48980 100644
--- a/src/quicktemplates2/qquickabstractbutton_p.h
+++ b/src/quicktemplates2/qquickabstractbutton_p.h
@@ -76,6 +76,9 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickAbstractButton : public QQuickContr
Q_PROPERTY(int autoRepeatInterval READ autoRepeatInterval WRITE setAutoRepeatInterval NOTIFY autoRepeatIntervalChanged FINAL REVISION 4)
Q_PROPERTY(qreal pressX READ pressX NOTIFY pressXChanged FINAL REVISION 4)
Q_PROPERTY(qreal pressY READ pressY NOTIFY pressYChanged FINAL REVISION 4)
+ // 2.5 (Qt 5.12)
+ Q_PROPERTY(qreal implicitIndicatorWidth READ implicitIndicatorWidth NOTIFY implicitIndicatorWidthChanged FINAL REVISION 5)
+ Q_PROPERTY(qreal implicitIndicatorHeight READ implicitIndicatorHeight NOTIFY implicitIndicatorHeightChanged FINAL REVISION 5)
Q_CLASSINFO("DeferredPropertyNames", "background,contentItem,indicator")
public:
@@ -141,6 +144,10 @@ public:
qreal pressX() const;
qreal pressY() const;
+ // 2.5 (Qt 5.12)
+ qreal implicitIndicatorWidth() const;
+ qreal implicitIndicatorHeight() const;
+
public Q_SLOTS:
void toggle();
@@ -170,6 +177,9 @@ Q_SIGNALS:
Q_REVISION(4) void autoRepeatIntervalChanged();
Q_REVISION(4) void pressXChanged();
Q_REVISION(4) void pressYChanged();
+ // 2.5 (Qt 5.12)
+ Q_REVISION(5) void implicitIndicatorWidthChanged();
+ Q_REVISION(5) void implicitIndicatorHeightChanged();
protected:
QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQuickItem *parent);
diff --git a/src/quicktemplates2/qquickabstractbutton_p_p.h b/src/quicktemplates2/qquickabstractbutton_p_p.h
index bb74e143..d88e5d31 100644
--- a/src/quicktemplates2/qquickabstractbutton_p_p.h
+++ b/src/quicktemplates2/qquickabstractbutton_p_p.h
@@ -105,6 +105,9 @@ public:
void cancelIndicator();
void executeIndicator(bool complete = false);
+ void itemImplicitWidthChanged(QQuickItem *item) override;
+ void itemImplicitHeightChanged(QQuickItem *item) override;
+
QString text;
bool explicitText;
bool down;