diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/controls/MenuBar.qml | 6 | ||||
-rw-r--r-- | src/controls/Private/MenuContentItem.qml | 16 | ||||
-rw-r--r-- | src/controls/Styles/Desktop/MenuBarStyle.qml | 5 | ||||
-rw-r--r-- | src/controls/Styles/Desktop/MenuStyle.qml | 5 |
4 files changed, 22 insertions, 10 deletions
diff --git a/src/controls/MenuBar.qml b/src/controls/MenuBar.qml index 3410528c..0d9f8ee8 100644 --- a/src/controls/MenuBar.qml +++ b/src/controls/MenuBar.qml @@ -116,6 +116,7 @@ MenuBarPrivate { property Component __menuBarComponent: Loader { id: menuBarLoader + Accessible.role: Accessible.MenuBar onStatusChanged: if (status === Loader.Error) console.error("Failed to load panel for", root) @@ -230,7 +231,12 @@ MenuBarPrivate { Loader { id: menuItemLoader + Accessible.role: Accessible.MenuItem + Accessible.name: StyleHelpers.removeMnemonics(opts.text) + Accessible.onPressAction: d.openedMenuIndex = opts.index + property var styleData: QtObject { + id: opts readonly property int index: __menuItemIndex readonly property string text: !!__menuItem && __menuItem.title readonly property bool enabled: !!__menuItem && __menuItem.enabled diff --git a/src/controls/Private/MenuContentItem.qml b/src/controls/Private/MenuContentItem.qml index 6006f8d8..07edea2f 100644 --- a/src/controls/Private/MenuContentItem.qml +++ b/src/controls/Private/MenuContentItem.qml @@ -37,12 +37,15 @@ import QtQuick 2.2 import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.1 +import QtQuick.Controls.Private 1.0 Loader { id: menuFrameLoader property var __menu + Accessible.role: Accessible.PopupMenu + visible: status === Loader.Ready width: content.width + (d.style ? d.style.padding.left + d.style.padding.right : 0) height: content.height + (d.style ? d.style.padding.top + d.style.padding.bottom : 0) @@ -172,6 +175,19 @@ Loader { Loader { id: menuItemLoader + Accessible.role: opts.type === MenuItemType.Item || opts.type === MenuItemType.Menu ? + Accessible.MenuItem : Acccessible.NoRole + Accessible.name: StyleHelpers.removeMnemonics(opts.text) + Accessible.checkable: opts.checkable + Accessible.checked: opts.checked + Accessible.onPressAction: { + if (opts.type === MenuItemType.Item) { + d.triggerAndDismiss(menuItemLoader) + } else if (opts.type === MenuItemType.Menu) { + __showSubMenu(true /*immediately*/) + } + } + property QtObject styleData: QtObject { id: opts readonly property int index: __menuItemIndex diff --git a/src/controls/Styles/Desktop/MenuBarStyle.qml b/src/controls/Styles/Desktop/MenuBarStyle.qml index 470ccdb6..a31b2bb7 100644 --- a/src/controls/Styles/Desktop/MenuBarStyle.qml +++ b/src/controls/Styles/Desktop/MenuBarStyle.qml @@ -45,8 +45,6 @@ Style { property Component background: StyleItem { elementType: "menubar" - Accessible.role: Accessible.MenuBar - Component.onCompleted: { styleRoot.padding.left = pixelMetric("menubarhmargin") + pixelMetric("menubarpanelwidth") styleRoot.padding.right = pixelMetric("menubarhmargin") + pixelMetric("menubarpanelwidth") @@ -69,9 +67,6 @@ Style { selected: (parent && styleData.selected) || sunken hints: { "showUnderlined": styleData.underlineMnemonic } - - Accessible.role: Accessible.MenuItem - Accessible.name: plainText } property Component menuStyle: Desktop.MenuStyle { } diff --git a/src/controls/Styles/Desktop/MenuStyle.qml b/src/controls/Styles/Desktop/MenuStyle.qml index 244bbca4..60e73d2f 100644 --- a/src/controls/Styles/Desktop/MenuStyle.qml +++ b/src/controls/Styles/Desktop/MenuStyle.qml @@ -60,8 +60,6 @@ Style { color: SystemPaletteSingleton.window(control.enabled) } - Accessible.role: Accessible.PopupMenu - Component.onCompleted: { var menuHMargin = pixelMetric("menuhmargin") var menuVMargin = pixelMetric("menuvmargin") @@ -106,9 +104,6 @@ Style { "scrollerDirection": styleData.scrollerDirection, "icon": !!__menuItem && __menuItem.__icon } - - Accessible.role: Accessible.MenuItem - Accessible.name: StyleHelpers.removeMnemonics(text) } property Component scrollIndicator: menuItemPanel |