diff options
31 files changed, 454 insertions, 226 deletions
diff --git a/dist/changes-5.9.0 b/dist/changes-5.9.0 new file mode 100644 index 00000000..60ab2e88 --- /dev/null +++ b/dist/changes-5.9.0 @@ -0,0 +1,60 @@ +Qt 5.9 introduces many new features and improvements as well as bugfixes +over the 5.8.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.9 series is binary compatible with the 5.8.x series. +Applications compiled for 5.8 will continue to run with 5.9. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Important Behavior Changes * +**************************************************************************** + + - Enabled QML caching. + - Removed the WinRT style. + +**************************************************************************** +* Controls * +**************************************************************************** + + - Button: + * [QTBUG-57853] Fixed to accept space key press and release events to + avoid leaking/propagating them to the parent item. + + - GroupBox: + * Removed a hard-coded texture size from the Desktop style to avoid + skewed groupboxes in Plasma's config dialogs when using larger fonts. + + - MenuBar: + * [QTBUG-59335] Fixed styling of disabled entries. + + - ScrollView: + * Added a maximum scroll bar size limit to avoid scroll bars overflowing + the container when e.g. contentWidth/height becomes zero. + * [QTBUG-59633] Fixed jumps to the top with mouse wheel events. + + - Slider: + * [QTBUG-42273] Prevented wheel events from escaping. + +**************************************************************************** +* Dialogs * +**************************************************************************** + + - FileDialog: + * Fixed to remember the folder only when the dialog is accepted. + +**************************************************************************** +* Extras * +**************************************************************************** + + - TumblerStyle: + * [QTBUG-55289] Deprecated unused spacing property. diff --git a/examples/quickcontrols/controls/calendar/calendar.pro b/examples/quickcontrols/controls/calendar/calendar.pro index 0c79fb40..37fef288 100644 --- a/examples/quickcontrols/controls/calendar/calendar.pro +++ b/examples/quickcontrols/controls/calendar/calendar.pro @@ -1,8 +1,6 @@ QT += qml quick sql TARGET = calendar -!qtConfig(sql-sqlite): QTPLUGIN += qsqlite - include(src/src.pri) include(../shared/shared.pri) diff --git a/examples/quickcontrols/controls/texteditor/qml/main.qml b/examples/quickcontrols/controls/texteditor/qml/main.qml index 8aa9ee7b..1544ebc9 100644 --- a/examples/quickcontrols/controls/texteditor/qml/main.qml +++ b/examples/quickcontrols/controls/texteditor/qml/main.qml @@ -93,7 +93,7 @@ ApplicationWindow { id: pasteAction text: "Paste" shortcut: "ctrl+v" - iconSource: "qrc:images/editpaste.png" + iconSource: "images/editpaste.png" iconName: "edit-paste" onTriggered: textArea.paste() } diff --git a/src/controls/Label.qml b/src/controls/Label.qml index f9bc8cdd..ea3f27b3 100644 --- a/src/controls/Label.qml +++ b/src/controls/Label.qml @@ -37,7 +37,7 @@ ** ****************************************************************************/ -import QtQuick 2.2 +import QtQuick 2.6 import QtQuick.Controls 1.2 import QtQuick.Controls.Private 1.0 diff --git a/src/controls/Private/qquickcontrolsettings.cpp b/src/controls/Private/qquickcontrolsettings.cpp index e6345082..c7f641cc 100644 --- a/src/controls/Private/qquickcontrolsettings.cpp +++ b/src/controls/Private/qquickcontrolsettings.cpp @@ -50,7 +50,7 @@ #include <QTouchDevice> #include <QGuiApplication> #include <QStyleHints> -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) #include <private/qjnihelpers_p.h> #endif @@ -62,7 +62,7 @@ static QString defaultStyleName() #if defined(QT_WIDGETS_LIB) && !defined(Q_OS_IOS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_BLACKBERRY) && !defined(Q_OS_QNX) && !defined(Q_OS_WINRT) if (QCoreApplication::instance()->inherits("QApplication")) return QLatin1String("Desktop"); -#elif defined(Q_OS_ANDROID) +#elif defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) if (QtAndroidPrivate::androidSdkVersion() >= 11) return QLatin1String("Android"); #elif defined(Q_OS_IOS) diff --git a/src/controls/Private/qquickwheelarea.cpp b/src/controls/Private/qquickwheelarea.cpp index 9c0a70a2..bd77ae24 100644 --- a/src/controls/Private/qquickwheelarea.cpp +++ b/src/controls/Private/qquickwheelarea.cpp @@ -141,7 +141,11 @@ void QQuickWheelArea1::wheelEvent(QWheelEvent *we) void QQuickWheelArea1::setHorizontalMinimumValue(qreal value) { + if (value == m_horizontalMinimumValue) + return; + m_horizontalMinimumValue = value; + emit horizontalMinimumValueChanged(); } qreal QQuickWheelArea1::horizontalMinimumValue() const @@ -151,7 +155,11 @@ qreal QQuickWheelArea1::horizontalMinimumValue() const void QQuickWheelArea1::setHorizontalMaximumValue(qreal value) { + if (value == m_horizontalMaximumValue) + return; + m_horizontalMaximumValue = value; + emit horizontalMaximumValueChanged(); } qreal QQuickWheelArea1::horizontalMaximumValue() const @@ -161,7 +169,11 @@ qreal QQuickWheelArea1::horizontalMaximumValue() const void QQuickWheelArea1::setVerticalMinimumValue(qreal value) { + if (value == m_verticalMinimumValue) + return; + m_verticalMinimumValue = value; + emit verticalMinimumValueChanged(); } qreal QQuickWheelArea1::verticalMinimumValue() const @@ -171,7 +183,11 @@ qreal QQuickWheelArea1::verticalMinimumValue() const void QQuickWheelArea1::setVerticalMaximumValue(qreal value) { + if (value == m_verticalMaximumValue) + return; + m_verticalMaximumValue = value; + emit verticalMaximumValueChanged(); } qreal QQuickWheelArea1::verticalMaximumValue() const diff --git a/src/controls/Private/qquickwheelarea_p.h b/src/controls/Private/qquickwheelarea_p.h index 676383bc..a11b78cf 100644 --- a/src/controls/Private/qquickwheelarea_p.h +++ b/src/controls/Private/qquickwheelarea_p.h @@ -50,12 +50,12 @@ class QQuickWheelArea1 : public QQuickItem Q_OBJECT Q_PROPERTY(qreal verticalDelta READ verticalDelta WRITE setVerticalDelta NOTIFY verticalWheelMoved) Q_PROPERTY(qreal horizontalDelta READ horizontalDelta WRITE setHorizontalDelta NOTIFY horizontalWheelMoved) - Q_PROPERTY(qreal horizontalMinimumValue READ horizontalMinimumValue WRITE setHorizontalMinimumValue) - Q_PROPERTY(qreal horizontalMaximumValue READ horizontalMaximumValue WRITE setHorizontalMaximumValue) - Q_PROPERTY(qreal verticalMinimumValue READ verticalMinimumValue WRITE setVerticalMinimumValue) - Q_PROPERTY(qreal verticalMaximumValue READ verticalMaximumValue WRITE setVerticalMaximumValue) - Q_PROPERTY(qreal horizontalValue READ horizontalValue WRITE setHorizontalValue) - Q_PROPERTY(qreal verticalValue READ verticalValue WRITE setVerticalValue) + Q_PROPERTY(qreal horizontalMinimumValue READ horizontalMinimumValue WRITE setHorizontalMinimumValue NOTIFY horizontalMinimumValueChanged) + Q_PROPERTY(qreal horizontalMaximumValue READ horizontalMaximumValue WRITE setHorizontalMaximumValue NOTIFY horizontalMaximumValueChanged) + Q_PROPERTY(qreal verticalMinimumValue READ verticalMinimumValue WRITE setVerticalMinimumValue NOTIFY verticalMinimumValueChanged) + Q_PROPERTY(qreal verticalMaximumValue READ verticalMaximumValue WRITE setVerticalMaximumValue NOTIFY verticalMaximumValueChanged) + Q_PROPERTY(qreal horizontalValue READ horizontalValue WRITE setHorizontalValue NOTIFY horizontalValueChanged) + Q_PROPERTY(qreal verticalValue READ verticalValue WRITE setVerticalValue NOTIFY verticalValueChanged) Q_PROPERTY(qreal scrollSpeed READ scrollSpeed WRITE setScrollSpeed NOTIFY scrollSpeedChanged) Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged) Q_PROPERTY(bool inverted READ isInverted) @@ -106,7 +106,11 @@ public: Q_SIGNALS: void verticalValueChanged(); + void verticalMinimumValueChanged(); + void verticalMaximumValueChanged(); void horizontalValueChanged(); + void horizontalMinimumValueChanged(); + void horizontalMaximumValueChanged(); void verticalWheelMoved(); void horizontalWheelMoved(); void scrollSpeedChanged(); diff --git a/src/controls/ScrollView.qml b/src/controls/ScrollView.qml index 183991ac..3a7b031f 100644 --- a/src/controls/ScrollView.qml +++ b/src/controls/ScrollView.qml @@ -281,9 +281,21 @@ FocusScope { horizontalMinimumValue: 0 horizontalMaximumValue: flickableItem ? flickableItem.contentWidth - viewport.width : 0 + onHorizontalMaximumValueChanged: { + wheelArea.horizontalRecursionGuard = true + //if horizontalMaximumValue changed, horizontalValue may be actually synced with + wheelArea.horizontalValue = flickableItem.contentX - flickableItem.originX; + wheelArea.horizontalRecursionGuard = false + } verticalMinimumValue: 0 verticalMaximumValue: flickableItem ? flickableItem.contentHeight - viewport.height + __viewTopMargin : 0 + onVerticalMaximumValueChanged: { + wheelArea.verticalRecursionGuard = true + //if verticalMaximumValue changed, verticalValue may be actually synced with + wheelArea.verticalValue = flickableItem.contentY - flickableItem.originY; + wheelArea.verticalRecursionGuard = false + } // The default scroll speed for typical angle-based mouse wheels. The value // comes originally from QTextEdit, which sets 20px steps by default, as well as diff --git a/src/controls/Slider.qml b/src/controls/Slider.qml index 3c89a159..c4d25ac2 100644 --- a/src/controls/Slider.qml +++ b/src/controls/Slider.qml @@ -274,7 +274,7 @@ Control { onPositionChanged: { if (pressed) - updateHandlePosition(mouse, preventStealing) + updateHandlePosition(mouse, !Settings.hasTouchScreen || preventStealing) var point = mouseArea.mapToItem(fakeHandle, mouse.x, mouse.y) handleHovered = fakeHandle.contains(Qt.point(point.x, point.y)) diff --git a/src/controls/SpinBox.qml b/src/controls/SpinBox.qml index 999649b0..a742abd6 100644 --- a/src/controls/SpinBox.qml +++ b/src/controls/SpinBox.qml @@ -273,6 +273,7 @@ Control { Accessible.name: input.text Accessible.role: Accessible.SpinBox + Accessible.editable: true MouseArea { id: mouseArea diff --git a/src/controls/Styles/Base/BasicTableViewStyle.qml b/src/controls/Styles/Base/BasicTableViewStyle.qml index 233d8efc..334ee665 100644 --- a/src/controls/Styles/Base/BasicTableViewStyle.qml +++ b/src/controls/Styles/Base/BasicTableViewStyle.qml @@ -146,7 +146,7 @@ ScrollViewStyle { anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: 1 elide: styleData.elideMode - text: styleData.value !== undefined ? styleData.value : "" + text: styleData.value !== undefined ? styleData.value.toString() : "" color: styleData.textColor renderType: Settings.isMobile ? Text.QtRendering : Text.NativeRendering } diff --git a/src/controls/controls.pro b/src/controls/controls.pro index 63d055d6..07e8e002 100644 --- a/src/controls/controls.pro +++ b/src/controls/controls.pro @@ -40,8 +40,12 @@ CONTROLS_QML_FILES = \ ToolBar.qml \ ToolButton.qml -!qtquickcompiler: QML_FILES += $$CONTROLS_QML_FILES -qtquickcompiler: DEFINES += ALWAYS_LOAD_FROM_RESOURCES +qtquickcompiler { + DEFINES += ALWAYS_LOAD_FROM_RESOURCES +} else { + QML_FILES += $$CONTROLS_QML_FILES + !static: CONFIG += qmlcache +} SOURCES += $$PWD/plugin.cpp HEADERS += $$PWD/plugin.h @@ -55,41 +59,25 @@ include(Shaders/shaders.pri) osx: LIBS_PRIVATE += -framework Carbon -!static { - # Create the resource file - GENERATED_RESOURCE_FILE = $$OUT_PWD/controls.qrc - +!qmlcache { INCLUDED_RESOURCE_FILES = \ $$CONTROLS_QML_FILES \ $$PRIVATE_QML_FILES \ - $$STYLES_QML_FILES \ - $$SHADER_FILES - - RESOURCE_CONTENT = \ - "<RCC>" \ - "<qresource prefix=\"/QtQuick/Controls\">" - - for(resourcefile, INCLUDED_RESOURCE_FILES) { - resourcefileabsolutepath = $$absolute_path($$resourcefile) - relativepath_in = $$relative_path($$resourcefileabsolutepath, $$_PRO_FILE_PWD_) - relativepath_out = $$relative_path($$resourcefileabsolutepath, $$OUT_PWD) - RESOURCE_CONTENT += "<file alias=\"$$relativepath_in\">$$relativepath_out</file>" - } + $$STYLES_QML_FILES - RESOURCE_CONTENT += \ - "</qresource>" \ - "</RCC>" - - write_file($$GENERATED_RESOURCE_FILE, RESOURCE_CONTENT)|error("Aborting.") - - RESOURCES += $$GENERATED_RESOURCE_FILE } else { QML_FILES *= $$CONTROLS_QML_FILES \ $$PRIVATE_QML_FILES \ - $$STYLES_QML_FILES \ + $$STYLES_QML_FILES + OTHER_FILES += $$QML_FILES \ $$SHADER_FILES - OTHER_FILES += $$QML_FILES } +INCLUDED_RESOURCE_FILES += $$SHADER_FILES + +controls.files = $$INCLUDED_RESOURCE_FILES +controls.prefix = /QtQuick/Controls +RESOURCES += controls + CONFIG += no_cxx_module load(qml_plugin) diff --git a/src/controls/plugin.cpp b/src/controls/plugin.cpp index 257b1381..5a5a9605 100644 --- a/src/controls/plugin.cpp +++ b/src/controls/plugin.cpp @@ -75,8 +75,6 @@ static void initResources() { #ifdef QT_STATIC Q_INIT_RESOURCE(qmake_QtQuick_Controls); -#else - Q_INIT_RESOURCE(controls); #endif } diff --git a/src/controls/plugins.qmltypes b/src/controls/plugins.qmltypes index 11994894..cb509bcb 100644 --- a/src/controls/plugins.qmltypes +++ b/src/controls/plugins.qmltypes @@ -9,7 +9,6 @@ import QtQuick.tooling 1.2 Module { dependencies: [ "QtGraphicalEffects 1.0", - "QtGraphicalEffects.private 1.0", "QtQml.Models 2.2", "QtQuick 2.6", "QtQuick.Controls.Styles 1.4", @@ -19,16 +18,16 @@ Module { "QtQuick.Window 2.2" ] Component { - name: "QQuickAbstractStyle" + name: "QQuickAbstractStyle1" defaultProperty: "data" prototype: "QObject" exports: ["QtQuick.Controls.Private/AbstractStyle 1.0"] exportMetaObjectRevisions: [0] - Property { name: "padding"; type: "QQuickPadding"; isReadonly: true; isPointer: true } + Property { name: "padding"; type: "QQuickPadding1"; isReadonly: true; isPointer: true } Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } } Component { - name: "QQuickAction" + name: "QQuickAction1" prototype: "QObject" exports: ["QtQuick.Controls/Action 1.0"] exportMetaObjectRevisions: [0] @@ -40,7 +39,7 @@ Module { Property { name: "enabled"; type: "bool" } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } Property { name: "shortcut"; type: "QVariant" } Signal { name: "triggered" @@ -67,7 +66,7 @@ Module { Method { name: "trigger" } } Component { - name: "QQuickCalendarModel" + name: "QQuickCalendarModel1" prototype: "QAbstractListModel" exports: ["QtQuick.Controls.Private/CalendarModel 1.0"] exportMetaObjectRevisions: [0] @@ -103,7 +102,7 @@ Module { } } Component { - name: "QQuickControlSettings" + name: "QQuickControlSettings1" prototype: "QObject" exports: ["QtQuick.Controls.Private/Settings 1.0"] isCreatable: false @@ -126,26 +125,26 @@ Module { } } Component { - name: "QQuickControlsPrivate" + name: "QQuickControlsPrivate1" prototype: "QObject" exports: ["QtQuick.Controls.Private/Controls 1.0"] isCreatable: false exportMetaObjectRevisions: [0] - attachedType: "QQuickControlsPrivateAttached" + attachedType: "QQuickControlsPrivate1Attached" } Component { - name: "QQuickControlsPrivateAttached" + name: "QQuickControlsPrivate1Attached" prototype: "QObject" Property { name: "window"; type: "QQuickWindow"; isReadonly: true; isPointer: true } } Component { - name: "QQuickExclusiveGroup" + name: "QQuickExclusiveGroup1" defaultProperty: "__actions" prototype: "QObject" exports: ["QtQuick.Controls/ExclusiveGroup 1.0"] exportMetaObjectRevisions: [0] Property { name: "current"; type: "QObject"; isPointer: true } - Property { name: "__actions"; type: "QQuickAction"; isList: true; isReadonly: true } + Property { name: "__actions"; type: "QQuickAction1"; isList: true; isReadonly: true } Method { name: "bindCheckable" Parameter { name: "o"; type: "QObject"; isPointer: true } @@ -156,9 +155,9 @@ Module { } } Component { - name: "QQuickMenu" + name: "QQuickMenu1" defaultProperty: "items" - prototype: "QQuickMenuText" + prototype: "QQuickMenuText1" exports: ["QtQuick.Controls.Private/MenuPrivate 1.0"] exportMetaObjectRevisions: [0] Enum { @@ -177,26 +176,28 @@ Module { Property { name: "__font"; type: "QFont" } Property { name: "__xOffset"; type: "double" } Property { name: "__yOffset"; type: "double" } - Property { name: "__action"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true } + Property { name: "__isProxy"; type: "bool" } Signal { name: "aboutToShow" } Signal { name: "aboutToHide" } Signal { name: "popupVisibleChanged" } Signal { name: "__menuPopupDestroyed" } Signal { name: "menuContentItemChanged" } Signal { name: "minimumWidthChanged" } + Signal { name: "__proxyChanged" } Method { name: "__dismissMenu" } Method { name: "__closeAndDestroy" } Method { name: "__dismissAndDestroy" } Method { name: "popup" } Method { name: "addItem" - type: "QQuickMenuItem*" + type: "QQuickMenuItem1*" Parameter { type: "string" } } Method { name: "insertItem" - type: "QQuickMenuItem*" + type: "QQuickMenuItem1*" Parameter { type: "int" } Parameter { type: "string" } } @@ -208,11 +209,11 @@ Module { Method { name: "insertItem" Parameter { type: "int" } - Parameter { type: "QQuickMenuBase"; isPointer: true } + Parameter { type: "QQuickMenuBase1"; isPointer: true } } Method { name: "removeItem" - Parameter { type: "QQuickMenuBase"; isPointer: true } + Parameter { type: "QQuickMenuBase1"; isPointer: true } } Method { name: "clear" } Method { @@ -232,12 +233,12 @@ Module { } } Component { - name: "QQuickMenuBar" + name: "QQuickMenuBar1" defaultProperty: "menus" prototype: "QObject" exports: ["QtQuick.Controls.Private/MenuBarPrivate 1.0"] exportMetaObjectRevisions: [0] - Property { name: "menus"; type: "QQuickMenu"; isList: true; isReadonly: true } + Property { name: "menus"; type: "QQuickMenu1"; isList: true; isReadonly: true } Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true } Property { name: "__parentWindow"; type: "QQuickWindow"; isPointer: true } Property { name: "__isNative"; type: "bool" } @@ -245,28 +246,28 @@ Module { Signal { name: "contentItemChanged" } } Component { - name: "QQuickMenuBase" + name: "QQuickMenuBase1" prototype: "QObject" exports: ["QtQuick.Controls/MenuBase 1.0"] isCreatable: false exportMetaObjectRevisions: [0] Property { name: "visible"; type: "bool" } - Property { name: "type"; type: "QQuickMenuItemType::MenuItemType"; isReadonly: true } + Property { name: "type"; type: "QQuickMenuItemType1::MenuItemType"; isReadonly: true } Property { name: "__parentMenu"; type: "QObject"; isReadonly: true; isPointer: true } Property { name: "__isNative"; type: "bool"; isReadonly: true } Property { name: "__visualItem"; type: "QQuickItem"; isPointer: true } } Component { - name: "QQuickMenuItem" - prototype: "QQuickMenuText" + name: "QQuickMenuItem1" + prototype: "QQuickMenuText1" exports: ["QtQuick.Controls/MenuItem 1.0"] exportMetaObjectRevisions: [0] Property { name: "text"; type: "string" } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } Property { name: "shortcut"; type: "QVariant" } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Signal { name: "triggered" } Signal { name: "toggled" @@ -275,7 +276,7 @@ Module { Method { name: "trigger" } } Component { - name: "QQuickMenuItemType" + name: "QQuickMenuItemType1" exports: ["QtQuick.Controls/MenuItemType 1.0"] isCreatable: false exportMetaObjectRevisions: [0] @@ -290,14 +291,14 @@ Module { } } Component { - name: "QQuickMenuSeparator" - prototype: "QQuickMenuBase" + name: "QQuickMenuSeparator1" + prototype: "QQuickMenuBase1" exports: ["QtQuick.Controls/MenuSeparator 1.0"] exportMetaObjectRevisions: [0] } Component { - name: "QQuickMenuText" - prototype: "QQuickMenuBase" + name: "QQuickMenuText1" + prototype: "QQuickMenuBase1" Property { name: "enabled"; type: "bool" } Property { name: "iconSource"; type: "QUrl" } Property { name: "iconName"; type: "string" } @@ -305,7 +306,7 @@ Module { Signal { name: "__textChanged" } } Component { - name: "QQuickPadding" + name: "QQuickPadding1" prototype: "QObject" exports: ["QtQuick.Controls.Private/Padding 1.0"] exportMetaObjectRevisions: [0] @@ -331,7 +332,7 @@ Module { } } Component { - name: "QQuickPopupWindow" + name: "QQuickPopupWindow1" defaultProperty: "popupContentItem" prototype: "QQuickWindow" exports: ["QtQuick.Controls.Private/PopupWindow 1.0"] @@ -344,7 +345,7 @@ Module { Method { name: "dismissPopup" } } Component { - name: "QQuickRangeModel" + name: "QQuickRangeModel1" prototype: "QObject" exports: ["QtQuick.Controls.Private/RangeModel 1.0"] exportMetaObjectRevisions: [0] @@ -412,7 +413,7 @@ Module { } } Component { - name: "QQuickRangedDate" + name: "QQuickRangedDate1" prototype: "QObject" exports: ["QtQuick.Controls.Private/RangedDate 1.0"] exportMetaObjectRevisions: [0] @@ -421,7 +422,7 @@ Module { Property { name: "maximumDate"; type: "QDate" } } Component { - name: "QQuickScenePosListener" + name: "QQuickScenePosListener1" prototype: "QObject" exports: ["QtQuick.Controls.Private/ScenePosListener 1.0"] exportMetaObjectRevisions: [0] @@ -430,7 +431,7 @@ Module { Property { name: "enabled"; type: "bool" } } Component { - name: "QQuickSelectionMode" + name: "QQuickSelectionMode1" exports: ["QtQuick.Controls/SelectionMode 1.1"] isCreatable: false exportMetaObjectRevisions: [0] @@ -446,7 +447,7 @@ Module { } } Component { - name: "QQuickSpinBoxValidator" + name: "QQuickSpinBoxValidator1" prototype: "QValidator" exports: ["QtQuick.Controls.Private/SpinBoxValidator 1.0"] exportMetaObjectRevisions: [0] @@ -462,7 +463,7 @@ Module { Method { name: "decrement" } } Component { - name: "QQuickStack" + name: "QQuickStack1" prototype: "QObject" exports: ["QtQuick.Controls/Stack 1.0"] isCreatable: false @@ -484,12 +485,12 @@ Module { Property { name: "__view"; type: "QQuickItem"; isPointer: true } } Component { - name: "QQuickStyleItem" + name: "QQuickStyleItem1" defaultProperty: "data" prototype: "QQuickItem" exports: ["QtQuick.Controls.Private/StyleItem 1.0"] exportMetaObjectRevisions: [0] - Property { name: "border"; type: "QQuickPadding"; isReadonly: true; isPointer: true } + Property { name: "border"; type: "QQuickPadding1"; isReadonly: true; isPointer: true } Property { name: "sunken"; type: "bool" } Property { name: "raised"; type: "bool" } Property { name: "active"; type: "bool" } @@ -583,7 +584,7 @@ Module { } } Component { - name: "QQuickTooltip" + name: "QQuickTooltip1" prototype: "QObject" exports: ["QtQuick.Controls.Private/Tooltip 1.0"] isCreatable: false @@ -598,7 +599,7 @@ Module { Method { name: "hideText" } } Component { - name: "QQuickTreeModelAdaptor" + name: "QQuickTreeModelAdaptor1" prototype: "QAbstractListModel" exports: ["QtQuick.Controls.Private/TreeModelAdaptor 1.0"] exportMetaObjectRevisions: [0] @@ -646,7 +647,7 @@ Module { } } Component { - name: "QQuickWheelArea" + name: "QQuickWheelArea1" defaultProperty: "data" prototype: "QQuickItem" exports: ["QtQuick.Controls.Private/WheelArea 1.0"] @@ -661,6 +662,7 @@ Module { Property { name: "verticalValue"; type: "double" } Property { name: "scrollSpeed"; type: "double" } Property { name: "active"; type: "bool" } + Property { name: "inverted"; type: "bool"; isReadonly: true } Signal { name: "verticalWheelMoved" } Signal { name: "horizontalWheelMoved" } } @@ -711,11 +713,11 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_48"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Property { name: "activeFocusOnPress"; type: "bool" } Property { name: "text"; type: "string" } Property { name: "tooltip"; type: "string" } @@ -723,8 +725,8 @@ Module { Property { name: "iconName"; type: "string" } Property { name: "__position"; type: "string" } Property { name: "__iconOverriden"; type: "bool"; isReadonly: true } - Property { name: "__action"; type: "QQuickAction"; isPointer: true } - Property { name: "__iconAction"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isPointer: true } + Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__behavior"; type: "QVariant" } Property { name: "__effectivePressed"; type: "bool" } Property { name: "pressed"; type: "bool"; isReadonly: true } @@ -751,7 +753,7 @@ Module { Property { name: "navigationBarVisible"; type: "bool" } Property { name: "dayOfWeekFormat"; type: "int" } Property { name: "__locale"; type: "QVariant" } - Property { name: "__model"; type: "QQuickCalendarModel"; isPointer: true } + Property { name: "__model"; type: "QQuickCalendarModel1"; isPointer: true } Property { name: "selectedDate"; type: "QDate" } Property { name: "minimumDate"; type: "QDate" } Property { name: "maximumDate"; type: "QDate" } @@ -811,8 +813,9 @@ Module { Method { name: "__cycleCheckBoxStates"; type: "QVariant" } Property { name: "checked"; type: "bool" } Property { name: "activeFocusOnPress"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } Property { name: "text"; type: "string" } + Property { name: "tooltip"; type: "string" } Property { name: "__cycleStatesHandler"; type: "QVariant" } Property { name: "pressed"; type: "bool" } Property { name: "hovered"; type: "bool"; isReadonly: true } @@ -831,11 +834,11 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_48"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Property { name: "activeFocusOnPress"; type: "bool" } Property { name: "text"; type: "string" } Property { name: "tooltip"; type: "string" } @@ -843,8 +846,8 @@ Module { Property { name: "iconName"; type: "string" } Property { name: "__position"; type: "string" } Property { name: "__iconOverriden"; type: "bool"; isReadonly: true } - Property { name: "__action"; type: "QQuickAction"; isPointer: true } - Property { name: "__iconAction"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isPointer: true } + Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__behavior"; type: "QVariant" } Property { name: "__effectivePressed"; type: "bool" } Property { name: "pressed"; type: "bool"; isReadonly: true } @@ -1015,11 +1018,11 @@ Module { Property { name: "progress"; type: "double"; isReadonly: true } Signal { name: "activated" } Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_48"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Property { name: "activeFocusOnPress"; type: "bool" } Property { name: "text"; type: "string" } Property { name: "tooltip"; type: "string" } @@ -1027,8 +1030,8 @@ Module { Property { name: "iconName"; type: "string" } Property { name: "__position"; type: "string" } Property { name: "__iconOverriden"; type: "bool"; isReadonly: true } - Property { name: "__action"; type: "QQuickAction"; isPointer: true } - Property { name: "__iconAction"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isPointer: true } + Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__behavior"; type: "QVariant" } Property { name: "__effectivePressed"; type: "bool" } Property { name: "pressed"; type: "bool"; isReadonly: true } @@ -1167,26 +1170,28 @@ Module { Property { name: "__font"; type: "QFont" } Property { name: "__xOffset"; type: "double" } Property { name: "__yOffset"; type: "double" } - Property { name: "__action"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true } + Property { name: "__isProxy"; type: "bool" } Signal { name: "aboutToShow" } Signal { name: "aboutToHide" } Signal { name: "popupVisibleChanged" } Signal { name: "__menuPopupDestroyed" } Signal { name: "menuContentItemChanged" } Signal { name: "minimumWidthChanged" } + Signal { name: "__proxyChanged" } Method { name: "__dismissMenu" } Method { name: "__closeAndDestroy" } Method { name: "__dismissAndDestroy" } Method { name: "popup" } Method { name: "addItem" - type: "QQuickMenuItem*" + type: "QQuickMenuItem1*" Parameter { type: "string" } } Method { name: "insertItem" - type: "QQuickMenuItem*" + type: "QQuickMenuItem1*" Parameter { type: "int" } Parameter { type: "string" } } @@ -1197,7 +1202,7 @@ Module { } Method { name: "removeItem" - Parameter { type: "QQuickMenuBase"; isPointer: true } + Parameter { type: "QQuickMenuBase1"; isPointer: true } } Method { name: "clear" } Method { @@ -1221,7 +1226,7 @@ Module { Property { name: "__icon"; type: "QVariant"; isReadonly: true } Signal { name: "__textChanged" } Property { name: "visible"; type: "bool" } - Property { name: "type"; type: "QQuickMenuItemType::MenuItemType"; isReadonly: true } + Property { name: "type"; type: "QQuickMenuItemType1::MenuItemType"; isReadonly: true } Property { name: "__parentMenu"; type: "QObject"; isReadonly: true; isPointer: true } Property { name: "__isNative"; type: "bool"; isReadonly: true } Property { name: "__visualItem"; type: "QQuickItem"; isPointer: true } @@ -1236,7 +1241,7 @@ Module { Property { name: "style"; type: "QQmlComponent"; isPointer: true } Property { name: "__style"; type: "QObject"; isPointer: true } Property { name: "__menuBarComponent"; type: "QQmlComponent"; isPointer: true } - Property { name: "menus"; type: "QQuickMenu"; isList: true; isReadonly: true } + Property { name: "menus"; type: "QQuickMenu1"; isList: true; isReadonly: true } Property { name: "__contentItem"; type: "QQuickItem"; isPointer: true } Property { name: "__parentWindow"; type: "QQuickWindow"; isPointer: true } Property { name: "__isNative"; type: "bool" } @@ -1256,9 +1261,9 @@ Module { Property { name: "boundingItem"; type: "QQuickItem"; isPointer: true } Property { name: "__protectedScope"; type: "QObject"; isPointer: true } Property { name: "activationMode"; type: "int" } - Property { name: "menuItems"; type: "QQuickMenuItem"; isList: true; isReadonly: true } + Property { name: "menuItems"; type: "QQuickMenuItem1"; isList: true; isReadonly: true } Property { name: "currentIndex"; type: "int"; isReadonly: true } - Property { name: "currentItem"; type: "QQuickMenuItem"; isReadonly: true; isPointer: true } + Property { name: "currentItem"; type: "QQuickMenuItem1"; isReadonly: true; isPointer: true } Property { name: "__mouseThief"; type: "QQuickMouseThief"; isReadonly: true; isPointer: true } Method { name: "popup" @@ -1333,8 +1338,9 @@ Module { defaultProperty: "data" Property { name: "checked"; type: "bool" } Property { name: "activeFocusOnPress"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } Property { name: "text"; type: "string" } + Property { name: "tooltip"; type: "string" } Property { name: "__cycleStatesHandler"; type: "QVariant" } Property { name: "pressed"; type: "bool" } Property { name: "hovered"; type: "bool"; isReadonly: true } @@ -1355,7 +1361,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -1364,16 +1369,23 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } @@ -1630,7 +1642,7 @@ Module { defaultProperty: "data" Property { name: "checked"; type: "bool" } Property { name: "activeFocusOnPress"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } Property { name: "pressed"; type: "bool"; isReadonly: true } Signal { name: "clicked" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -1720,7 +1732,7 @@ Module { Property { name: "currentRow"; type: "int" } Property { name: "selection" - type: "TableViewSelection_QMLTYPE_281" + type: "TableViewSelection_QMLTYPE_257" isReadonly: true isPointer: true } @@ -1807,7 +1819,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -1816,16 +1827,23 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } @@ -1851,9 +1869,9 @@ Module { } Component { prototype: "QQuickFocusScope" - name: "QtQuick.Controls/TextArea 1.3" - exports: ["QtQuick.Controls/TextArea 1.3"] - exportMetaObjectRevisions: [3] + name: "QtQuick.Controls/TextArea 1.0" + exports: ["QtQuick.Controls/TextArea 1.0"] + exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } @@ -1968,7 +1986,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -1977,25 +1994,32 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } } Component { prototype: "QQuickFocusScope" - name: "QtQuick.Controls/TextArea 1.0" - exports: ["QtQuick.Controls/TextArea 1.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.Controls/TextArea 1.3" + exports: ["QtQuick.Controls/TextArea 1.3"] + exportMetaObjectRevisions: [3] isComposite: true defaultProperty: "data" Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true } @@ -2110,7 +2134,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -2119,16 +2142,23 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } @@ -2252,7 +2282,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -2261,16 +2290,23 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } @@ -2378,11 +2414,11 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_48"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Property { name: "activeFocusOnPress"; type: "bool" } Property { name: "text"; type: "string" } Property { name: "tooltip"; type: "string" } @@ -2390,8 +2426,8 @@ Module { Property { name: "iconName"; type: "string" } Property { name: "__position"; type: "string" } Property { name: "__iconOverriden"; type: "bool"; isReadonly: true } - Property { name: "__action"; type: "QQuickAction"; isPointer: true } - Property { name: "__iconAction"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isPointer: true } + Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__behavior"; type: "QVariant" } Property { name: "__effectivePressed"; type: "bool" } Property { name: "pressed"; type: "bool"; isReadonly: true } @@ -2426,11 +2462,11 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_48"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } - Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } - Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup1"; isPointer: true } + Property { name: "action"; type: "QQuickAction1"; isPointer: true } Property { name: "activeFocusOnPress"; type: "bool" } Property { name: "text"; type: "string" } Property { name: "tooltip"; type: "string" } @@ -2438,8 +2474,8 @@ Module { Property { name: "iconName"; type: "string" } Property { name: "__position"; type: "string" } Property { name: "__iconOverriden"; type: "bool"; isReadonly: true } - Property { name: "__action"; type: "QQuickAction"; isPointer: true } - Property { name: "__iconAction"; type: "QQuickAction"; isReadonly: true; isPointer: true } + Property { name: "__action"; type: "QQuickAction1"; isPointer: true } + Property { name: "__iconAction"; type: "QQuickAction1"; isReadonly: true; isPointer: true } Property { name: "__behavior"; type: "QVariant" } Property { name: "__effectivePressed"; type: "bool" } Property { name: "pressed"; type: "bool"; isReadonly: true } @@ -2454,9 +2490,9 @@ Module { } Component { prototype: "QQuickFocusScope" - name: "QtQuick.Controls/TreeView 1.5" - exports: ["QtQuick.Controls/TreeView 1.5"] - exportMetaObjectRevisions: [5] + name: "QtQuick.Controls/TreeView 1.4" + exports: ["QtQuick.Controls/TreeView 1.4"] + exportMetaObjectRevisions: [4] isComposite: true defaultProperty: "__columns" Property { name: "model"; type: "QVariant" } @@ -2563,7 +2599,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -2572,25 +2607,32 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } } Component { prototype: "QQuickFocusScope" - name: "QtQuick.Controls/TreeView 1.4" - exports: ["QtQuick.Controls/TreeView 1.4"] - exportMetaObjectRevisions: [4] + name: "QtQuick.Controls/TreeView 1.5" + exports: ["QtQuick.Controls/TreeView 1.5"] + exportMetaObjectRevisions: [5] isComposite: true defaultProperty: "__columns" Property { name: "model"; type: "QVariant" } @@ -2697,7 +2739,6 @@ Module { Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } - Property { name: "__scroller"; type: "QQuickItem"; isPointer: true } Property { name: "__scrollBarTopMargin"; type: "int" } Property { name: "__viewTopMargin"; type: "int" } Property { name: "style"; type: "QQmlComponent"; isPointer: true } @@ -2706,16 +2747,23 @@ Module { Property { name: "verticalScrollBarPolicy"; type: "int" } Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true } + Property { + name: "__scroller" + type: "ScrollViewHelper_QMLTYPE_26" + isReadonly: true + isPointer: true + } + Property { name: "__verticalScrollbarOffset"; type: "int" } Property { name: "__wheelAreaScrollSpeed"; type: "double" } Property { name: "__horizontalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } Property { name: "__verticalScrollBar" - type: "ScrollBar_QMLTYPE_24" + type: "ScrollBar_QMLTYPE_22" isReadonly: true isPointer: true } @@ -2752,6 +2800,7 @@ Module { type: "QVariant" Parameter { name: "columnIndex"; type: "QVariant" } Parameter { name: "itemIndex"; type: "QVariant" } + Parameter { name: "interval"; type: "QVariant" } } Method { name: "getColumn" diff --git a/src/dialogs/dialogs.pro b/src/dialogs/dialogs.pro index f19283f2..ca5f408e 100644 --- a/src/dialogs/dialogs.pro +++ b/src/dialogs/dialogs.pro @@ -7,8 +7,6 @@ IMPORT_VERSION = 1.2 QMAKE_DOCS = $$PWD/doc/qtquickdialogs.qdocconf -qtquickcompiler: DEFINES += ALWAYS_LOAD_FROM_RESOURCES - SOURCES += \ qquickabstractmessagedialog.cpp \ qquickplatformmessagedialog.cpp \ @@ -80,32 +78,15 @@ ios|android|blackberry|winrt { QT += quick-private gui gui-private core core-private qml qml-private -!static { - # Create the resource file - GENERATED_RESOURCE_FILE = $$OUT_PWD/dialogs.qrc - - RESOURCE_CONTENT = \ - "<RCC>" \ - "<qresource prefix=\"/QtQuick/Dialogs\">" - - for(resourcefile, DIALOGS_QML_FILES) { - resourcefileabsolutepath = $$absolute_path($$resourcefile) - relativepath_in = $$relative_path($$resourcefileabsolutepath, $$_PRO_FILE_PWD_) - relativepath_out = $$relative_path($$resourcefileabsolutepath, $$OUT_PWD) - RESOURCE_CONTENT += "<file alias=\"$$relativepath_in\">$$relativepath_out</file>" - } - - RESOURCE_CONTENT += \ - "</qresource>" \ - "</RCC>" - - write_file($$GENERATED_RESOURCE_FILE, RESOURCE_CONTENT)|error("Aborting.") +QML_FILES += $$DIALOGS_QML_FILES - RESOURCES += $$GENERATED_RESOURCE_FILE - # In case of a debug build, deploy the QML files too - !qtquickcompiler:CONFIG(debug, debug|release): QML_FILES += $$DIALOGS_QML_FILES +qtquickcompiler { + DEFINES += ALWAYS_LOAD_FROM_RESOURCES + dialogs.files = $$QML_FILES + dialogs.prefix = /QtQuick/Dialogs + RESOURCES += dialogs } else { - QML_FILES += $$DIALOGS_QML_FILES + !static: CONFIG += qmlcache } load(qml_plugin) diff --git a/src/dialogs/plugin.cpp b/src/dialogs/plugin.cpp index 5a13bc9b..a2fb1099 100644 --- a/src/dialogs/plugin.cpp +++ b/src/dialogs/plugin.cpp @@ -66,8 +66,6 @@ static void initResources() { #ifdef QT_STATIC Q_INIT_RESOURCE(qmake_QtQuick_Dialogs); -#else - Q_INIT_RESOURCE(dialogs); #endif } diff --git a/src/dialogs/qquickabstractdialog.cpp b/src/dialogs/qquickabstractdialog.cpp index 65237652..ce87d56c 100644 --- a/src/dialogs/qquickabstractdialog.cpp +++ b/src/dialogs/qquickabstractdialog.cpp @@ -187,7 +187,7 @@ void QQuickAbstractDialog::setVisible(bool v) connect(m_contentItem, SIGNAL(implicitHeightChanged()), this, SLOT(implicitHeightChanged())); } if (!m_visibleChangedConnected) { - connect(m_dialogWindow, SIGNAL(visibleChanged(bool)), this, SLOT(visibleChanged(bool))); + connect(m_dialogWindow, &QQuickWindow::visibleChanged, this, &QQuickAbstractDialog::visibleChanged); m_visibleChangedConnected = true; } } @@ -328,7 +328,7 @@ void QQuickAbstractDialog::setContentItem(QQuickItem *obj) m_contentItem = obj; qCDebug(lcWindow) << obj; if (m_dialogWindow) { - disconnect(this, SLOT(visibleChanged(bool))); + disconnect(m_dialogWindow, &QQuickWindow::visibleChanged, this, &QQuickAbstractDialog::visibleChanged); // Can't necessarily delete because m_dialogWindow might have been provided by the QML. m_dialogWindow = 0; } diff --git a/src/extras/extras.pro b/src/extras/extras.pro index ab2f69cd..d357f445 100644 --- a/src/extras/extras.pro +++ b/src/extras/extras.pro @@ -8,7 +8,7 @@ QT += qml QMAKE_DOCS = $$PWD/doc/qtquickextras.qdocconf -CONTROLS_QML_FILES = \ +QML_FILES += \ CircularGauge.qml \ DelayButton.qml \ Dial.qml \ @@ -28,10 +28,9 @@ SOURCES += plugin.cpp \ include(Private/private.pri) include(designer/designer.pri) -OTHER_FILES += doc/src/* +!static: CONFIG += qmlcache -!static:RESOURCES += extras.qrc -else: QML_FILES += $$CONTROLS_QML_FILES +OTHER_FILES += doc/src/* TR_EXCLUDE += designer/* diff --git a/src/extras/extras.qrc b/src/extras/extras.qrc deleted file mode 100644 index fcb8da57..00000000 --- a/src/extras/extras.qrc +++ /dev/null @@ -1,19 +0,0 @@ -<RCC> - <qresource prefix="/ExtrasImports/QtQuick/Extras"> - <file>StatusIndicator.qml</file> - <file>ToggleButton.qml</file> - <file>Tumbler.qml</file> - <file>PieMenu.qml</file> - <file>Gauge.qml</file> - <file>Dial.qml</file> - <file>CircularGauge.qml</file> - <file>TumblerColumn.qml</file> - <file>DelayButton.qml</file> - <file>Private/CircularButton.qml</file> - <file>Private/Handle.qml</file> - <file>Private/PieMenuIcon.qml</file> - <file>Private/CircularButtonStyleHelper.qml</file> - <file>Private/CircularTickmarkLabel.qml</file> - <file>Private/TextSingleton.qml</file> - </qresource> -</RCC> diff --git a/src/extras/plugin.cpp b/src/extras/plugin.cpp index a9e23321..5133a4ac 100644 --- a/src/extras/plugin.cpp +++ b/src/extras/plugin.cpp @@ -50,9 +50,7 @@ static void initResources() { -#ifndef QT_STATIC - Q_INIT_RESOURCE(extras); -#else +#ifdef QT_STATIC Q_INIT_RESOURCE(qmake_QtQuick_Extras); #endif } @@ -75,7 +73,7 @@ QtQuickExtrasPlugin::QtQuickExtrasPlugin(QObject *parent) : void QtQuickExtrasPlugin::registerTypes(const char *uri) { #ifndef QT_STATIC - const QString prefix = "qrc:///ExtrasImports/QtQuick/Extras"; + const QString prefix = baseUrl().toString(); #else const QString prefix = "qrc:/qt-project.org/imports/QtQuick/Extras"; #endif @@ -113,7 +111,7 @@ void QtQuickExtrasPlugin::initializeEngine(QQmlEngine *engine, const char *uri) qmlRegisterSingletonType<QQuickMathUtils>("QtQuick.Extras.Private.CppUtils", 1, 0, "MathUtils", registerMathUtilsSingleton); #ifndef QT_STATIC - const QString prefix = "qrc:///ExtrasImports/QtQuick/Extras"; + const QString prefix = baseUrl().toString(); #else const QString prefix = "qrc:/qt-project.org/imports/QtQuick/Extras"; #endif diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 14860dc0..f3b76771 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -2,3 +2,6 @@ TEMPLATE = subdirs SUBDIRS += testplugin controls activeFocusOnTab applicationwindow dialogs \ extras qquicktreemodeladaptor customcontrolsstyle controls.depends = testplugin + +# QTBUG-60268 +boot2qt: SUBDIRS -= controls activeFocusOnTab applicationwindow dialogs extras customcontrolsstyle diff --git a/tests/auto/controls/data/tst_label.qml b/tests/auto/controls/data/tst_label.qml index e5c53a52..145c7f14 100644 --- a/tests/auto/controls/data/tst_label.qml +++ b/tests/auto/controls/data/tst_label.qml @@ -69,6 +69,17 @@ TestCase { label.destroy() } + function test_textPaddings() { + var label = Qt.createQmlObject('import QtQuick.Controls 1.2; Label { leftPadding: 2; rightPadding: 2; topPadding: 2; bottomPadding: 2 }', testCase, ''); + + compare(label.leftPadding, 2) + compare(label.rightPadding, 2) + compare(label.topPadding, 2) + compare(label.bottomPadding, 2) + + label.destroy() + } + function test_activeFocusOnTab() { if (Qt.styleHints.tabFocusBehavior != Qt.TabFocusAllControls) skip("This function doesn't support NOT iterating all.") diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml index 4cff6352..a27cf70e 100644 --- a/tests/auto/controls/data/tst_slider.qml +++ b/tests/auto/controls/data/tst_slider.qml @@ -346,7 +346,7 @@ Item { // drag less than the threshold distance mouseMove(control, pt.x + Settings.dragThreshold - 1, pt.y) - compare(control.value, 0.5) + verify(control.value > 0.5) // drag over the threshold mouseMove(control, pt.x + Settings.dragThreshold + 1, pt.y) diff --git a/tests/auto/dialogs/tst_dialogs.cpp b/tests/auto/dialogs/tst_dialogs.cpp index 1f139966..20da6e43 100644 --- a/tests/auto/dialogs/tst_dialogs.cpp +++ b/tests/auto/dialogs/tst_dialogs.cpp @@ -87,7 +87,7 @@ void tst_dialogs::dialogImplicitWidth() component.loadUrl(testFileUrl("DialogImplicitSize.qml")); QObject *created = component.create(); QScopedPointer<QObject> cleanup(created); - QVERIFY(created); + QVERIFY2(created, qPrintable(component.errorString())); QTRY_VERIFY(created->property("width").toInt() >= 400); QTRY_VERIFY(created->property("height").toInt() >= minimumHeight + heightMargins); @@ -100,7 +100,7 @@ void tst_dialogs::dialogContentResize() component.loadUrl(testFileUrl("DialogMinimumSize.qml")); QObject *created = component.create(); QScopedPointer<QObject> cleanup(created); - QVERIFY(created); + QVERIFY2(created, qPrintable(component.errorString())); QTRY_COMPARE(created->property("width").toInt(), 400); QTRY_COMPARE(created->property("height").toInt(), 300); @@ -121,7 +121,7 @@ void tst_dialogs::fileDialogDefaultModality() window->setGeometry(240,240,1024,320); window->show(); QVERIFY(QTest::qWaitForWindowExposed(window)); - QVERIFY(window->rootObject()); + QVERIFY2(window->rootObject(), qPrintable(window->errors().value(0).toString())); // Click to show QObject *dlg = qvariant_cast<QObject *>(window->rootObject()->property("fileDialog")); @@ -167,7 +167,7 @@ void tst_dialogs::fileDialogNonModal() window->setGeometry(240,240,1024,320); window->show(); QVERIFY(QTest::qWaitForWindowExposed(window)); - QVERIFY(window->rootObject()); + QVERIFY2(window->rootObject(), qPrintable(window->errors().value(0).toString())); // Click to toggle visibility QObject *dlg = qvariant_cast<QObject *>(window->rootObject()->property("fileDialog")); @@ -196,7 +196,7 @@ void tst_dialogs::fileDialogNameFilters() window->setGeometry(240,240,1024,320); window->show(); QVERIFY(QTest::qWaitForWindowExposed(window)); - QVERIFY(window->rootObject()); + QVERIFY2(window->rootObject(), qPrintable(window->errors().value(0).toString())); QObject *dlg = qvariant_cast<QObject *>(window->rootObject()->property("fileDialog")); QStringList filters; diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro index e9bb857b..0c4a064d 100644 --- a/tests/benchmarks/benchmarks.pro +++ b/tests/benchmarks/benchmarks.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs SUBDIRS = \ objectcount \ - statusindicator + statusindicator \ + startup diff --git a/tests/benchmarks/objectcount/objectcount.pro b/tests/benchmarks/objectcount/objectcount.pro index f54d72d6..3e7f77e8 100644 --- a/tests/benchmarks/objectcount/objectcount.pro +++ b/tests/benchmarks/objectcount/objectcount.pro @@ -2,7 +2,7 @@ TEMPLATE = app TARGET = tst_objectcount QT += quick testlib core-private -CONFIG += testcase +CONFIG += benchmark osx:CONFIG -= app_bundle SOURCES += \ diff --git a/tests/benchmarks/startup/gallery.qrc b/tests/benchmarks/startup/gallery.qrc new file mode 100644 index 00000000..2cabf889 --- /dev/null +++ b/tests/benchmarks/startup/gallery.qrc @@ -0,0 +1,13 @@ +<RCC> + <qresource prefix="/"> + <file>timer.qml</file> + <file alias="main.qml">../../../examples/quickcontrols/controls/gallery/main.qml</file> + <file alias="qml/ButtonPage.qml">../../../examples/quickcontrols/controls/gallery/qml/ButtonPage.qml</file> + <file alias="qml/InputPage.qml">../../../examples/quickcontrols/controls/gallery/qml/InputPage.qml</file> + <file alias="qml/ProgressPage.qml">../../../examples/quickcontrols/controls/gallery/qml/ProgressPage.qml</file> + <file alias="qml/UI.js">../../../examples/quickcontrols/controls/gallery/qml/UI.js</file> + <file alias="+android/UI.js">../../../examples/quickcontrols/controls/gallery/qml/+android/UI.js</file> + <file alias="+ios/UI.js">../../../examples/quickcontrols/controls/gallery/qml/+ios/UI.js</file> + <file alias="+osx/UI.js">../../../examples/quickcontrols/controls/gallery/qml/+osx/UI.js</file> + </qresource> +</RCC> diff --git a/tests/benchmarks/startup/startup.pro b/tests/benchmarks/startup/startup.pro new file mode 100644 index 00000000..755fcc8e --- /dev/null +++ b/tests/benchmarks/startup/startup.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = tst_startup + +CONFIG += console +macos:CONFIG -= app_bundle + +SOURCES += \ + startup_bench.cpp + +RESOURCES += \ + gallery.qrc + +include(../../../examples/quickcontrols/controls/shared/shared.pri) diff --git a/tests/benchmarks/startup/startup_bench.cpp b/tests/benchmarks/startup/startup_bench.cpp new file mode 100644 index 00000000..4127f8d0 --- /dev/null +++ b/tests/benchmarks/startup/startup_bench.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qtquickcontrolsapplication.h" +#include <QtQml/QQmlApplicationEngine> +#include <QtCore/QElapsedTimer> +#include <functional> + +int runBenchmark(std::function<int()> f) { + { + QElapsedTimer t; + t.start(); + int r = f(); + if (r == 0) + printf("%d,", static_cast<int>(t.elapsed())); + else + return r; + } + + { + QElapsedTimer t; + t.start(); + int r = f(); + if (r == 0) + printf("%d\n", static_cast<int>(t.elapsed())); + else + return r; + } + + return 0; +} + + +int main(int argc, char *argv[]) +{ + QtQuickControlsApplication app(argc, argv); + + auto startup = [&app]() { + QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); + QObject::connect(&engine, &QQmlApplicationEngine::quit, + QCoreApplication::instance(), &QCoreApplication::quit); + engine.load(QUrl("qrc:/timer.qml")); + if (engine.rootObjects().size() != 2) + return -1; + return app.exec(); + }; + + return runBenchmark(startup); +} diff --git a/tests/benchmarks/startup/timer.qml b/tests/benchmarks/startup/timer.qml new file mode 100644 index 00000000..a0e9f1c1 --- /dev/null +++ b/tests/benchmarks/startup/timer.qml @@ -0,0 +1,7 @@ +import QtQuick 2.2 + +Timer { + running: true + interval: 0 + onTriggered: Qt.quit(); +} diff --git a/tests/benchmarks/statusindicator/statusindicator.pro b/tests/benchmarks/statusindicator/statusindicator.pro index d66b5515..3770784a 100644 --- a/tests/benchmarks/statusindicator/statusindicator.pro +++ b/tests/benchmarks/statusindicator/statusindicator.pro @@ -1,6 +1,7 @@ TEMPLATE = app TARGET = tst_bench_statusindicator QT = core quick testlib +CONFIG += benchmark SOURCES += \ tst_statusindicator.cpp |