diff options
26 files changed, 244 insertions, 108 deletions
diff --git a/src/imports/controls/DialogButtonBox.qml b/src/imports/controls/DialogButtonBox.qml index 15619288..943e8b15 100644 --- a/src/imports/controls/DialogButtonBox.qml +++ b/src/imports/controls/DialogButtonBox.qml @@ -54,7 +54,7 @@ T.DialogButtonBox { } contentItem: ListView { - implicitWidth: contentWidth + implicitWidth: control.count === 1 ? 200 : contentWidth implicitHeight: 40 model: control.contentModel diff --git a/src/imports/controls/controls.pro b/src/imports/controls/controls.pro index b75e4f56..6bbbe0d4 100644 --- a/src/imports/controls/controls.pro +++ b/src/imports/controls/controls.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2plugin TARGETPATH = QtQuick/Controls.2 -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private diff --git a/src/imports/controls/dependencies.json b/src/imports/controls/dependencies.json index 8cec519e..485db225 100644 --- a/src/imports/controls/dependencies.json +++ b/src/imports/controls/dependencies.json @@ -2,7 +2,7 @@ { "name": "QtQuick", "type": "module", - "version": "2.9" + "version": "2.11" }, { "name": "QtQuick.Window", @@ -12,6 +12,6 @@ { "name": "QtQuick.Templates", "type": "module", - "version": "2.3" + "version": "2.4" } ] diff --git a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc index cabd66da..9061097b 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc @@ -31,7 +31,7 @@ The Imagine Style is based on configurable image assets. \l{detailed-desc-imagine}{More...} - \styleimport {QtQuick.Controls.Imagine 2.3} {Qt 5.10} + \styleimport {QtQuick.Controls.Imagine 2.4} {Qt 5.10} \section1 Attached Properties diff --git a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc index cbe21282..9b737939 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc @@ -46,7 +46,7 @@ application using the following import statement in your \c {.qml} file: \code - import QtQuick.Controls 2.3 + import QtQuick.Controls 2.4 \endcode The \l{Qt Quick Controls 2 C++ Classes}{C++ classes} can be included into diff --git a/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc index 0720a19a..86a37551 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-material.qdoc @@ -32,7 +32,7 @@ The Material Style is based on the Google Material Design Guidelines. \l{detailed-desc-material}{More...} - \styleimport {QtQuick.Controls.Material 2.3} {Qt 5.7} + \styleimport {QtQuick.Controls.Material 2.4} {Qt 5.7} \section1 Attached Properties diff --git a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc index 4bdccecc..d4576617 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc @@ -26,7 +26,7 @@ ****************************************************************************/ /*! - \qmlmodule QtQuick.Controls 2.3 + \qmlmodule QtQuick.Controls 2.4 \title Qt Quick Controls 2 QML Types \ingroup qmlmodules \brief Provides QML types for user interfaces (Qt Quick Controls 2). @@ -39,7 +39,7 @@ using the following import statement in your .qml file: \badcode - import QtQuick.Controls 2.3 + import QtQuick.Controls 2.4 \endcode \section1 QML Types diff --git a/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc index 8e88f345..abd027e4 100644 --- a/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc +++ b/src/imports/controls/doc/src/qtquickcontrols2-universal.qdoc @@ -32,7 +32,7 @@ The Universal Style is based on the Microsoft Universal Design Guidelines. \l {detailed-desc-universal}{More...} - \styleimport {QtQuick.Controls.Universal 2.3} {Qt 5.7} + \styleimport {QtQuick.Controls.Universal 2.4} {Qt 5.7} \section1 Attached Properties diff --git a/src/imports/controls/fusion/fusion.pro b/src/imports/controls/fusion/fusion.pro index c2b649cf..2934778b 100644 --- a/src/imports/controls/fusion/fusion.pro +++ b/src/imports/controls/fusion/fusion.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2fusionstyleplugin TARGETPATH = QtQuick/Controls.2/Fusion -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private diff --git a/src/imports/controls/fusion/qmldir b/src/imports/controls/fusion/qmldir index c37b9f9f..6857b398 100644 --- a/src/imports/controls/fusion/qmldir +++ b/src/imports/controls/fusion/qmldir @@ -1,4 +1,4 @@ module QtQuick.Controls.Fusion plugin qtquickcontrols2fusionstyleplugin classname QtQuickControls2FusionStylePlugin -depends QtQuick.Controls 2.3 +depends QtQuick.Controls 2.4 diff --git a/src/imports/controls/imagine/DialogButtonBox.qml b/src/imports/controls/imagine/DialogButtonBox.qml index e550c16b..2d07638e 100644 --- a/src/imports/controls/imagine/DialogButtonBox.qml +++ b/src/imports/controls/imagine/DialogButtonBox.qml @@ -60,7 +60,7 @@ T.DialogButtonBox { } contentItem: ListView { - implicitWidth: contentWidth + implicitWidth: control.count === 1 ? 200 : contentWidth implicitHeight: 32 model: control.contentModel diff --git a/src/imports/controls/imagine/imagine.pro b/src/imports/controls/imagine/imagine.pro index 19e86028..8e84c115 100644 --- a/src/imports/controls/imagine/imagine.pro +++ b/src/imports/controls/imagine/imagine.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2imaginestyleplugin TARGETPATH = QtQuick/Controls.2/Imagine -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private diff --git a/src/imports/controls/imagine/qmldir b/src/imports/controls/imagine/qmldir index 04c5d2ce..48fd3bdb 100644 --- a/src/imports/controls/imagine/qmldir +++ b/src/imports/controls/imagine/qmldir @@ -1,5 +1,5 @@ module QtQuick.Controls.Imagine plugin qtquickcontrols2imaginestyleplugin classname QtQuickControls2ImagineStylePlugin -depends QtQuick.Controls 2.3 +depends QtQuick.Controls 2.4 depends QtGraphicalEffects 1.0 diff --git a/src/imports/controls/material/material.pro b/src/imports/controls/material/material.pro index 5d036b61..9e04a23d 100644 --- a/src/imports/controls/material/material.pro +++ b/src/imports/controls/material/material.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2materialstyleplugin TARGETPATH = QtQuick/Controls.2/Material -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private diff --git a/src/imports/controls/material/qmldir b/src/imports/controls/material/qmldir index a5bae170..d6ab0177 100644 --- a/src/imports/controls/material/qmldir +++ b/src/imports/controls/material/qmldir @@ -1,4 +1,4 @@ module QtQuick.Controls.Material plugin qtquickcontrols2materialstyleplugin classname QtQuickControls2MaterialStylePlugin -depends QtQuick.Controls 2.3 +depends QtQuick.Controls 2.4 diff --git a/src/imports/controls/plugins.qmltypes b/src/imports/controls/plugins.qmltypes index d5593246..8b2be4a1 100644 --- a/src/imports/controls/plugins.qmltypes +++ b/src/imports/controls/plugins.qmltypes @@ -4,12 +4,12 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable QtQuick.Controls 2.3 -merge ../templates/plugins.qmltypes -dependencies dependencies.json' +// 'qmlplugindump -nonrelocatable QtQuick.Controls 2.4 -merge ../templates/plugins.qmltypes -dependencies dependencies.json' Module { dependencies: [ - "QtQuick 2.9", - "QtQuick.Templates 2.3", + "QtQuick 2.11", + "QtQuick.Templates 2.4", "QtQuick.Window 2.2" ] Component { @@ -20,6 +20,17 @@ Module { exportMetaObjectRevisions: [0] } Component { + name: "QQuickClippedText" + defaultProperty: "data" + prototype: "QQuickText" + exports: ["QtQuick.Controls.impl/ClippedText 2.2"] + exportMetaObjectRevisions: [0] + Property { name: "clipX"; type: "double" } + Property { name: "clipY"; type: "double" } + Property { name: "clipWidth"; type: "double" } + Property { name: "clipHeight"; type: "double" } + } + Component { name: "QQuickColor" prototype: "QObject" exports: ["QtQuick.Controls.impl/Color 2.3"] @@ -57,6 +68,7 @@ Module { exportMetaObjectRevisions: [0] Property { name: "pen"; type: "QColor" } Property { name: "fill"; type: "QColor" } + Property { name: "running"; type: "bool" } } Component { name: "QQuickDefaultDial" @@ -163,6 +175,13 @@ Module { Property { name: "bottomPadding"; type: "double" } } Component { + name: "QQuickItemGroup" + defaultProperty: "data" + prototype: "QQuickImplicitSizeItem" + exports: ["QtQuick.Controls.impl/ItemGroup 2.2"] + exportMetaObjectRevisions: [0] + } + Component { name: "QQuickMnemonicLabel" defaultProperty: "data" prototype: "QQuickText" @@ -638,9 +657,10 @@ Module { exports: [ "QtQuick.Templates/AbstractButton 2.0", "QtQuick.Templates/AbstractButton 2.2", - "QtQuick.Templates/AbstractButton 2.3" + "QtQuick.Templates/AbstractButton 2.3", + "QtQuick.Templates/AbstractButton 2.4" ] - exportMetaObjectRevisions: [0, 2, 3] + exportMetaObjectRevisions: [0, 2, 3, 4] Enum { name: "Display" values: { @@ -656,10 +676,15 @@ Module { Property { name: "checked"; type: "bool" } Property { name: "checkable"; type: "bool" } Property { name: "autoExclusive"; type: "bool" } + Property { name: "autoRepeat"; type: "bool" } Property { name: "indicator"; type: "QQuickItem"; isPointer: true } Property { name: "icon"; revision: 3; type: "QQuickIcon" } Property { name: "display"; revision: 3; type: "Display" } Property { name: "action"; revision: 3; type: "QQuickAction"; isPointer: true } + Property { name: "autoRepeatDelay"; revision: 4; type: "int" } + Property { name: "autoRepeatInterval"; revision: 4; type: "int" } + Property { name: "pressX"; revision: 4; type: "double"; isReadonly: true } + Property { name: "pressY"; revision: 4; type: "double"; isReadonly: true } Signal { name: "pressed" } Signal { name: "released" } Signal { name: "canceled" } @@ -670,6 +695,10 @@ Module { Signal { name: "iconChanged"; revision: 3 } Signal { name: "displayChanged"; revision: 3 } Signal { name: "actionChanged"; revision: 3 } + Signal { name: "autoRepeatDelayChanged"; revision: 4 } + Signal { name: "autoRepeatIntervalChanged"; revision: 4 } + Signal { name: "pressXChanged"; revision: 4 } + Signal { name: "pressYChanged"; revision: 4 } Method { name: "toggle" } } Component { @@ -806,7 +835,6 @@ Module { prototype: "QQuickAbstractButton" exports: ["QtQuick.Templates/Button 2.0"] exportMetaObjectRevisions: [0] - Property { name: "autoRepeat"; type: "bool" } Property { name: "highlighted"; type: "bool" } Property { name: "flat"; type: "bool" } } @@ -816,19 +844,22 @@ Module { exports: [ "QtQuick.Templates/ButtonGroup 2.0", "QtQuick.Templates/ButtonGroup 2.1", - "QtQuick.Templates/ButtonGroup 2.3" + "QtQuick.Templates/ButtonGroup 2.3", + "QtQuick.Templates/ButtonGroup 2.4" ] - exportMetaObjectRevisions: [0, 1, 3] + exportMetaObjectRevisions: [0, 1, 3, 4] attachedType: "QQuickButtonGroupAttached" Property { name: "checkedButton"; type: "QQuickAbstractButton"; isPointer: true } Property { name: "buttons"; type: "QQuickAbstractButton"; isList: true; isReadonly: true } Property { name: "exclusive"; revision: 3; type: "bool" } + Property { name: "checkState"; revision: 4; type: "Qt::CheckState" } Signal { name: "clicked" revision: 1 Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } } Signal { name: "exclusiveChanged"; revision: 3 } + Signal { name: "checkStateChanged"; revision: 4 } Method { name: "addButton" Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } @@ -847,19 +878,29 @@ Module { name: "QQuickCheckBox" defaultProperty: "data" prototype: "QQuickAbstractButton" - exports: ["QtQuick.Templates/CheckBox 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/CheckBox 2.0", + "QtQuick.Templates/CheckBox 2.4" + ] + exportMetaObjectRevisions: [0, 4] Property { name: "tristate"; type: "bool" } Property { name: "checkState"; type: "Qt::CheckState" } + Property { name: "nextCheckState"; revision: 4; type: "QJSValue" } + Signal { name: "nextCheckStateChanged"; revision: 4 } } Component { name: "QQuickCheckDelegate" defaultProperty: "data" prototype: "QQuickItemDelegate" - exports: ["QtQuick.Templates/CheckDelegate 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/CheckDelegate 2.0", + "QtQuick.Templates/CheckDelegate 2.4" + ] + exportMetaObjectRevisions: [0, 4] Property { name: "tristate"; type: "bool" } Property { name: "checkState"; type: "Qt::CheckState" } + Property { name: "nextCheckState"; revision: 4; type: "QJSValue" } + Signal { name: "nextCheckStateChanged"; revision: 4 } } Component { name: "QQuickComboBox" @@ -1117,13 +1158,13 @@ Module { Signal { name: "accepted" } Signal { name: "rejected" } Signal { name: "helpRequested" } - Signal { name: "applied"; revision: 3 } - Signal { name: "reset"; revision: 3 } - Signal { name: "discarded"; revision: 3 } Signal { name: "clicked" Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } } + Signal { name: "applied"; revision: 3 } + Signal { name: "reset"; revision: 3 } + Signal { name: "discarded"; revision: 3 } Method { name: "standardButton" type: "QQuickAbstractButton*" @@ -1179,8 +1220,11 @@ Module { name: "QQuickLabel" defaultProperty: "data" prototype: "QQuickText" - exports: ["QtQuick.Templates/Label 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/Label 2.0", + "QtQuick.Templates/Label 2.3" + ] + exportMetaObjectRevisions: [0, 3] Property { name: "font"; type: "QFont" } Property { name: "background"; type: "QQuickItem"; isPointer: true } Property { name: "palette"; revision: 3; type: "QPalette" } @@ -1192,19 +1236,19 @@ Module { prototype: "QQuickPopup" exports: ["QtQuick.Templates/Menu 2.0", "QtQuick.Templates/Menu 2.3"] exportMetaObjectRevisions: [0, 3] - Property { name: "count"; revision: 3; type: "int"; isReadonly: true } Property { name: "contentModel"; type: "QVariant"; isReadonly: true } Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true } Property { name: "title"; type: "string" } + Property { name: "count"; revision: 3; type: "int"; isReadonly: true } Property { name: "cascade"; revision: 3; type: "bool" } Property { name: "overlap"; revision: 3; type: "double" } Property { name: "delegate"; revision: 3; type: "QQmlComponent"; isPointer: true } Property { name: "currentIndex"; revision: 3; type: "int" } - Signal { name: "countChanged"; revision: 3 } Signal { name: "titleChanged" Parameter { name: "title"; type: "string" } } + Signal { name: "countChanged"; revision: 3 } Signal { name: "cascadeChanged" revision: 3 @@ -1493,9 +1537,7 @@ Module { Property { name: "rightPadding"; type: "double" } Property { name: "bottomPadding"; type: "double" } Property { name: "locale"; type: "QLocale" } - Property { name: "mirrored"; revision: 3; type: "bool"; isReadonly: true } Property { name: "font"; type: "QFont" } - Property { name: "palette"; revision: 3; type: "QPalette" } Property { name: "parent"; type: "QQuickItem"; isPointer: true } Property { name: "background"; type: "QQuickItem"; isPointer: true } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } @@ -1507,8 +1549,6 @@ Module { Property { name: "modal"; type: "bool" } Property { name: "dim"; type: "bool" } Property { name: "visible"; type: "bool" } - Property { name: "enabled"; revision: 3; type: "bool" } - Property { name: "opened"; revision: 3; type: "bool"; isReadonly: true } Property { name: "opacity"; type: "double" } Property { name: "scale"; type: "double" } Property { name: "closePolicy"; type: "ClosePolicy" } @@ -1516,19 +1556,23 @@ Module { Property { name: "enter"; type: "QQuickTransition"; isPointer: true } Property { name: "exit"; type: "QQuickTransition"; isPointer: true } Property { name: "spacing"; revision: 1; type: "double" } + Property { name: "opened"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "mirrored"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "enabled"; revision: 3; type: "bool" } + Property { name: "palette"; revision: 3; type: "QPalette" } Signal { name: "opened" } Signal { name: "closed" } Signal { name: "aboutToShow" } Signal { name: "aboutToHide" } - Signal { name: "mirroredChanged"; revision: 3 } - Signal { name: "paletteChanged"; revision: 3 } - Signal { name: "enabledChanged"; revision: 3 } - Signal { name: "openedChanged"; revision: 3 } Signal { name: "windowChanged" Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } } Signal { name: "spacingChanged"; revision: 1 } + Signal { name: "openedChanged"; revision: 3 } + Signal { name: "mirroredChanged"; revision: 3 } + Signal { name: "enabledChanged"; revision: 3 } + Signal { name: "paletteChanged"; revision: 3 } Method { name: "open" } Method { name: "close" } Method { @@ -1618,7 +1662,7 @@ Module { defaultProperty: "data" prototype: "QQuickButton" exports: ["QtQuick.Templates/RoundButton 2.1"] - exportMetaObjectRevisions: [1] + exportMetaObjectRevisions: [0] Property { name: "radius"; type: "double" } } Component { @@ -1628,9 +1672,10 @@ Module { exports: [ "QtQuick.Templates/ScrollBar 2.0", "QtQuick.Templates/ScrollBar 2.2", - "QtQuick.Templates/ScrollBar 2.3" + "QtQuick.Templates/ScrollBar 2.3", + "QtQuick.Templates/ScrollBar 2.4" ] - exportMetaObjectRevisions: [0, 2, 3] + exportMetaObjectRevisions: [0, 2, 3, 4] attachedType: "QQuickScrollBarAttached" Enum { name: "SnapMode" @@ -1659,9 +1704,15 @@ Module { Property { name: "policy"; revision: 2; type: "Policy" } Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "minimumSize"; revision: 4; type: "double" } + Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true } + Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true } Signal { name: "snapModeChanged"; revision: 2 } Signal { name: "interactiveChanged"; revision: 2 } Signal { name: "policyChanged"; revision: 2 } + Signal { name: "minimumSizeChanged"; revision: 4 } + Signal { name: "visualSizeChanged"; revision: 4 } + Signal { name: "visualPositionChanged"; revision: 4 } Method { name: "increase" } Method { name: "decrease" } Method { @@ -1685,9 +1736,10 @@ Module { prototype: "QQuickControl" exports: [ "QtQuick.Templates/ScrollIndicator 2.0", - "QtQuick.Templates/ScrollIndicator 2.3" + "QtQuick.Templates/ScrollIndicator 2.3", + "QtQuick.Templates/ScrollIndicator 2.4" ] - exportMetaObjectRevisions: [0, 3] + exportMetaObjectRevisions: [0, 3, 4] attachedType: "QQuickScrollIndicatorAttached" Property { name: "size"; type: "double" } Property { name: "position"; type: "double" } @@ -1695,6 +1747,12 @@ Module { Property { name: "orientation"; type: "Qt::Orientation" } Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "minimumSize"; revision: 4; type: "double" } + Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true } + Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true } + Signal { name: "minimumSizeChanged"; revision: 4 } + Signal { name: "visualSizeChanged"; revision: 4 } + Signal { name: "visualPositionChanged"; revision: 4 } Method { name: "setSize" Parameter { name: "size"; type: "double" } @@ -1748,11 +1806,11 @@ Module { Property { name: "stepSize"; type: "double" } Property { name: "snapMode"; type: "SnapMode" } Property { name: "pressed"; type: "bool" } - Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } - Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } Property { name: "orientation"; type: "Qt::Orientation" } Property { name: "handle"; type: "QQuickItem"; isPointer: true } Property { name: "live"; revision: 2; type: "bool" } + Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } Signal { name: "moved"; revision: 2 } Signal { name: "liveChanged"; revision: 2 } Method { name: "increase" } @@ -1772,9 +1830,10 @@ Module { "QtQuick.Templates/SpinBox 2.0", "QtQuick.Templates/SpinBox 2.1", "QtQuick.Templates/SpinBox 2.2", - "QtQuick.Templates/SpinBox 2.3" + "QtQuick.Templates/SpinBox 2.3", + "QtQuick.Templates/SpinBox 2.4" ] - exportMetaObjectRevisions: [0, 1, 2, 3] + exportMetaObjectRevisions: [0, 1, 2, 3, 4] Property { name: "from"; type: "int" } Property { name: "to"; type: "int" } Property { name: "value"; type: "int" } @@ -1788,10 +1847,12 @@ Module { Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" } Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true } Property { name: "wrap"; revision: 3; type: "bool" } + Property { name: "displayText"; revision: 4; type: "string"; isReadonly: true } Signal { name: "valueModified"; revision: 2 } Signal { name: "inputMethodHintsChanged"; revision: 2 } Signal { name: "inputMethodComposingChanged"; revision: 2 } Signal { name: "wrapChanged"; revision: 3 } + Signal { name: "displayTextChanged"; revision: 4 } Method { name: "increase" } Method { name: "decrease" } } @@ -2041,9 +2102,10 @@ Module { prototype: "QQuickTextEdit" exports: [ "QtQuick.Templates/TextArea 2.0", - "QtQuick.Templates/TextArea 2.1" + "QtQuick.Templates/TextArea 2.1", + "QtQuick.Templates/TextArea 2.3" ] - exportMetaObjectRevisions: [0, 1] + exportMetaObjectRevisions: [0, 1, 3] attachedType: "QQuickTextAreaAttached" Property { name: "font"; type: "QFont" } Property { name: "implicitWidth"; type: "double" } @@ -2085,9 +2147,10 @@ Module { prototype: "QQuickTextInput" exports: [ "QtQuick.Templates/TextField 2.0", - "QtQuick.Templates/TextField 2.1" + "QtQuick.Templates/TextField 2.1", + "QtQuick.Templates/TextField 2.3" ] - exportMetaObjectRevisions: [0, 1] + exportMetaObjectRevisions: [0, 1, 3] Property { name: "font"; type: "QFont" } Property { name: "implicitWidth"; type: "double" } Property { name: "implicitHeight"; type: "double" } diff --git a/src/imports/controls/qmldir b/src/imports/controls/qmldir index 9930b8d8..de40013f 100644 --- a/src/imports/controls/qmldir +++ b/src/imports/controls/qmldir @@ -1,5 +1,5 @@ module QtQuick.Controls plugin qtquickcontrols2plugin classname QtQuickControls2Plugin -depends QtQuick.Templates 2.3 +depends QtQuick.Templates 2.4 designersupported diff --git a/src/imports/controls/universal/DialogButtonBox.qml b/src/imports/controls/universal/DialogButtonBox.qml index fc63f8f1..87e31f66 100644 --- a/src/imports/controls/universal/DialogButtonBox.qml +++ b/src/imports/controls/universal/DialogButtonBox.qml @@ -58,7 +58,7 @@ T.DialogButtonBox { } contentItem: ListView { - implicitWidth: contentWidth + implicitWidth: control.count === 1 ? 200 : contentWidth implicitHeight: 32 model: control.contentModel diff --git a/src/imports/controls/universal/qmldir b/src/imports/controls/universal/qmldir index 271eafa9..6555626f 100644 --- a/src/imports/controls/universal/qmldir +++ b/src/imports/controls/universal/qmldir @@ -1,4 +1,4 @@ module QtQuick.Controls.Universal plugin qtquickcontrols2universalstyleplugin classname QtQuickControls2UniversalStylePlugin -depends QtQuick.Controls 2.3 +depends QtQuick.Controls 2.4 diff --git a/src/imports/controls/universal/universal.pro b/src/imports/controls/universal/universal.pro index 016fa085..c437328c 100644 --- a/src/imports/controls/universal/universal.pro +++ b/src/imports/controls/universal/universal.pro @@ -1,6 +1,6 @@ TARGET = qtquickcontrols2universalstyleplugin TARGETPATH = QtQuick/Controls.2/Universal -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private quickcontrols2-private diff --git a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc b/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc index 52796425..695156b4 100644 --- a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc +++ b/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc @@ -26,7 +26,7 @@ ****************************************************************************/ /*! - \qmlmodule QtQuick.Templates 2.3 + \qmlmodule QtQuick.Templates 2.4 \title Qt Quick Templates 2 QML Types \ingroup qmlmodules \brief Provides QML types for templates (Qt Quick Templates). @@ -38,7 +38,7 @@ \c .qml file: \badcode - import QtQuick.Templates 2.3 as T + import QtQuick.Templates 2.4 as T \endcode For the sake of clarity, there is a one-to-one mapping between the types diff --git a/src/imports/templates/plugins.qmltypes b/src/imports/templates/plugins.qmltypes index b951182f..ed609c1f 100644 --- a/src/imports/templates/plugins.qmltypes +++ b/src/imports/templates/plugins.qmltypes @@ -4,7 +4,7 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Templates 2.3' +// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Templates 2.4' Module { dependencies: ["QtQuick 2.9", "QtQuick.Window 2.2"] @@ -15,9 +15,10 @@ Module { exports: [ "QtQuick.Templates/AbstractButton 2.0", "QtQuick.Templates/AbstractButton 2.2", - "QtQuick.Templates/AbstractButton 2.3" + "QtQuick.Templates/AbstractButton 2.3", + "QtQuick.Templates/AbstractButton 2.4" ] - exportMetaObjectRevisions: [0, 2, 3] + exportMetaObjectRevisions: [0, 2, 3, 4] Enum { name: "Display" values: { @@ -33,10 +34,15 @@ Module { Property { name: "checked"; type: "bool" } Property { name: "checkable"; type: "bool" } Property { name: "autoExclusive"; type: "bool" } + Property { name: "autoRepeat"; type: "bool" } Property { name: "indicator"; type: "QQuickItem"; isPointer: true } Property { name: "icon"; revision: 3; type: "QQuickIcon" } Property { name: "display"; revision: 3; type: "Display" } Property { name: "action"; revision: 3; type: "QQuickAction"; isPointer: true } + Property { name: "autoRepeatDelay"; revision: 4; type: "int" } + Property { name: "autoRepeatInterval"; revision: 4; type: "int" } + Property { name: "pressX"; revision: 4; type: "double"; isReadonly: true } + Property { name: "pressY"; revision: 4; type: "double"; isReadonly: true } Signal { name: "pressed" } Signal { name: "released" } Signal { name: "canceled" } @@ -47,6 +53,10 @@ Module { Signal { name: "iconChanged"; revision: 3 } Signal { name: "displayChanged"; revision: 3 } Signal { name: "actionChanged"; revision: 3 } + Signal { name: "autoRepeatDelayChanged"; revision: 4 } + Signal { name: "autoRepeatIntervalChanged"; revision: 4 } + Signal { name: "pressXChanged"; revision: 4 } + Signal { name: "pressYChanged"; revision: 4 } Method { name: "toggle" } } Component { @@ -183,7 +193,6 @@ Module { prototype: "QQuickAbstractButton" exports: ["QtQuick.Templates/Button 2.0"] exportMetaObjectRevisions: [0] - Property { name: "autoRepeat"; type: "bool" } Property { name: "highlighted"; type: "bool" } Property { name: "flat"; type: "bool" } } @@ -193,19 +202,22 @@ Module { exports: [ "QtQuick.Templates/ButtonGroup 2.0", "QtQuick.Templates/ButtonGroup 2.1", - "QtQuick.Templates/ButtonGroup 2.3" + "QtQuick.Templates/ButtonGroup 2.3", + "QtQuick.Templates/ButtonGroup 2.4" ] - exportMetaObjectRevisions: [0, 1, 3] + exportMetaObjectRevisions: [0, 1, 3, 4] attachedType: "QQuickButtonGroupAttached" Property { name: "checkedButton"; type: "QQuickAbstractButton"; isPointer: true } Property { name: "buttons"; type: "QQuickAbstractButton"; isList: true; isReadonly: true } Property { name: "exclusive"; revision: 3; type: "bool" } + Property { name: "checkState"; revision: 4; type: "Qt::CheckState" } Signal { name: "clicked" revision: 1 Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } } Signal { name: "exclusiveChanged"; revision: 3 } + Signal { name: "checkStateChanged"; revision: 4 } Method { name: "addButton" Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } @@ -224,19 +236,29 @@ Module { name: "QQuickCheckBox" defaultProperty: "data" prototype: "QQuickAbstractButton" - exports: ["QtQuick.Templates/CheckBox 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/CheckBox 2.0", + "QtQuick.Templates/CheckBox 2.4" + ] + exportMetaObjectRevisions: [0, 4] Property { name: "tristate"; type: "bool" } Property { name: "checkState"; type: "Qt::CheckState" } + Property { name: "nextCheckState"; revision: 4; type: "QJSValue" } + Signal { name: "nextCheckStateChanged"; revision: 4 } } Component { name: "QQuickCheckDelegate" defaultProperty: "data" prototype: "QQuickItemDelegate" - exports: ["QtQuick.Templates/CheckDelegate 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/CheckDelegate 2.0", + "QtQuick.Templates/CheckDelegate 2.4" + ] + exportMetaObjectRevisions: [0, 4] Property { name: "tristate"; type: "bool" } Property { name: "checkState"; type: "Qt::CheckState" } + Property { name: "nextCheckState"; revision: 4; type: "QJSValue" } + Signal { name: "nextCheckStateChanged"; revision: 4 } } Component { name: "QQuickComboBox" @@ -494,13 +516,13 @@ Module { Signal { name: "accepted" } Signal { name: "rejected" } Signal { name: "helpRequested" } - Signal { name: "applied"; revision: 3 } - Signal { name: "reset"; revision: 3 } - Signal { name: "discarded"; revision: 3 } Signal { name: "clicked" Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true } } + Signal { name: "applied"; revision: 3 } + Signal { name: "reset"; revision: 3 } + Signal { name: "discarded"; revision: 3 } Method { name: "standardButton" type: "QQuickAbstractButton*" @@ -556,8 +578,11 @@ Module { name: "QQuickLabel" defaultProperty: "data" prototype: "QQuickText" - exports: ["QtQuick.Templates/Label 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Templates/Label 2.0", + "QtQuick.Templates/Label 2.3" + ] + exportMetaObjectRevisions: [0, 3] Property { name: "font"; type: "QFont" } Property { name: "background"; type: "QQuickItem"; isPointer: true } Property { name: "palette"; revision: 3; type: "QPalette" } @@ -569,19 +594,19 @@ Module { prototype: "QQuickPopup" exports: ["QtQuick.Templates/Menu 2.0", "QtQuick.Templates/Menu 2.3"] exportMetaObjectRevisions: [0, 3] - Property { name: "count"; revision: 3; type: "int"; isReadonly: true } Property { name: "contentModel"; type: "QVariant"; isReadonly: true } Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true } Property { name: "title"; type: "string" } + Property { name: "count"; revision: 3; type: "int"; isReadonly: true } Property { name: "cascade"; revision: 3; type: "bool" } Property { name: "overlap"; revision: 3; type: "double" } Property { name: "delegate"; revision: 3; type: "QQmlComponent"; isPointer: true } Property { name: "currentIndex"; revision: 3; type: "int" } - Signal { name: "countChanged"; revision: 3 } Signal { name: "titleChanged" Parameter { name: "title"; type: "string" } } + Signal { name: "countChanged"; revision: 3 } Signal { name: "cascadeChanged" revision: 3 @@ -870,9 +895,7 @@ Module { Property { name: "rightPadding"; type: "double" } Property { name: "bottomPadding"; type: "double" } Property { name: "locale"; type: "QLocale" } - Property { name: "mirrored"; revision: 3; type: "bool"; isReadonly: true } Property { name: "font"; type: "QFont" } - Property { name: "palette"; revision: 3; type: "QPalette" } Property { name: "parent"; type: "QQuickItem"; isPointer: true } Property { name: "background"; type: "QQuickItem"; isPointer: true } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } @@ -884,8 +907,6 @@ Module { Property { name: "modal"; type: "bool" } Property { name: "dim"; type: "bool" } Property { name: "visible"; type: "bool" } - Property { name: "enabled"; revision: 3; type: "bool" } - Property { name: "opened"; revision: 3; type: "bool"; isReadonly: true } Property { name: "opacity"; type: "double" } Property { name: "scale"; type: "double" } Property { name: "closePolicy"; type: "ClosePolicy" } @@ -893,19 +914,23 @@ Module { Property { name: "enter"; type: "QQuickTransition"; isPointer: true } Property { name: "exit"; type: "QQuickTransition"; isPointer: true } Property { name: "spacing"; revision: 1; type: "double" } + Property { name: "opened"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "mirrored"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "enabled"; revision: 3; type: "bool" } + Property { name: "palette"; revision: 3; type: "QPalette" } Signal { name: "opened" } Signal { name: "closed" } Signal { name: "aboutToShow" } Signal { name: "aboutToHide" } - Signal { name: "mirroredChanged"; revision: 3 } - Signal { name: "paletteChanged"; revision: 3 } - Signal { name: "enabledChanged"; revision: 3 } - Signal { name: "openedChanged"; revision: 3 } Signal { name: "windowChanged" Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } } Signal { name: "spacingChanged"; revision: 1 } + Signal { name: "openedChanged"; revision: 3 } + Signal { name: "mirroredChanged"; revision: 3 } + Signal { name: "enabledChanged"; revision: 3 } + Signal { name: "paletteChanged"; revision: 3 } Method { name: "open" } Method { name: "close" } Method { @@ -995,7 +1020,7 @@ Module { defaultProperty: "data" prototype: "QQuickButton" exports: ["QtQuick.Templates/RoundButton 2.1"] - exportMetaObjectRevisions: [1] + exportMetaObjectRevisions: [0] Property { name: "radius"; type: "double" } } Component { @@ -1005,9 +1030,10 @@ Module { exports: [ "QtQuick.Templates/ScrollBar 2.0", "QtQuick.Templates/ScrollBar 2.2", - "QtQuick.Templates/ScrollBar 2.3" + "QtQuick.Templates/ScrollBar 2.3", + "QtQuick.Templates/ScrollBar 2.4" ] - exportMetaObjectRevisions: [0, 2, 3] + exportMetaObjectRevisions: [0, 2, 3, 4] attachedType: "QQuickScrollBarAttached" Enum { name: "SnapMode" @@ -1036,9 +1062,15 @@ Module { Property { name: "policy"; revision: 2; type: "Policy" } Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "minimumSize"; revision: 4; type: "double" } + Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true } + Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true } Signal { name: "snapModeChanged"; revision: 2 } Signal { name: "interactiveChanged"; revision: 2 } Signal { name: "policyChanged"; revision: 2 } + Signal { name: "minimumSizeChanged"; revision: 4 } + Signal { name: "visualSizeChanged"; revision: 4 } + Signal { name: "visualPositionChanged"; revision: 4 } Method { name: "increase" } Method { name: "decrease" } Method { @@ -1062,9 +1094,10 @@ Module { prototype: "QQuickControl" exports: [ "QtQuick.Templates/ScrollIndicator 2.0", - "QtQuick.Templates/ScrollIndicator 2.3" + "QtQuick.Templates/ScrollIndicator 2.3", + "QtQuick.Templates/ScrollIndicator 2.4" ] - exportMetaObjectRevisions: [0, 3] + exportMetaObjectRevisions: [0, 3, 4] attachedType: "QQuickScrollIndicatorAttached" Property { name: "size"; type: "double" } Property { name: "position"; type: "double" } @@ -1072,6 +1105,12 @@ Module { Property { name: "orientation"; type: "Qt::Orientation" } Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "minimumSize"; revision: 4; type: "double" } + Property { name: "visualSize"; revision: 4; type: "double"; isReadonly: true } + Property { name: "visualPosition"; revision: 4; type: "double"; isReadonly: true } + Signal { name: "minimumSizeChanged"; revision: 4 } + Signal { name: "visualSizeChanged"; revision: 4 } + Signal { name: "visualPositionChanged"; revision: 4 } Method { name: "setSize" Parameter { name: "size"; type: "double" } @@ -1125,11 +1164,11 @@ Module { Property { name: "stepSize"; type: "double" } Property { name: "snapMode"; type: "SnapMode" } Property { name: "pressed"; type: "bool" } - Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } - Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } Property { name: "orientation"; type: "Qt::Orientation" } Property { name: "handle"; type: "QQuickItem"; isPointer: true } Property { name: "live"; revision: 2; type: "bool" } + Property { name: "horizontal"; revision: 3; type: "bool"; isReadonly: true } + Property { name: "vertical"; revision: 3; type: "bool"; isReadonly: true } Signal { name: "moved"; revision: 2 } Signal { name: "liveChanged"; revision: 2 } Method { name: "increase" } @@ -1149,9 +1188,10 @@ Module { "QtQuick.Templates/SpinBox 2.0", "QtQuick.Templates/SpinBox 2.1", "QtQuick.Templates/SpinBox 2.2", - "QtQuick.Templates/SpinBox 2.3" + "QtQuick.Templates/SpinBox 2.3", + "QtQuick.Templates/SpinBox 2.4" ] - exportMetaObjectRevisions: [0, 1, 2, 3] + exportMetaObjectRevisions: [0, 1, 2, 3, 4] Property { name: "from"; type: "int" } Property { name: "to"; type: "int" } Property { name: "value"; type: "int" } @@ -1165,10 +1205,12 @@ Module { Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" } Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true } Property { name: "wrap"; revision: 3; type: "bool" } + Property { name: "displayText"; revision: 4; type: "string"; isReadonly: true } Signal { name: "valueModified"; revision: 2 } Signal { name: "inputMethodHintsChanged"; revision: 2 } Signal { name: "inputMethodComposingChanged"; revision: 2 } Signal { name: "wrapChanged"; revision: 3 } + Signal { name: "displayTextChanged"; revision: 4 } Method { name: "increase" } Method { name: "decrease" } } @@ -1418,9 +1460,10 @@ Module { prototype: "QQuickTextEdit" exports: [ "QtQuick.Templates/TextArea 2.0", - "QtQuick.Templates/TextArea 2.1" + "QtQuick.Templates/TextArea 2.1", + "QtQuick.Templates/TextArea 2.3" ] - exportMetaObjectRevisions: [0, 1] + exportMetaObjectRevisions: [0, 1, 3] attachedType: "QQuickTextAreaAttached" Property { name: "font"; type: "QFont" } Property { name: "implicitWidth"; type: "double" } @@ -1462,9 +1505,10 @@ Module { prototype: "QQuickTextInput" exports: [ "QtQuick.Templates/TextField 2.0", - "QtQuick.Templates/TextField 2.1" + "QtQuick.Templates/TextField 2.1", + "QtQuick.Templates/TextField 2.3" ] - exportMetaObjectRevisions: [0, 1] + exportMetaObjectRevisions: [0, 1, 3] Property { name: "font"; type: "QFont" } Property { name: "implicitWidth"; type: "double" } Property { name: "implicitHeight"; type: "double" } diff --git a/src/imports/templates/templates.pro b/src/imports/templates/templates.pro index 9a95812b..b505dceb 100644 --- a/src/imports/templates/templates.pro +++ b/src/imports/templates/templates.pro @@ -1,6 +1,6 @@ TARGET = qtquicktemplates2plugin TARGETPATH = QtQuick/Templates.2 -IMPORT_VERSION = 2.3 +IMPORT_VERSION = 2.4 QT += qml quick QT_PRIVATE += core-private gui-private qml-private quick-private quicktemplates2-private diff --git a/src/quicktemplates2/qquickdeferredexecute.cpp b/src/quicktemplates2/qquickdeferredexecute.cpp index ca6953bc..b298a81d 100644 --- a/src/quicktemplates2/qquickdeferredexecute.cpp +++ b/src/quicktemplates2/qquickdeferredexecute.cpp @@ -55,9 +55,8 @@ static inline uint qHash(QObject *object, const QString &propertyName) Q_GLOBAL_STATIC(DeferredStates, deferredStates) -static void cancelDeferred(QObject *object, int propertyIndex) +static void cancelDeferred(QQmlData *ddata, int propertyIndex) { - QQmlData *ddata = QQmlData::get(object); auto dit = ddata->deferredData.rbegin(); while (dit != ddata->deferredData.rend()) { (*dit)->bindings.remove(propertyIndex); @@ -102,7 +101,7 @@ static bool beginDeferred(QQmlEnginePrivate *enginePriv, const QQmlProperty &pro // Cleanup any remaining deferred bindings for this property, also in inner contexts, // to avoid executing them later and overriding the property that was just populated. - cancelDeferred(object, propertyIndex); + cancelDeferred(ddata, propertyIndex); break; } @@ -128,7 +127,9 @@ void beginDeferred(QObject *object, const QString &property) void cancelDeferred(QObject *object, const QString &property) { - cancelDeferred(object, QQmlProperty(object, property).index()); + QQmlData *data = QQmlData::get(object); + if (data) + cancelDeferred(data, QQmlProperty(object, property).index()); } void completeDeferred(QObject *object, const QString &property) diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp index 70425c40..a69b006f 100644 --- a/src/quicktemplates2/qquickdialogbuttonbox.cpp +++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp @@ -221,8 +221,8 @@ void QQuickDialogButtonBoxPrivate::resizeContent() QRectF geometry = q->boundingRect().adjusted(q->leftPadding(), q->topPadding(), -q->rightPadding(), -q->bottomPadding()); if (alignment != 0) { - qreal cw = (alignment & Qt::AlignHorizontal_Mask) == 0 ? q->availableWidth() : contentItem->implicitWidth(); - qreal ch = (alignment & Qt::AlignVertical_Mask) == 0 ? q->availableHeight() : contentItem->implicitHeight(); + qreal cw = (alignment & Qt::AlignHorizontal_Mask) == 0 ? q->availableWidth() : contentItem->property("contentWidth").toReal(); + qreal ch = (alignment & Qt::AlignVertical_Mask) == 0 ? q->availableHeight() : contentItem->property("contentHeight").toReal(); geometry = alignedRect(q->isMirrored() ? Qt::RightToLeft : Qt::LeftToRight, alignment, QSizeF(cw, ch), geometry); } diff --git a/tests/auto/controls/data/tst_dialogbuttonbox.qml b/tests/auto/controls/data/tst_dialogbuttonbox.qml index 7d343cc6..27989703 100644 --- a/tests/auto/controls/data/tst_dialogbuttonbox.qml +++ b/tests/auto/controls/data/tst_dialogbuttonbox.qml @@ -220,4 +220,32 @@ TestCase { verify(button2) compare(button2.DialogButtonBox.buttonRole, data.button2Role) } + + function test_implicitSize_data() { + return [ + { tag: "Ok", standardButtons: DialogButtonBox.Ok }, + { tag: "Yes|No", standardButtons: DialogButtonBox.Yes | DialogButtonBox.No } + ] + } + + // QTBUG-59719 + function test_implicitSize(data) { + var control = createTemporaryObject(buttonBox, testCase, {standardButtons: data.standardButtons}) + verify(control) + + var listView = control.contentItem + verify(listView && listView.hasOwnProperty("contentWidth")) + waitForRendering(listView) + + var implicitContentWidth = control.leftPadding + control.rightPadding + for (var i = 0; i < listView.contentItem.children.length; ++i) { + var button = listView.contentItem.children[i] + if (!button.hasOwnProperty("text")) + continue + implicitContentWidth += button.implicitWidth + } + + verify(implicitContentWidth > control.leftPadding + control.rightPadding) + verify(control.implicitWidth >= implicitContentWidth, qsTr("implicit width (%1) is less than content width (%2)").arg(control.implicitWidth).arg(implicitContentWidth)) + } } |