diff options
author | Simon Hausmann <[email protected]> | 2015-10-02 12:43:06 +0200 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2015-10-02 12:43:48 +0200 |
commit | 63d832bcae98104bf071096605fc27a59a52254c (patch) | |
tree | ba2fd42487c5889aad0b80aaddb0f304a690b561 | |
parent | 53ff51b61a3ecfc485d7c8ec6d9a5b61d2791719 (diff) | |
parent | a21a33fe79e82a7bd3471612b46106ac1343648f (diff) |
Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: Ie26c941c33fdd8baab49dc13b84d02e2b83af5e1
-rw-r--r-- | dist/changes-5.5.1 | 59 | ||||
-rw-r--r-- | src/controls/ComboBox.qml | 3 | ||||
-rw-r--r-- | src/controls/Menu.qml | 2 | ||||
-rw-r--r-- | src/controls/MenuBar.qml | 81 | ||||
-rw-r--r-- | src/controls/Private/BasicButton.qml | 1 | ||||
-rw-r--r-- | src/controls/Private/EditMenu_base.qml | 3 | ||||
-rw-r--r-- | src/controls/Private/EditMenu_ios.qml | 10 | ||||
-rw-r--r-- | src/controls/Private/MenuContentItem.qml | 28 | ||||
-rw-r--r-- | src/controls/Styles/Base/ScrollViewStyle.qml | 4 | ||||
-rw-r--r-- | src/controls/plugins.qmltypes | 1568 | ||||
-rw-r--r-- | src/controls/qquickmenu.cpp | 71 | ||||
-rw-r--r-- | src/controls/qquickmenu_p.h | 13 | ||||
-rw-r--r-- | src/controls/qquickmenuitem.cpp | 5 | ||||
-rw-r--r-- | src/controls/qquickpopupwindow.cpp | 2 | ||||
-rw-r--r-- | src/extras/Styles/Flat/qmldir | 2 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_button.qml | 22 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_combobox.qml | 5 | ||||
-rw-r--r-- | tests/auto/extras/data/tst_tumbler.qml | 9 |
18 files changed, 1161 insertions, 727 deletions
diff --git a/dist/changes-5.5.1 b/dist/changes-5.5.1 new file mode 100644 index 000000000..da2a64154 --- /dev/null +++ b/dist/changes-5.5.1 @@ -0,0 +1,59 @@ +Qt 5.5.1 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.5.0. + +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.5 series is binary compatible with the 5.4.x series. +Applications compiled for 5.4 will continue to run with 5.5. + +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. + +**************************************************************************** +* Controls * +**************************************************************************** + + - ComboBox: + * [QTBUG-46611] Fixed the selected text to follow model changes + + - Menu: + * [QTBUG-47092] Fixed popups so that they do not cross screen boundaries + * Made MenuBar, Menu properly accessible + * [QTBUG-47233] Removed native menus from native menubar on destruction + * [QTBUG-45131] Android: fixed hardware menu button to open the options menu + * iOS: added shortcuts to edit menu items + + - TableView: + * [QTBUG-46468] Fixed extra row with headerVisible:false + * [QTBUG-44185] Made sort indicator follow moved columns + + - TextArea: + * [QTBUG-41375] Fixed EditMenu so that it does not clear the text selection + + - TreeView: + * [QTBUG-46891] Fixed to track model indexes during selection + +**************************************************************************** +* Dialogs * +**************************************************************************** + + - General: + * Changed to emit accepted and rejected signals instead of calling accept + and reject. Don't close the dialog by default for Help, Apply, Reset + + - FileDialog: + * [QTBUG-46688] Ensured that options are set early enough + +**************************************************************************** +* Styles * +**************************************************************************** + + - [QTBUG-46960][QTBUG-46881] Fixed some minor issues about Android style diff --git a/src/controls/ComboBox.qml b/src/controls/ComboBox.qml index c5fed4842..4e29dfe95 100644 --- a/src/controls/ComboBox.qml +++ b/src/controls/ComboBox.qml @@ -670,8 +670,7 @@ Control { function toggleShow() { if (popup.__popupVisible) { - popup.__dismissMenu() - popup.__destroyAllMenuPopups() + popup.__dismissAndDestroy() } else { if (items[__selectedIndex]) items[__selectedIndex].checked = true diff --git a/src/controls/Menu.qml b/src/controls/Menu.qml index 95378670a..d485cb652 100644 --- a/src/controls/Menu.qml +++ b/src/controls/Menu.qml @@ -147,7 +147,7 @@ MenuPrivate { /*! \internal */ property bool __usingDefaultStyle: false /*! \internal */ - property var __parentContentItem: __parentMenu.__contentItem + property var __parentContentItem: __parentMenu ? __parentMenu.__contentItem : null /*! \internal */ property int __currentIndex: -1 /*! \internal */ diff --git a/src/controls/MenuBar.qml b/src/controls/MenuBar.qml index 26533574c..a16635ffa 100644 --- a/src/controls/MenuBar.qml +++ b/src/controls/MenuBar.qml @@ -147,11 +147,39 @@ MenuBarPrivate { property bool altPressedAgain: false property var mnemonicsMap: ({}) + function openMenuAtIndex(index) { + if (openedMenuIndex === index) + return; + + var oldIndex = openedMenuIndex + openedMenuIndex = index + + if (oldIndex !== -1) { + var menu = root.menus[oldIndex] + if (menu.__popupVisible) + menu.__dismissAndDestroy() + } + + if (openedMenuIndex !== -1) { + menu = root.menus[openedMenuIndex] + if (menu.enabled) { + if (menu.__usingDefaultStyle) + menu.style = d.style.menuStyle + + var xPos = row.LayoutMirroring.enabled ? menuItemLoader.width : 0 + menu.__popup(Qt.rect(xPos, menuBarLoader.height - d.heightPadding, 0, 0), 0) + + if (preselectMenuItem) + menu.__currentIndex = 0 + } + } + } + function dismissActiveFocus(event, reason) { if (reason) { altPressedAgain = false altPressed = false - openedMenuIndex = -1 + openMenuAtIndex(-1) root.__contentItem.parent.forceActiveFocus() } else { event.accepted = false @@ -161,7 +189,7 @@ MenuBarPrivate { function maybeOpenFirstMenu(event) { if (altPressed && openedMenuIndex === -1) { preselectMenuItem = true - openedMenuIndex = 0 + openMenuAtIndex(0) } else { event.accepted = false } @@ -198,7 +226,7 @@ MenuBarPrivate { idx-- if (idx >= 0) { d.preselectMenuItem = true - d.openedMenuIndex = idx + d.openMenuAtIndex(idx) } } else { event.accepted = false; @@ -212,7 +240,7 @@ MenuBarPrivate { idx++ if (idx < root.menus.length) { d.preselectMenuItem = true - d.openedMenuIndex = idx + d.openMenuAtIndex(idx) } } else { event.accepted = false; @@ -234,7 +262,7 @@ MenuBarPrivate { Accessible.role: Accessible.MenuItem Accessible.name: StyleHelpers.removeMnemonics(opts.text) - Accessible.onPressAction: d.openedMenuIndex = opts.index + Accessible.onPressAction: d.openMenuAtIndex(opts.index) property var styleData: QtObject { id: opts @@ -255,35 +283,18 @@ MenuBarPrivate { visible: __menuItem.visible Connections { - target: d - onOpenedMenuIndexChanged: { - if (!__menuItem.enabled) - return; + target: __menuItem + onAboutToHide: { if (d.openedMenuIndex === index) { - if (__menuItem.__usingDefaultStyle) - __menuItem.style = d.style.menuStyle - __menuItem.__popup(Qt.rect(row.LayoutMirroring.enabled ? menuItemLoader.width : 0, - menuBarLoader.height - d.heightPadding, 0, 0), 0) - if (d.preselectMenuItem) - __menuItem.__currentIndex = 0 - } else if (__menuItem.__popupVisible) { - __menuItem.__dismissMenu() - __menuItem.__destroyAllMenuPopups() + d.openMenuAtIndex(-1) + menuMouseArea.hoveredItem = null } } } Connections { - target: __menuItem - onPopupVisibleChanged: { - if (!__menuItem.__popupVisible && d.openedMenuIndex === index) - d.openedMenuIndex = -1 - } - } - - Connections { target: __menuItem.__action - onTriggered: d.openedMenuIndex = __menuItemIndex + onTriggered: d.openMenuAtIndex(__menuItemIndex) } Component.onCompleted: { @@ -303,27 +314,23 @@ MenuBarPrivate { anchors.fill: parent hoverEnabled: Settings.hoverEnabled - onPositionChanged: updateCurrentItem(mouse, false) - onPressed: { - if (updateCurrentItem(mouse)) { - d.preselectMenuItem = false - d.openedMenuIndex = currentItem.__menuItemIndex - } - } + onPositionChanged: updateCurrentItem(mouse) + onPressed: updateCurrentItem(mouse) onExited: hoveredItem = null property Item currentItem: null property Item hoveredItem: null function updateCurrentItem(mouse) { var pos = mapToItem(row, mouse.x, mouse.y) - if (!hoveredItem || !hoveredItem.contains(Qt.point(pos.x - currentItem.x, pos.y - currentItem.y))) { + if (pressed || !hoveredItem + || !hoveredItem.contains(Qt.point(pos.x - currentItem.x, pos.y - currentItem.y))) { hoveredItem = row.childAt(pos.x, pos.y) if (!hoveredItem) return false; currentItem = hoveredItem - if (d.openedMenuIndex !== -1) { + if (pressed || d.openedMenuIndex !== -1) { d.preselectMenuItem = false - d.openedMenuIndex = currentItem.__menuItemIndex + d.openMenuAtIndex(currentItem.__menuItemIndex) } } return true; diff --git a/src/controls/Private/BasicButton.qml b/src/controls/Private/BasicButton.qml index 9a9cf71e2..346cd419f 100644 --- a/src/controls/Private/BasicButton.qml +++ b/src/controls/Private/BasicButton.qml @@ -147,6 +147,7 @@ Control { Action { id: ownAction + enabled: button.enabled iconSource: !button.action || __iconOverriden ? button.iconSource : "" iconName: !button.action || __iconOverriden ? button.iconName : "" diff --git a/src/controls/Private/EditMenu_base.qml b/src/controls/Private/EditMenu_base.qml index e44ff5992..15fe8d692 100644 --- a/src/controls/Private/EditMenu_base.qml +++ b/src/controls/Private/EditMenu_base.qml @@ -161,8 +161,7 @@ Item { if (control.menu) { var menu = getMenuInstance(); - menu.__dismissMenu(); - menu.__destroyAllMenuPopups(); + menu.__dismissAndDestroy(); var menuPos = mapToItem(null, mouse.x, mouse.y) menu.__popup(Qt.rect(menuPos.x, menuPos.y, 0, 0), -1, MenuPrivate.EditMenu); } diff --git a/src/controls/Private/EditMenu_ios.qml b/src/controls/Private/EditMenu_ios.qml index 7b0787f04..94c4617a0 100644 --- a/src/controls/Private/EditMenu_ios.qml +++ b/src/controls/Private/EditMenu_ios.qml @@ -34,8 +34,8 @@ ** ****************************************************************************/ -import QtQuick 2.1 -import QtQuick.Controls 1.1 +import QtQuick 2.2 +import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.1 import QtQuick.Controls.Private 1.0 @@ -46,6 +46,7 @@ Item { property Component defaultMenu: Menu { MenuItem { text: qsTr("Cut") + shortcut: StandardKey.Cut visible: !input.readOnly && selectionStart !== selectionEnd onTriggered: { cut(); @@ -54,6 +55,7 @@ Item { } MenuItem { text: qsTr("Copy") + shortcut: StandardKey.Copy visible: selectionStart !== selectionEnd onTriggered: { copy(); @@ -62,21 +64,25 @@ Item { } MenuItem { text: qsTr("Paste") + shortcut: StandardKey.Paste visible: input.canPaste onTriggered: paste(); } MenuItem { text: qsTr("Delete") + shortcut: StandardKey.Delete visible: !input.readOnly && selectionStart !== selectionEnd onTriggered: remove(selectionStart, selectionEnd) } MenuItem { text: qsTr("Select") + shortcut: StandardKey.Select visible: selectionStart === selectionEnd && input.length > 0 onTriggered: selectWord(); } MenuItem { text: qsTr("Select All") + shortcut: StandardKey.SelectAll visible: !(selectionStart === 0 && selectionEnd === length) onTriggered: selectAll(); } diff --git a/src/controls/Private/MenuContentItem.qml b/src/controls/Private/MenuContentItem.qml index a386ec111..e3be2e444 100644 --- a/src/controls/Private/MenuContentItem.qml +++ b/src/controls/Private/MenuContentItem.qml @@ -80,16 +80,16 @@ Loader { function triggerCurrent() { var item = content.menuItemAt(__menu.__currentIndex) if (item) - content.triggered(item) + triggerAndDismiss(item) } function triggerAndDismiss(item) { - if (item && item.styleData.type !== MenuItemType.Separator) { - __menu.__dismissMenu() - if (item.styleData.type !== MenuItemType.Menu) - item.__menuItem.trigger() - __menu.__destroyAllMenuPopups() - } + if (!item) + return; + if (item.styleData.type === MenuItemType.Separator) + __menu.__dismissAndDestroy() + else if (item.styleData.type === MenuItemType.Item) + item.__menuItem.trigger() } } @@ -112,7 +112,7 @@ Loader { } } - Keys.onEscapePressed: __menu.__dismissMenu() + Keys.onEscapePressed: __menu.__dismissAndDestroy() Keys.onDownPressed: { if (__menu.__currentIndex < 0) @@ -132,10 +132,8 @@ Loader { } Keys.onLeftPressed: { - if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title"))) { - __menu.__closeMenu() - __menu.__destroyMenuPopup() - } + if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title"))) + __menu.__closeAndDestroy() } Keys.onRightPressed: { @@ -246,10 +244,8 @@ Loader { id: closeMenuTimer interval: 1 onTriggered: { - if (__menu.__currentIndex !== __menuItemIndex) { - __menuItem.__closeMenu() - __menuItem.__destroyMenuPopup() - } + if (__menu.__currentIndex !== __menuItemIndex) + __menuItem.__closeAndDestroy() } } diff --git a/src/controls/Styles/Base/ScrollViewStyle.qml b/src/controls/Styles/Base/ScrollViewStyle.qml index 1a626423e..09bc7da34 100644 --- a/src/controls/Styles/Base/ScrollViewStyle.qml +++ b/src/controls/Styles/Base/ScrollViewStyle.qml @@ -378,8 +378,8 @@ Style { width: __styleData.horizontal ? extent : implicitWidth anchors.top: bg.top anchors.left: bg.left - anchors.topMargin: __styleData.horizontal ? 0 : -handleOverlap + (2 * begin * (bg.height + (2 * handleOverlap) - extent) + range) / (2 * range) - anchors.leftMargin: __styleData.horizontal ? -handleOverlap + (2 * begin * (bg.width + (2 * handleOverlap) - extent) + range) / (2 * range) : 0 + anchors.topMargin: __styleData.horizontal || range === 0 ? 0 : -handleOverlap + (2 * begin * (bg.height + (2 * handleOverlap) - extent) + range) / (2 * range) + anchors.leftMargin: __styleData.horizontal && range !== 0 ? -handleOverlap + (2 * begin * (bg.width + (2 * handleOverlap) - extent) + range) / (2 * range) : 0 sourceComponent: handle property QtObject styleData: QtObject { readonly property bool hovered: activeControl === "handle" diff --git a/src/controls/plugins.qmltypes b/src/controls/plugins.qmltypes index 616951f02..866ef043b 100644 --- a/src/controls/plugins.qmltypes +++ b/src/controls/plugins.qmltypes @@ -1,12 +1,22 @@ -import QtQuick.tooling 1.1 +import QtQuick.tooling 1.2 // This file describes the plugin-supplied types contained in the library. // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable QtQuick.Controls 1.3' +// 'qmlplugindump -nonrelocatable QtQuick.Controls 1.4' Module { + dependencies: [ + "QtGraphicalEffects 1.0", + "QtQml.Models 2.2", + "QtQuick 2.5", + "QtQuick.Controls.Styles 1.4", + "QtQuick.Extras 1.4", + "QtQuick.Extras.Private.CppUtils 1.1", + "QtQuick.Layouts 1.1", + "QtQuick.Window 2.2" + ] Component { name: "QQuickAbstractStyle" defaultProperty: "data" @@ -105,6 +115,27 @@ Module { Property { name: "dragThreshold"; type: "double"; isReadonly: true } Property { name: "hasTouchScreen"; type: "bool"; isReadonly: true } Property { name: "isMobile"; type: "bool"; isReadonly: true } + Property { name: "hoverEnabled"; type: "bool"; isReadonly: true } + Method { + name: "styleComponent" + type: "QQmlComponent*" + Parameter { name: "styleDirUrl"; type: "QUrl" } + Parameter { name: "controlStyleName"; type: "string" } + Parameter { name: "control"; type: "QObject"; isPointer: true } + } + } + Component { + name: "QQuickControlsPrivate" + prototype: "QObject" + exports: ["QtQuick.Controls.Private/Controls 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + attachedType: "QQuickControlsPrivateAttached" + } + Component { + name: "QQuickControlsPrivateAttached" + prototype: "QObject" + Property { name: "window"; type: "QQuickWindow"; isReadonly: true; isPointer: true } } Component { name: "QQuickExclusiveGroup" @@ -147,12 +178,16 @@ Module { Property { name: "__yOffset"; type: "double" } Property { name: "__action"; type: "QQuickAction"; isReadonly: true; isPointer: true } Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true } - Signal { name: "__menuClosed" } + Signal { name: "aboutToShow" } + Signal { name: "aboutToHide" } Signal { name: "popupVisibleChanged" } + Signal { name: "__menuPopupDestroyed" } Signal { name: "menuContentItemChanged" } Signal { name: "minimumWidthChanged" } Method { name: "__closeMenu" } Method { name: "__dismissMenu" } + Method { name: "__destroyMenuPopup" } + Method { name: "__destroyAllMenuPopups" } Method { name: "popup" } Method { name: "addItem" @@ -386,17 +421,13 @@ Module { Property { name: "maximumDate"; type: "QDate" } } Component { - name: "QQuickRootItem" - defaultProperty: "data" - prototype: "QQuickItem" - Method { - name: "setWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setHeight" - Parameter { name: "h"; type: "int" } - } + name: "QQuickScenePosListener" + prototype: "QObject" + exports: ["QtQuick.Controls.Private/ScenePosListener 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "item"; type: "QQuickItem"; isPointer: true } + Property { name: "scenePos"; type: "QPointF"; isReadonly: true } + Property { name: "enabled"; type: "bool" } } Component { name: "QQuickSelectionMode" @@ -567,450 +598,73 @@ Module { Method { name: "hideText" } } Component { - name: "QQuickWheelArea" - defaultProperty: "data" - prototype: "QQuickItem" - exports: ["QtQuick.Controls.Private/WheelArea 1.0"] + name: "QQuickTreeModelAdaptor" + prototype: "QAbstractListModel" + exports: ["QtQuick.Controls.Private/TreeModelAdaptor 1.0"] exportMetaObjectRevisions: [0] - Property { name: "verticalDelta"; type: "double" } - Property { name: "horizontalDelta"; type: "double" } - Property { name: "horizontalMinimumValue"; type: "double" } - Property { name: "horizontalMaximumValue"; type: "double" } - Property { name: "verticalMinimumValue"; type: "double" } - Property { name: "verticalMaximumValue"; type: "double" } - Property { name: "horizontalValue"; type: "double" } - Property { name: "verticalValue"; type: "double" } - Property { name: "scrollSpeed"; type: "double" } - Property { name: "active"; type: "bool" } - Signal { name: "verticalWheelMoved" } - Signal { name: "horizontalWheelMoved" } - } - Component { - name: "QQuickWindow" - defaultProperty: "data" - prototype: "QWindow" - Enum { - name: "SceneGraphError" - values: { - "ContextNotAvailable": 1 - } - } - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "color"; type: "QColor" } - Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { - name: "activeFocusItem" - revision: 1 - type: "QQuickItem" - isReadonly: true - isPointer: true - } - Signal { name: "frameSwapped" } - Signal { - name: "openglContextCreated" - revision: 2 - Parameter { name: "context"; type: "QOpenGLContext"; isPointer: true } - } - Signal { name: "sceneGraphInitialized" } - Signal { name: "sceneGraphInvalidated" } - Signal { name: "beforeSynchronizing" } - Signal { name: "afterSynchronizing"; revision: 2 } - Signal { name: "beforeRendering" } - Signal { name: "afterRendering" } - Signal { name: "afterAnimating"; revision: 2 } - Signal { name: "sceneGraphAboutToStop"; revision: 2 } - Signal { - name: "closing" - revision: 1 - Parameter { name: "close"; type: "QQuickCloseEvent"; isPointer: true } - } - Signal { - name: "colorChanged" - Parameter { type: "QColor" } - } - Signal { name: "activeFocusItemChanged"; revision: 1 } - Signal { - name: "sceneGraphError" - revision: 2 - Parameter { name: "error"; type: "QQuickWindow::SceneGraphError" } - Parameter { name: "message"; type: "string" } - } - Method { name: "update" } - Method { name: "releaseResources" } - } - Component { - name: "QWindow" - prototype: "QObject" - Enum { - name: "Visibility" - values: { - "Hidden": 0, - "AutomaticVisibility": 1, - "Windowed": 2, - "Minimized": 3, - "Maximized": 4, - "FullScreen": 5 - } - } - Property { name: "title"; type: "string" } - Property { name: "modality"; type: "Qt::WindowModality" } - Property { name: "flags"; type: "Qt::WindowFlags" } - Property { name: "x"; type: "int" } - Property { name: "y"; type: "int" } - Property { name: "width"; type: "int" } - Property { name: "height"; type: "int" } - Property { name: "minimumWidth"; type: "int" } - Property { name: "minimumHeight"; type: "int" } - Property { name: "maximumWidth"; type: "int" } - Property { name: "maximumHeight"; type: "int" } - Property { name: "visible"; type: "bool" } - Property { name: "active"; revision: 1; type: "bool"; isReadonly: true } - Property { name: "visibility"; revision: 1; type: "Visibility" } - Property { name: "contentOrientation"; type: "Qt::ScreenOrientation" } - Property { name: "opacity"; revision: 1; type: "double" } - Signal { - name: "screenChanged" - Parameter { name: "screen"; type: "QScreen"; isPointer: true } - } - Signal { - name: "modalityChanged" - Parameter { name: "modality"; type: "Qt::WindowModality" } - } - Signal { - name: "windowStateChanged" - Parameter { name: "windowState"; type: "Qt::WindowState" } - } - Signal { - name: "windowTitleChanged" - revision: 2 - Parameter { name: "title"; type: "string" } - } - Signal { - name: "xChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "yChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "widthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "heightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumHeightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumHeightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "visibleChanged" - Parameter { name: "arg"; type: "bool" } - } - Signal { - name: "visibilityChanged" - revision: 1 - Parameter { name: "visibility"; type: "QWindow::Visibility" } - } - Signal { name: "activeChanged"; revision: 1 } - Signal { - name: "contentOrientationChanged" - Parameter { name: "orientation"; type: "Qt::ScreenOrientation" } - } - Signal { - name: "focusObjectChanged" - Parameter { name: "object"; type: "QObject"; isPointer: true } - } - Signal { - name: "opacityChanged" - revision: 1 - Parameter { name: "opacity"; type: "double" } - } - Method { name: "requestActivate"; revision: 1 } - Method { - name: "setVisible" - Parameter { name: "visible"; type: "bool" } - } - Method { name: "show" } - Method { name: "hide" } - Method { name: "showMinimized" } - Method { name: "showMaximized" } - Method { name: "showFullScreen" } - Method { name: "showNormal" } - Method { name: "close"; type: "bool" } - Method { name: "raise" } - Method { name: "lower" } - Method { - name: "setTitle" - Parameter { type: "string" } - } - Method { - name: "setX" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setY" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setWidth" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setHeight" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setMinimumWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setMinimumHeight" - Parameter { name: "h"; type: "int" } - } - Method { - name: "setMaximumWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setMaximumHeight" - Parameter { name: "h"; type: "int" } - } - Method { - name: "alert" - revision: 1 - Parameter { name: "msec"; type: "int" } - } - } - Component { - name: "QWindow" - prototype: "QObject" - Enum { - name: "Visibility" - values: { - "Hidden": 0, - "AutomaticVisibility": 1, - "Windowed": 2, - "Minimized": 3, - "Maximized": 4, - "FullScreen": 5 - } - } - Property { name: "title"; type: "string" } - Property { name: "modality"; type: "Qt::WindowModality" } - Property { name: "flags"; type: "Qt::WindowFlags" } - Property { name: "x"; type: "int" } - Property { name: "y"; type: "int" } - Property { name: "width"; type: "int" } - Property { name: "height"; type: "int" } - Property { name: "minimumWidth"; type: "int" } - Property { name: "minimumHeight"; type: "int" } - Property { name: "maximumWidth"; type: "int" } - Property { name: "maximumHeight"; type: "int" } - Property { name: "visible"; type: "bool" } - Property { name: "active"; revision: 1; type: "bool"; isReadonly: true } - Property { name: "visibility"; revision: 1; type: "Visibility" } - Property { name: "contentOrientation"; type: "Qt::ScreenOrientation" } - Property { name: "opacity"; revision: 1; type: "double" } - Signal { - name: "screenChanged" - Parameter { name: "screen"; type: "QScreen"; isPointer: true } - } - Signal { - name: "modalityChanged" - Parameter { name: "modality"; type: "Qt::WindowModality" } - } - Signal { - name: "windowStateChanged" - Parameter { name: "windowState"; type: "Qt::WindowState" } - } - Signal { - name: "windowTitleChanged" - revision: 2 - Parameter { name: "title"; type: "string" } - } - Signal { - name: "xChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "yChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "widthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "heightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumHeightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumHeightChanged" - Parameter { name: "arg"; type: "int" } - } + Property { name: "model"; type: "QAbstractItemModel"; isPointer: true } Signal { - name: "visibleChanged" - Parameter { name: "arg"; type: "bool" } + name: "modelChanged" + Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true } } Signal { - name: "visibilityChanged" - revision: 1 - Parameter { name: "visibility"; type: "QWindow::Visibility" } + name: "expanded" + Parameter { name: "index"; type: "QModelIndex" } } - Signal { name: "activeChanged"; revision: 1 } Signal { - name: "contentOrientationChanged" - Parameter { name: "orientation"; type: "Qt::ScreenOrientation" } - } - Signal { - name: "focusObjectChanged" - Parameter { name: "object"; type: "QObject"; isPointer: true } - } - Signal { - name: "opacityChanged" - revision: 1 - Parameter { name: "opacity"; type: "double" } - } - Method { name: "requestActivate"; revision: 1 } - Method { - name: "setVisible" - Parameter { name: "visible"; type: "bool" } + name: "collapsed" + Parameter { name: "index"; type: "QModelIndex" } } - Method { name: "show" } - Method { name: "hide" } - Method { name: "showMinimized" } - Method { name: "showMaximized" } - Method { name: "showFullScreen" } - Method { name: "showNormal" } - Method { name: "close"; type: "bool" } - Method { name: "raise" } - Method { name: "lower" } Method { - name: "setTitle" - Parameter { type: "string" } - } - Method { - name: "setX" - Parameter { name: "arg"; type: "int" } + name: "expand" + Parameter { type: "QModelIndex" } } Method { - name: "setY" - Parameter { name: "arg"; type: "int" } + name: "collapse" + Parameter { type: "QModelIndex" } } Method { - name: "setWidth" - Parameter { name: "arg"; type: "int" } + name: "setModel" + Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true } } Method { - name: "setHeight" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setMinimumWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setMinimumHeight" - Parameter { name: "h"; type: "int" } - } - Method { - name: "setMaximumWidth" - Parameter { name: "w"; type: "int" } + name: "mapRowToModelIndex" + type: "QModelIndex" + Parameter { name: "row"; type: "int" } } Method { - name: "setMaximumHeight" - Parameter { name: "h"; type: "int" } + name: "selectionForRowRange" + type: "QItemSelection" + Parameter { name: "fromIndex"; type: "QModelIndex" } + Parameter { name: "toIndex"; type: "QModelIndex" } } Method { - name: "alert" - revision: 1 - Parameter { name: "msec"; type: "int" } + name: "isExpanded" + type: "bool" + Parameter { type: "QModelIndex" } } } Component { - name: "QQuickWindow" + name: "QQuickWheelArea" defaultProperty: "data" - prototype: "QWindow" - exports: ["QtQuick.Window/Window 2.0"] + prototype: "QQuickItem" + exports: ["QtQuick.Controls.Private/WheelArea 1.0"] exportMetaObjectRevisions: [0] - Enum { - name: "SceneGraphError" - values: { - "ContextNotAvailable": 1 - } - } - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "color"; type: "QColor" } - Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { - name: "activeFocusItem" - revision: 1 - type: "QQuickItem" - isReadonly: true - isPointer: true - } - Signal { name: "frameSwapped" } - Signal { - name: "openglContextCreated" - revision: 2 - Parameter { name: "context"; type: "QOpenGLContext"; isPointer: true } - } - Signal { name: "sceneGraphInitialized" } - Signal { name: "sceneGraphInvalidated" } - Signal { name: "beforeSynchronizing" } - Signal { name: "afterSynchronizing"; revision: 2 } - Signal { name: "beforeRendering" } - Signal { name: "afterRendering" } - Signal { name: "afterAnimating"; revision: 2 } - Signal { name: "sceneGraphAboutToStop"; revision: 2 } - Signal { - name: "closing" - revision: 1 - Parameter { name: "close"; type: "QQuickCloseEvent"; isPointer: true } - } - Signal { - name: "colorChanged" - Parameter { type: "QColor" } - } - Signal { name: "activeFocusItemChanged"; revision: 1 } - Signal { - name: "sceneGraphError" - revision: 2 - Parameter { name: "error"; type: "QQuickWindow::SceneGraphError" } - Parameter { name: "message"; type: "string" } - } - Method { name: "update" } - Method { name: "releaseResources" } + Property { name: "verticalDelta"; type: "double" } + Property { name: "horizontalDelta"; type: "double" } + Property { name: "horizontalMinimumValue"; type: "double" } + Property { name: "horizontalMaximumValue"; type: "double" } + Property { name: "verticalMinimumValue"; type: "double" } + Property { name: "verticalMaximumValue"; type: "double" } + Property { name: "horizontalValue"; type: "double" } + Property { name: "verticalValue"; type: "double" } + Property { name: "scrollSpeed"; type: "double" } + Property { name: "active"; type: "bool" } + Signal { name: "verticalWheelMoved" } + Signal { name: "horizontalWheelMoved" } } Component { - prototype: "QQuickWindow" + prototype: "QQuickWindowQmlImpl" name: "QtQuick.Controls/ApplicationWindow" exports: ["QtQuick.Controls/ApplicationWindow 1.0"] exportMetaObjectRevisions: [0] @@ -1024,195 +678,10 @@ Module { Property { name: "__qwindowsize_max"; type: "double"; isReadonly: true } Property { name: "__width"; type: "double" } Property { name: "__height"; type: "double" } - Property { - name: "contentItem" - type: "ContentItem_QMLTYPE_11" - isReadonly: true - isPointer: true - } + Property { name: "contentItem"; type: "ContentItem_QMLTYPE_1"; isReadonly: true; isPointer: true } Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true } Property { name: "__panel"; type: "QObject"; isReadonly: true; isPointer: true } Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "visible"; type: "bool" } - Property { name: "visibility"; type: "Visibility" } - Signal { - name: "visibleChanged" - Parameter { name: "arg"; type: "bool" } - } - Signal { - name: "visibilityChanged" - Parameter { name: "visibility"; type: "QWindow::Visibility" } - } - Property { name: "color"; type: "QColor" } - Property { - name: "activeFocusItem" - revision: 1 - type: "QQuickItem" - isReadonly: true - isPointer: true - } - Signal { name: "frameSwapped" } - Signal { - name: "openglContextCreated" - revision: 2 - Parameter { name: "context"; type: "QOpenGLContext"; isPointer: true } - } - Signal { name: "sceneGraphInitialized" } - Signal { name: "sceneGraphInvalidated" } - Signal { name: "beforeSynchronizing" } - Signal { name: "afterSynchronizing"; revision: 2 } - Signal { name: "beforeRendering" } - Signal { name: "afterRendering" } - Signal { name: "afterAnimating"; revision: 2 } - Signal { name: "sceneGraphAboutToStop"; revision: 2 } - Signal { - name: "closing" - revision: 1 - Parameter { name: "close"; type: "QQuickCloseEvent"; isPointer: true } - } - Signal { - name: "colorChanged" - Parameter { type: "QColor" } - } - Signal { - name: "sceneGraphError" - revision: 2 - Parameter { name: "error"; type: "QQuickWindow::SceneGraphError" } - Parameter { name: "message"; type: "string" } - } - Method { name: "update" } - Method { name: "releaseResources" } - Property { name: "title"; type: "string" } - Property { name: "modality"; type: "Qt::WindowModality" } - Property { name: "flags"; type: "Qt::WindowFlags" } - Property { name: "x"; type: "int" } - Property { name: "y"; type: "int" } - Property { name: "width"; type: "int" } - Property { name: "height"; type: "int" } - Property { name: "minimumWidth"; type: "int" } - Property { name: "minimumHeight"; type: "int" } - Property { name: "maximumWidth"; type: "int" } - Property { name: "maximumHeight"; type: "int" } - Property { name: "active"; revision: 1; type: "bool"; isReadonly: true } - Property { name: "contentOrientation"; type: "Qt::ScreenOrientation" } - Property { name: "opacity"; revision: 1; type: "double" } - Signal { - name: "screenChanged" - Parameter { name: "screen"; type: "QScreen"; isPointer: true } - } - Signal { - name: "modalityChanged" - Parameter { name: "modality"; type: "Qt::WindowModality" } - } - Signal { - name: "windowStateChanged" - Parameter { name: "windowState"; type: "Qt::WindowState" } - } - Signal { - name: "windowTitleChanged" - revision: 2 - Parameter { name: "title"; type: "string" } - } - Signal { - name: "xChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "yChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "widthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "heightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "minimumHeightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumWidthChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "maximumHeightChanged" - Parameter { name: "arg"; type: "int" } - } - Signal { - name: "contentOrientationChanged" - Parameter { name: "orientation"; type: "Qt::ScreenOrientation" } - } - Signal { - name: "focusObjectChanged" - Parameter { name: "object"; type: "QObject"; isPointer: true } - } - Signal { - name: "opacityChanged" - revision: 1 - Parameter { name: "opacity"; type: "double" } - } - Method { name: "requestActivate"; revision: 1 } - Method { - name: "setVisible" - Parameter { name: "visible"; type: "bool" } - } - Method { name: "show" } - Method { name: "hide" } - Method { name: "showMinimized" } - Method { name: "showMaximized" } - Method { name: "showFullScreen" } - Method { name: "showNormal" } - Method { name: "close"; type: "bool" } - Method { name: "raise" } - Method { name: "lower" } - Method { - name: "setTitle" - Parameter { type: "string" } - } - Method { - name: "setX" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setY" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setWidth" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setHeight" - Parameter { name: "arg"; type: "int" } - } - Method { - name: "setMinimumWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setMinimumHeight" - Parameter { name: "h"; type: "int" } - } - Method { - name: "setMaximumWidth" - Parameter { name: "w"; type: "int" } - } - Method { - name: "setMaximumHeight" - Parameter { name: "h"; type: "int" } - } - Method { - name: "alert" - revision: 1 - Parameter { name: "msec"; type: "int" } - } } Component { prototype: "QQuickFocusScope" @@ -1236,7 +705,7 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_49"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } @@ -1350,6 +819,138 @@ Module { } Component { prototype: "QQuickFocusScope" + name: "QtQuick.Extras.Private/CircularButton" + exports: ["QtQuick.Extras.Private/CircularButton 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "isDefault"; type: "bool" } + Property { name: "menu"; type: "Menu_QMLTYPE_50"; 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: "activeFocusOnPress"; type: "bool" } + Property { name: "text"; type: "string" } + Property { name: "tooltip"; type: "string" } + Property { name: "iconSource"; type: "QUrl" } + 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: "__effectivePressed"; type: "bool" } + Property { name: "__behavior"; type: "QVariant" } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "hovered"; type: "bool"; isReadonly: true } + Signal { name: "clicked" } + Method { name: "accessiblePressAction"; type: "QVariant" } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QObject" + name: "QtQuick.Extras.Private/CircularButtonStyleHelper" + exports: ["QtQuick.Extras.Private/CircularButtonStyleHelper 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + Property { name: "control"; type: "QQuickItem"; isPointer: true } + Property { name: "buttonColorUpTop"; type: "QColor" } + Property { name: "buttonColorUpBottom"; type: "QColor" } + Property { name: "buttonColorDownTop"; type: "QColor" } + Property { name: "buttonColorDownBottom"; type: "QColor" } + Property { name: "outerArcColorTop"; type: "QColor" } + Property { name: "outerArcColorBottom"; type: "QColor" } + Property { name: "innerArcColorTop"; type: "QColor" } + Property { name: "innerArcColorBottom"; type: "QColor" } + Property { name: "innerArcColorBottomStop"; type: "double" } + Property { name: "shineColor"; type: "QColor" } + Property { name: "smallestAxis"; type: "double" } + Property { name: "outerArcLineWidth"; type: "double" } + Property { name: "innerArcLineWidth"; type: "double" } + Property { name: "shineArcLineWidth"; type: "double" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "textColorUp"; type: "QColor" } + Property { name: "textColorDown"; type: "QColor" } + Property { name: "textRaisedColorUp"; type: "QColor" } + Property { name: "textRaisedColorDown"; type: "QColor" } + Property { name: "radius"; type: "double" } + Property { name: "halfRadius"; type: "double" } + Property { name: "outerArcRadius"; type: "double" } + Property { name: "innerArcRadius"; type: "double" } + Property { name: "shineArcRadius"; type: "double" } + Property { name: "zeroAngle"; type: "double" } + Property { name: "buttonColorTop"; type: "QColor" } + Property { name: "buttonColorBottom"; type: "QColor" } + Method { + name: "toPixels" + type: "QVariant" + Parameter { name: "percentageOfSmallestAxis"; type: "QVariant" } + } + Method { + name: "paintBackground" + type: "QVariant" + Parameter { name: "ctx"; type: "QVariant" } + } + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras/CircularGauge" + exports: ["QtQuick.Extras/CircularGauge 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "tickmarksVisible"; type: "bool" } + Property { name: "minimumValue"; type: "double" } + Property { name: "maximumValue"; type: "double" } + Property { name: "value"; type: "double" } + Property { name: "stepSize"; type: "double" } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras.Private/CircularTickmarkLabel" + exports: ["QtQuick.Extras.Private/CircularTickmarkLabel 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "minimumValueAngle"; type: "double" } + Property { name: "maximumValueAngle"; type: "double" } + Property { name: "angleRange"; type: "double"; isReadonly: true } + Property { name: "tickmarkStepSize"; type: "double" } + Property { name: "tickmarkInset"; type: "double" } + Property { name: "tickmarkCount"; type: "int"; isReadonly: true } + Property { name: "minorTickmarkCount"; type: "int" } + Property { name: "minorTickmarkInset"; type: "double" } + Property { name: "labelInset"; type: "double" } + Property { name: "labelStepSize"; type: "double" } + Property { name: "labelCount"; type: "int"; isReadonly: true } + Property { name: "__tickmarkCount"; type: "double"; isReadonly: true } + Property { name: "tickmarksVisible"; type: "bool" } + Property { name: "minimumValue"; type: "double" } + Property { name: "maximumValue"; type: "double" } + Property { name: "stepSize"; type: "double" } + Method { + name: "valueToAngle" + type: "QVariant" + Parameter { name: "value"; type: "QVariant" } + } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" name: "QtQuick.Controls/ComboBox" exports: ["QtQuick.Controls/ComboBox 1.0"] exportMetaObjectRevisions: [0] @@ -1397,6 +998,91 @@ Module { } Component { prototype: "QQuickFocusScope" + name: "QtQuick.Extras/DelayButton" + exports: ["QtQuick.Extras/DelayButton 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "delay"; type: "int" } + Property { name: "__progress"; type: "double" } + 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: "checkable"; type: "bool" } + Property { name: "checked"; type: "bool" } + Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } + Property { name: "action"; type: "QQuickAction"; isPointer: true } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "text"; type: "string" } + Property { name: "tooltip"; type: "string" } + Property { name: "iconSource"; type: "QUrl" } + 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: "__effectivePressed"; type: "bool" } + Property { name: "__behavior"; type: "QVariant" } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "hovered"; type: "bool"; isReadonly: true } + Signal { name: "clicked" } + Method { name: "accessiblePressAction"; type: "QVariant" } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras/Dial" + exports: ["QtQuick.Extras/Dial 1.1"] + exportMetaObjectRevisions: [1] + isComposite: true + defaultProperty: "data" + Property { name: "__wrap"; type: "bool" } + Property { name: "activeFocusOnPress"; type: "bool" } + Property { name: "tickmarksVisible"; type: "bool" } + Property { name: "value"; type: "double" } + Property { name: "minimumValue"; type: "double" } + Property { name: "maximumValue"; type: "double" } + Property { name: "hovered"; type: "bool"; isReadonly: true } + Property { name: "stepSize"; type: "double" } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras/Gauge" + exports: ["QtQuick.Extras/Gauge 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "orientation"; type: "int" } + Property { name: "tickmarkAlignment"; type: "int" } + Property { name: "__tickmarkAlignment"; type: "int" } + Property { name: "__tickmarksInside"; type: "bool" } + Property { name: "tickmarkStepSize"; type: "double" } + Property { name: "minorTickmarkCount"; type: "int" } + Property { name: "formatValue"; type: "QVariant" } + Property { name: "minimumValue"; type: "double" } + Property { name: "value"; type: "double" } + Property { name: "maximumValue"; type: "double" } + Property { name: "font"; type: "QFont" } + Property { name: "__hiddenText"; type: "QQuickText"; isReadonly: true; isPointer: true } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" name: "QtQuick.Controls/GroupBox" exports: ["QtQuick.Controls/GroupBox 1.0"] exportMetaObjectRevisions: [0] @@ -1409,7 +1095,7 @@ Module { Property { name: "checked"; type: "bool" } Property { name: "__content"; type: "QObject"; isList: true; isReadonly: true } Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "__checkbox"; type: "CheckBox_QMLTYPE_75"; isReadonly: true; isPointer: true } + Property { name: "__checkbox"; type: "CheckBox_QMLTYPE_74"; isReadonly: true; isPointer: true } Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true } } Component { @@ -1454,12 +1140,16 @@ Module { Property { name: "__yOffset"; type: "double" } Property { name: "__action"; type: "QQuickAction"; isReadonly: true; isPointer: true } Property { name: "__popupGeometry"; type: "QRect"; isReadonly: true } - Signal { name: "__menuClosed" } + Signal { name: "aboutToShow" } + Signal { name: "aboutToHide" } Signal { name: "popupVisibleChanged" } + Signal { name: "__menuPopupDestroyed" } Signal { name: "menuContentItemChanged" } Signal { name: "minimumWidthChanged" } Method { name: "__closeMenu" } Method { name: "__dismissMenu" } + Method { name: "__destroyMenuPopup" } + Method { name: "__destroyAllMenuPopups" } Method { name: "popup" } Method { name: "addItem" @@ -1527,6 +1217,62 @@ Module { } Component { prototype: "QQuickFocusScope" + name: "QtQuick.Extras/PieMenu" + exports: ["QtQuick.Extras/PieMenu 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "menuItems" + Property { name: "selectionAngle"; type: "double"; isReadonly: true } + Property { name: "triggerMode"; type: "int" } + Property { name: "title"; type: "string" } + 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: "currentIndex"; type: "int"; isReadonly: true } + Property { name: "currentItem"; type: "QQuickMenuItem"; isReadonly: true; isPointer: true } + Property { name: "__mouseThief"; type: "QQuickMouseThief"; isReadonly: true; isPointer: true } + Method { + name: "popup" + type: "QVariant" + Parameter { name: "x"; type: "QVariant" } + Parameter { name: "y"; type: "QVariant" } + } + Method { + name: "addItem" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + } + Method { + name: "insertItem" + type: "QVariant" + Parameter { name: "before"; type: "QVariant" } + Parameter { name: "text"; type: "QVariant" } + } + Method { + name: "removeItem" + type: "QVariant" + Parameter { name: "item"; type: "QVariant" } + } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickLoader" + name: "QtQuick.Extras.Private/PieMenuIcon" + exports: ["QtQuick.Extras.Private/PieMenuIcon 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "control"; type: "PieMenu_QMLTYPE_176"; isPointer: true } + Property { name: "styleData"; type: "QObject"; isPointer: true } + Property { name: "iconSource"; type: "string"; isReadonly: true } + } + Component { + prototype: "QQuickFocusScope" name: "QtQuick.Controls/ProgressBar" exports: ["QtQuick.Controls/ProgressBar 1.0"] exportMetaObjectRevisions: [0] @@ -1681,6 +1427,11 @@ Module { type: "QVariant" Parameter { name: "item"; type: "QVariant" } } + Method { + name: "removeItem" + type: "QVariant" + Parameter { name: "item"; type: "QVariant" } + } } Component { prototype: "QQuickFocusScope" @@ -1690,7 +1441,7 @@ Module { isComposite: true defaultProperty: "data" Property { name: "busy"; type: "bool"; isReadonly: true } - Property { name: "delegate"; type: "StackViewDelegate_QMLTYPE_167"; isPointer: true } + Property { name: "delegate"; type: "StackViewDelegate_QMLTYPE_233"; isPointer: true } Property { name: "__currentItem"; type: "QQuickItem"; isPointer: true } Property { name: "__depth"; type: "int" } Property { name: "__guard"; type: "bool" } @@ -1811,6 +1562,22 @@ Module { } Component { prototype: "QQuickFocusScope" + name: "QtQuick.Extras/StatusIndicator" + exports: ["QtQuick.Extras/StatusIndicator 1.1"] + exportMetaObjectRevisions: [1] + isComposite: true + defaultProperty: "data" + Property { name: "active"; type: "bool" } + Property { name: "color"; type: "QColor" } + Property { name: "on"; type: "bool" } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QQuickFocusScope" name: "QtQuick.Controls/Switch" exports: ["QtQuick.Controls/Switch 1.1"] exportMetaObjectRevisions: [1] @@ -1903,30 +1670,12 @@ Module { exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "__columns" - Property { name: "alternatingRowColors"; type: "bool" } - Property { name: "headerVisible"; type: "bool" } - Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "sortIndicatorColumn"; type: "int" } - Property { name: "sortIndicatorVisible"; type: "bool" } - Property { name: "sortIndicatorOrder"; type: "int" } - Property { name: "selectionMode"; type: "int" } - Property { name: "__activateItemOnSingleClick"; type: "bool" } - Property { name: "model"; type: "QVariant" } - Property { name: "backgroundVisible"; type: "bool" } - Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true } - Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true } Property { name: "rowCount"; type: "int"; isReadonly: true } - Property { name: "columnCount"; type: "int"; isReadonly: true } - Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } + Property { name: "model"; type: "QVariant" } Property { name: "currentRow"; type: "int" } - Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } Property { name: "selection" - type: "TableViewSelection_QMLTYPE_196" + type: "TableViewSelection_QMLTYPE_265" isReadonly: true isPointer: true } @@ -1958,6 +1707,30 @@ Module { Parameter { name: "x"; type: "QVariant" } Parameter { name: "y"; type: "QVariant" } } + Property { name: "alternatingRowColors"; type: "bool" } + Property { name: "headerVisible"; type: "bool" } + Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "sortIndicatorColumn"; type: "int" } + Property { name: "sortIndicatorVisible"; type: "bool" } + Property { name: "sortIndicatorOrder"; type: "int" } + Property { name: "selectionMode"; type: "int" } + Property { name: "__viewTypeName"; type: "string" } + Property { name: "__isTreeView"; type: "bool"; isReadonly: true } + Property { name: "__itemDelegateLoader"; type: "QQmlComponent"; isPointer: true } + Property { name: "__activateItemOnSingleClick"; type: "bool" } + Property { name: "__mouseArea"; type: "QQuickItem"; isPointer: true } + Property { name: "__model"; type: "QVariant" } + Property { name: "backgroundVisible"; type: "bool" } + Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true } + Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true } + Property { name: "columnCount"; type: "int"; isReadonly: true } + Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } + Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "__currentRow"; type: "int" } + Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } Method { name: "addColumn" type: "QVariant" @@ -1986,8 +1759,6 @@ Module { Parameter { name: "index"; type: "QVariant" } } Method { name: "resizeColumnsToContents"; type: "QVariant" } - Method { name: "__decrementCurrentIndex"; type: "QVariant" } - Method { name: "__incrementCurrentIndex"; type: "QVariant" } Property { name: "frameVisible"; type: "bool" } Property { name: "highlightOnFocus"; type: "bool" } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } @@ -2239,6 +2010,12 @@ Module { Method { name: "paste"; type: "QVariant" } Method { name: "redo"; type: "QVariant" } Method { + name: "remove" + type: "QVariant" + Parameter { name: "start"; type: "QVariant" } + Parameter { name: "end"; type: "QVariant" } + } + Method { name: "select" type: "QVariant" Parameter { name: "start"; type: "QVariant" } @@ -2254,6 +2031,50 @@ Module { Property { name: "__styleData"; type: "QObject"; isPointer: true } } Component { + prototype: "QQuickText" + name: "QtQuick.Extras.Private/TextSingleton" + exports: ["QtQuick.Extras.Private/TextSingleton 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + isCreatable: false + isSingleton: true + defaultProperty: "data" + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras/ToggleButton" + exports: ["QtQuick.Extras/ToggleButton 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "isDefault"; type: "bool" } + Property { name: "menu"; type: "Menu_QMLTYPE_50"; 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: "activeFocusOnPress"; type: "bool" } + Property { name: "text"; type: "string" } + Property { name: "tooltip"; type: "string" } + Property { name: "iconSource"; type: "QUrl" } + 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: "__effectivePressed"; type: "bool" } + Property { name: "__behavior"; type: "QVariant" } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "hovered"; type: "bool"; isReadonly: true } + Signal { name: "clicked" } + Method { name: "accessiblePressAction"; type: "QVariant" } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { prototype: "QQuickFocusScope" name: "QtQuick.Controls/ToolBar" exports: ["QtQuick.Controls/ToolBar 1.0"] @@ -2275,7 +2096,7 @@ Module { isComposite: true defaultProperty: "data" Property { name: "isDefault"; type: "bool" } - Property { name: "menu"; type: "Menu_QMLTYPE_49"; isPointer: true } + Property { name: "menu"; type: "Menu_QMLTYPE_50"; isPointer: true } Property { name: "checkable"; type: "bool" } Property { name: "checked"; type: "bool" } Property { name: "exclusiveGroup"; type: "QQuickExclusiveGroup"; isPointer: true } @@ -2301,4 +2122,459 @@ Module { Property { name: "styleHints"; type: "QVariant" } Property { name: "__styleData"; type: "QObject"; isPointer: true } } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Controls/TreeView" + exports: ["QtQuick.Controls/TreeView 1.4"] + exportMetaObjectRevisions: [4] + isComposite: true + defaultProperty: "__columns" + Property { name: "selection"; type: "QItemSelectionModel"; isPointer: true } + Property { name: "model"; type: "QVariant" } + Property { name: "currentIndex"; type: "QVariant"; isReadonly: true } + Signal { + name: "activated" + Parameter { name: "index"; type: "QVariant" } + } + Signal { + name: "clicked" + Parameter { name: "index"; type: "QVariant" } + } + Signal { + name: "doubleClicked" + Parameter { name: "index"; type: "QVariant" } + } + Signal { + name: "pressAndHold" + Parameter { name: "index"; type: "QVariant" } + } + Signal { + name: "expanded" + Parameter { name: "index"; type: "QVariant" } + } + Signal { + name: "collapsed" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "isExpanded" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "collapse" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "expand" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "indexAt" + type: "QVariant" + Parameter { name: "x"; type: "QVariant" } + Parameter { name: "y"; type: "QVariant" } + } + Property { name: "alternatingRowColors"; type: "bool" } + Property { name: "headerVisible"; type: "bool" } + Property { name: "itemDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "rowDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "headerDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "sortIndicatorColumn"; type: "int" } + Property { name: "sortIndicatorVisible"; type: "bool" } + Property { name: "sortIndicatorOrder"; type: "int" } + Property { name: "selectionMode"; type: "int" } + Property { name: "__viewTypeName"; type: "string" } + Property { name: "__isTreeView"; type: "bool"; isReadonly: true } + Property { name: "__itemDelegateLoader"; type: "QQmlComponent"; isPointer: true } + Property { name: "__activateItemOnSingleClick"; type: "bool" } + Property { name: "__mouseArea"; type: "QQuickItem"; isPointer: true } + Property { name: "__model"; type: "QVariant" } + Property { name: "backgroundVisible"; type: "bool" } + Property { name: "contentHeader"; type: "QQmlComponent"; isPointer: true } + Property { name: "contentFooter"; type: "QQmlComponent"; isPointer: true } + Property { name: "columnCount"; type: "int"; isReadonly: true } + Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } + Property { name: "__columns"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "__currentRowItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "__currentRow"; type: "int" } + Property { name: "__listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } + Method { + name: "addColumn" + type: "QVariant" + Parameter { name: "column"; type: "QVariant" } + } + Method { + name: "insertColumn" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + Parameter { name: "column"; type: "QVariant" } + } + Method { + name: "removeColumn" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "moveColumn" + type: "QVariant" + Parameter { name: "from"; type: "QVariant" } + Parameter { name: "to"; type: "QVariant" } + } + Method { + name: "getColumn" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { name: "resizeColumnsToContents"; type: "QVariant" } + 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 } + Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true } + Property { name: "horizontalScrollBarPolicy"; type: "int" } + 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: "__wheelAreaScrollSpeed"; type: "double" } + Property { + name: "__horizontalScrollBar" + type: "ScrollBar_QMLTYPE_25" + isReadonly: true + isPointer: true + } + Property { + name: "__verticalScrollBar" + type: "ScrollBar_QMLTYPE_25" + isReadonly: true + isPointer: true + } + } + Component { + prototype: "QQuickFocusScope" + name: "QtQuick.Extras/Tumbler" + exports: ["QtQuick.Extras/Tumbler 1.2"] + exportMetaObjectRevisions: [2] + isComposite: true + defaultProperty: "data" + Property { name: "__highlightMoveDuration"; type: "int" } + Property { name: "columnCount"; type: "int"; isReadonly: true } + Property { name: "__columnRow"; type: "QQuickRow"; isReadonly: true; isPointer: true } + Property { name: "__movementDelayTimer"; type: "QQmlTimer"; isReadonly: true; isPointer: true } + Method { + name: "__isValidColumnIndex" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Method { + name: "__isValidColumnAndItemIndex" + type: "QVariant" + Parameter { name: "columnIndex"; type: "QVariant" } + Parameter { name: "itemIndex"; type: "QVariant" } + } + Method { + name: "currentIndexAt" + type: "QVariant" + Parameter { name: "columnIndex"; type: "QVariant" } + } + Method { + name: "setCurrentIndexAt" + type: "QVariant" + Parameter { name: "columnIndex"; type: "QVariant" } + Parameter { name: "itemIndex"; type: "QVariant" } + } + Method { + name: "getColumn" + type: "QVariant" + Parameter { name: "columnIndex"; type: "QVariant" } + } + Method { + name: "addColumn" + type: "QVariant" + Parameter { name: "column"; type: "QVariant" } + } + Method { + name: "insertColumn" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + Parameter { name: "column"; type: "QVariant" } + } + Method { + name: "__viewAt" + type: "QVariant" + Parameter { name: "index"; type: "QVariant" } + } + Property { name: "style"; type: "QQmlComponent"; isPointer: true } + Property { name: "__style"; type: "QObject"; isPointer: true } + Property { name: "__panel"; type: "QQuickItem"; isPointer: true } + Property { name: "styleHints"; type: "QVariant" } + Property { name: "__styleData"; type: "QObject"; isPointer: true } + } + Component { + prototype: "QObject" + name: "QtQuick.Extras/TumblerColumn" + exports: ["QtQuick.Extras/TumblerColumn 1.2"] + exportMetaObjectRevisions: [2] + isComposite: true + Property { name: "__tumbler"; type: "QQuickItem"; isPointer: true } + Property { name: "__index"; type: "int" } + Property { name: "__currentIndex"; type: "int" } + Property { name: "role"; type: "string" } + Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "columnForeground"; type: "QQmlComponent"; isPointer: true } + Property { name: "visible"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "width"; type: "double" } + Property { name: "model"; type: "QVariant" } + Property { name: "currentIndex"; type: "int"; isReadonly: true } + } + + Component { + name: "QQuickWindow" + defaultProperty: "data" + prototype: "QWindow" + exports: ["QtQuick.Window/Window 2.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "SceneGraphError" + values: { + "ContextNotAvailable": 1 + } + } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "color"; type: "QColor" } + Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { + name: "activeFocusItem" + revision: 1 + type: "QQuickItem" + isReadonly: true + isPointer: true + } + Signal { name: "frameSwapped" } + Signal { + name: "openglContextCreated" + revision: 2 + Parameter { name: "context"; type: "QOpenGLContext"; isPointer: true } + } + Signal { name: "sceneGraphInitialized" } + Signal { name: "sceneGraphInvalidated" } + Signal { name: "beforeSynchronizing" } + Signal { name: "afterSynchronizing"; revision: 2 } + Signal { name: "beforeRendering" } + Signal { name: "afterRendering" } + Signal { name: "afterAnimating"; revision: 2 } + Signal { name: "sceneGraphAboutToStop"; revision: 2 } + Signal { + name: "closing" + revision: 1 + Parameter { name: "close"; type: "QQuickCloseEvent"; isPointer: true } + } + Signal { + name: "colorChanged" + Parameter { type: "QColor" } + } + Signal { name: "activeFocusItemChanged"; revision: 1 } + Signal { + name: "sceneGraphError" + revision: 2 + Parameter { name: "error"; type: "QQuickWindow::SceneGraphError" } + Parameter { name: "message"; type: "string" } + } + Method { name: "update" } + Method { name: "releaseResources" } + } + Component { + name: "QQuickWindowAttached" + prototype: "QObject" + Property { name: "visibility"; type: "QWindow::Visibility"; isReadonly: true } + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "activeFocusItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "width"; type: "int"; isReadonly: true } + Property { name: "height"; type: "int"; isReadonly: true } + } + Component { + name: "QQuickWindowQmlImpl" + defaultProperty: "data" + prototype: "QQuickWindow" + exports: ["QtQuick.Window/Window 2.1", "QtQuick.Window/Window 2.2"] + exportMetaObjectRevisions: [0, 1] + attachedType: "QQuickWindowAttached" + Property { name: "visible"; type: "bool" } + Property { name: "visibility"; type: "Visibility" } + Signal { + name: "visibleChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "visibilityChanged" + Parameter { name: "visibility"; type: "QWindow::Visibility" } + } + } + Component { + name: "QWindow" + prototype: "QObject" + Enum { + name: "Visibility" + values: { + "Hidden": 0, + "AutomaticVisibility": 1, + "Windowed": 2, + "Minimized": 3, + "Maximized": 4, + "FullScreen": 5 + } + } + Property { name: "title"; type: "string" } + Property { name: "modality"; type: "Qt::WindowModality" } + Property { name: "flags"; type: "Qt::WindowFlags" } + Property { name: "x"; type: "int" } + Property { name: "y"; type: "int" } + Property { name: "width"; type: "int" } + Property { name: "height"; type: "int" } + Property { name: "minimumWidth"; type: "int" } + Property { name: "minimumHeight"; type: "int" } + Property { name: "maximumWidth"; type: "int" } + Property { name: "maximumHeight"; type: "int" } + Property { name: "visible"; type: "bool" } + Property { name: "active"; revision: 1; type: "bool"; isReadonly: true } + Property { name: "visibility"; revision: 1; type: "Visibility" } + Property { name: "contentOrientation"; type: "Qt::ScreenOrientation" } + Property { name: "opacity"; revision: 1; type: "double" } + Signal { + name: "screenChanged" + Parameter { name: "screen"; type: "QScreen"; isPointer: true } + } + Signal { + name: "modalityChanged" + Parameter { name: "modality"; type: "Qt::WindowModality" } + } + Signal { + name: "windowStateChanged" + Parameter { name: "windowState"; type: "Qt::WindowState" } + } + Signal { + name: "windowTitleChanged" + revision: 2 + Parameter { name: "title"; type: "string" } + } + Signal { + name: "xChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "yChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "widthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "heightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "minimumWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "minimumHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "maximumWidthChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "maximumHeightChanged" + Parameter { name: "arg"; type: "int" } + } + Signal { + name: "visibleChanged" + Parameter { name: "arg"; type: "bool" } + } + Signal { + name: "visibilityChanged" + revision: 1 + Parameter { name: "visibility"; type: "QWindow::Visibility" } + } + Signal { name: "activeChanged"; revision: 1 } + Signal { + name: "contentOrientationChanged" + Parameter { name: "orientation"; type: "Qt::ScreenOrientation" } + } + Signal { + name: "focusObjectChanged" + Parameter { name: "object"; type: "QObject"; isPointer: true } + } + Signal { + name: "opacityChanged" + revision: 1 + Parameter { name: "opacity"; type: "double" } + } + Method { name: "requestActivate"; revision: 1 } + Method { + name: "setVisible" + Parameter { name: "visible"; type: "bool" } + } + Method { name: "show" } + Method { name: "hide" } + Method { name: "showMinimized" } + Method { name: "showMaximized" } + Method { name: "showFullScreen" } + Method { name: "showNormal" } + Method { name: "close"; type: "bool" } + Method { name: "raise" } + Method { name: "lower" } + Method { + name: "setTitle" + Parameter { type: "string" } + } + Method { + name: "setX" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setY" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setWidth" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setHeight" + Parameter { name: "arg"; type: "int" } + } + Method { + name: "setMinimumWidth" + Parameter { name: "w"; type: "int" } + } + Method { + name: "setMinimumHeight" + Parameter { name: "h"; type: "int" } + } + Method { + name: "setMaximumWidth" + Parameter { name: "w"; type: "int" } + } + Method { + name: "setMaximumHeight" + Parameter { name: "h"; type: "int" } + } + Method { + name: "alert" + revision: 1 + Parameter { name: "msec"; type: "int" } + } + Method { name: "requestUpdate"; revision: 3 } + } } diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp index 4f66b711f..fec24189e 100644 --- a/src/controls/qquickmenu.cpp +++ b/src/controls/qquickmenu.cpp @@ -265,14 +265,15 @@ QQuickMenu::QQuickMenu(QObject *parent) m_popupVisible(false), m_containersCount(0), m_xOffset(0), - m_yOffset(0) + m_yOffset(0), + m_triggerCount(0) { connect(this, SIGNAL(__textChanged()), this, SIGNAL(titleChanged())); m_platformMenu = QGuiApplicationPrivate::platformTheme()->createPlatformMenu(); if (m_platformMenu) { connect(m_platformMenu, SIGNAL(aboutToShow()), this, SIGNAL(aboutToShow())); - connect(m_platformMenu, SIGNAL(aboutToHide()), this, SLOT(__closeMenu())); + connect(m_platformMenu, SIGNAL(aboutToHide()), this, SLOT(hideMenu())); if (platformItem()) platformItem()->setMenu(m_platformMenu); } @@ -415,7 +416,7 @@ void QQuickMenu::popup() void QQuickMenu::__popup(const QRectF &targetRect, int atItemIndex, MenuType menuType) { if (popupVisible()) { - __closeMenu(); + hideMenu(); // Mac and Windows would normally move the menu under the cursor, so we should not // return here. However, very often we want to re-contextualize the menu, and this // has to be done at the application level. @@ -488,14 +489,30 @@ QRect QQuickMenu::popupGeometry() const return m_popupWindow->geometry(); } -void QQuickMenu::__closeMenu() +void QQuickMenu::prepareItemTrigger(QQuickMenuItem *) +{ + m_triggerCount++; + __dismissMenu(); +} + +void QQuickMenu::concludeItemTrigger(QQuickMenuItem *) +{ + if (--m_triggerCount == 0) + destroyAllMenuPopups(); +} + +/*! + * \internal + * Close this menu's popup window. Emits aboutToHide and sets __popupVisible to false. + */ +void QQuickMenu::hideMenu() { if (m_popupVisible) { emit aboutToHide(); setPopupVisible(false); } - if (m_popupWindow) - m_popupWindow->setVisible(false); + if (m_popupWindow && m_popupWindow->isVisible()) + m_popupWindow->hide(); m_parentWindow = 0; } @@ -512,6 +529,12 @@ QQuickMenuPopupWindow *QQuickMenu::topMenuPopup() const return 0; } +/*! + * \internal + * Dismiss all the menus this menu is attached to, bottom-up. + * In QQuickPopupWindow, before closing, dismissPopup() emits popupDismissed() + * which is connected to dismissPopup() on any child popup. + */ void QQuickMenu::__dismissMenu() { if (m_platformMenu) { @@ -521,14 +544,22 @@ void QQuickMenu::__dismissMenu() } } +/*! + * \internal + * Called when the popup window visible property changes. + */ void QQuickMenu::windowVisibleChanged(bool v) { if (!v) { - if (m_popupWindow && qobject_cast<QQuickMenuPopupWindow *>(m_popupWindow->transientParent())) { - m_popupWindow->transientParent()->setMouseGrabEnabled(true); - m_popupWindow->transientParent()->setKeyboardGrabEnabled(true); + if (m_popupWindow) { + QQuickMenuPopupWindow *parentMenuPopup = qobject_cast<QQuickMenuPopupWindow *>(m_popupWindow->transientParent()); + if (parentMenuPopup) { + parentMenuPopup->setMouseGrabEnabled(true); + parentMenuPopup->setKeyboardGrabEnabled(true); + } } - __closeMenu(); + if (m_popupVisible) + __closeAndDestroy(); } } @@ -538,18 +569,34 @@ void QQuickMenu::clearPopupWindow() emit __menuPopupDestroyed(); } -void QQuickMenu::__destroyMenuPopup() +void QQuickMenu::destroyMenuPopup() { + if (m_triggerCount > 0) + return; if (m_popupWindow) m_popupWindow->setToBeDeletedLater(); } -void QQuickMenu::__destroyAllMenuPopups() { +void QQuickMenu::destroyAllMenuPopups() { + if (m_triggerCount > 0) + return; QQuickMenuPopupWindow *popup = topMenuPopup(); if (popup) popup->setToBeDeletedLater(); } +void QQuickMenu::__closeAndDestroy() +{ + hideMenu(); + destroyMenuPopup(); +} + +void QQuickMenu::__dismissAndDestroy() +{ + __dismissMenu(); + destroyAllMenuPopups(); +} + void QQuickMenu::itemIndexToListIndex(int itemIndex, int *listIndex, int *containerIndex) const { *listIndex = -1; diff --git a/src/controls/qquickmenu_p.h b/src/controls/qquickmenu_p.h index bc16328ee..1c51fe716 100644 --- a/src/controls/qquickmenu_p.h +++ b/src/controls/qquickmenu_p.h @@ -89,10 +89,10 @@ public: Q_INVOKABLE void __popup(const QRectF &targetRect, int atItemIndex = -1, MenuType menuType = DefaultMenu); public Q_SLOTS: - void __closeMenu(); void __dismissMenu(); - void __destroyMenuPopup(); - void __destroyAllMenuPopups(); + + void __closeAndDestroy(); + void __dismissAndDestroy(); Q_SIGNALS: void itemsChanged(); @@ -142,11 +142,17 @@ public: QRect popupGeometry() const; + void prepareItemTrigger(QQuickMenuItem *); + void concludeItemTrigger(QQuickMenuItem *); + void destroyMenuPopup(); + void destroyAllMenuPopups(); + protected Q_SLOTS: void updateSelectedIndex(); void setMenuContentItem(QQuickItem *); void setPopupVisible(bool); + void hideMenu(); void clearPopupWindow(); void updateText(); @@ -189,6 +195,7 @@ private: qreal m_xOffset; qreal m_yOffset; QFont m_font; + int m_triggerCount; }; QT_END_NAMESPACE diff --git a/src/controls/qquickmenuitem.cpp b/src/controls/qquickmenuitem.cpp index 5fd1c6c54..0702d398a 100644 --- a/src/controls/qquickmenuitem.cpp +++ b/src/controls/qquickmenuitem.cpp @@ -676,7 +676,12 @@ void QQuickMenuItem::setEnabled(bool enabled) void QQuickMenuItem::trigger() { + QPointer<QQuickMenu> menu(parentMenu()); + if (menu) + menu->prepareItemTrigger(this); action()->trigger(this); + if (menu) + menu->concludeItemTrigger(this); } QT_END_NAMESPACE diff --git a/src/controls/qquickpopupwindow.cpp b/src/controls/qquickpopupwindow.cpp index 4beed1a62..59cfe22bf 100644 --- a/src/controls/qquickpopupwindow.cpp +++ b/src/controls/qquickpopupwindow.cpp @@ -139,7 +139,7 @@ void QQuickPopupWindow::dismissPopup() { m_dismissed = true; emit popupDismissed(); - close(); + hide(); } void QQuickPopupWindow::mouseMoveEvent(QMouseEvent *e) diff --git a/src/extras/Styles/Flat/qmldir b/src/extras/Styles/Flat/qmldir index 2b6390a4c..74a5a9672 100644 --- a/src/extras/Styles/Flat/qmldir +++ b/src/extras/Styles/Flat/qmldir @@ -1,3 +1,3 @@ module QtQuick.Controls.Styles.Flat plugin qtquickextrasflatplugin -classname QtQuickExtrasFlatPlugin +classname QtQuickExtrasStylesPlugin diff --git a/tests/auto/controls/data/tst_button.qml b/tests/auto/controls/data/tst_button.qml index 136f82cca..0d226ffc2 100644 --- a/tests/auto/controls/data/tst_button.qml +++ b/tests/auto/controls/data/tst_button.qml @@ -40,6 +40,7 @@ import QtQuick 2.2 import QtTest 1.0 +import QtQuick.Controls 1.4 import QtQuickControlsTests 1.0 Item { @@ -278,5 +279,26 @@ TestCase { button.destroy() } + + Component { + id: mnemonicButtonComponent + + Button { + text: "&Hi" + enabled: false + } + } + + function test_mnemonic() { + var button = mnemonicButtonComponent.createObject(container); + verify(button); + + clickSpy.clear(); + clickSpy.target = button; + keyClick(Qt.Key_H, Qt.AltModifier); + compare(clickSpy.count, 0); + + button.destroy(); + } } } diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml index af1fc9dda..da8c79f88 100644 --- a/tests/auto/controls/data/tst_combobox.qml +++ b/tests/auto/controls/data/tst_combobox.qml @@ -74,6 +74,7 @@ TestCase { function cleanup() { if (model !== 0) model.destroy() + wait(0) // spin the event loop to get all popups to close } function test_keyupdown() { @@ -523,7 +524,7 @@ TestCase { verify(comboBox.data[menuIndex].__popupVisible) // close the menu before destroying the combobox - comboBox.data[menuIndex].__closeMenu() + comboBox.data[menuIndex].__closeAndDestroy() verify(!comboBox.data[menuIndex].__popupVisible) comboBox.destroy() @@ -549,7 +550,7 @@ TestCase { verify(comboBox.data[menuIndex].items[i].checked) } // close the menu before destroying the combobox - comboBox.data[menuIndex].__closeMenu() + comboBox.data[menuIndex].__closeAndDestroy() verify(!comboBox.data[menuIndex].__popupVisible) comboBox.destroy() } diff --git a/tests/auto/extras/data/tst_tumbler.qml b/tests/auto/extras/data/tst_tumbler.qml index bc97f35d1..9f3ecc2f9 100644 --- a/tests/auto/extras/data/tst_tumbler.qml +++ b/tests/auto/extras/data/tst_tumbler.qml @@ -175,6 +175,9 @@ Item { } function test_keyboardNavigation() { + if (Qt.platform.os === "osx") + skip("OS X doesn't allow tab focus for certain controls by default"); + var column = simpleColumn.createObject(tumbler); compare(tumbler.addColumn(column), column); column = simpleColumn.createObject(tumbler); @@ -244,6 +247,9 @@ Item { } function test_itemsCorrectlyPositioned() { + if (Qt.platform.os === "osx") + skip("OS X doesn't allow tab focus for certain controls by default"); + // TODO: rewrite this test so that it tests supported usecases. // Somehow it works with the Base style. It could be rewritten to use an // equal amount of items for the model and visibleItemCount, judging from @@ -346,6 +352,9 @@ Item { } function test_focusPastLastColumn() { + if (Qt.platform.os === "osx") + skip("OS X doesn't allow tab focus for certain controls by default"); + var column = dayOfMonthColumn.createObject(tumbler); compare(tumbler.addColumn(column), column); column = yearColumn.createObject(tumbler); |