on xenial help sign in
Added Alt+F10 to open menu and test
b748cebNick Dedekind
qml/ApplicationMenus/MenuBar.qml+14
@@ -57,6 +57,20 @@ Item {
57 onReleased: d.stopSHortcutTimer()
57 onReleased: d.stopSHortcutTimer()
58 }
58 }
59
59
60+ GlobalShortcut {
61+ shortcut: Qt.AltModifier | Qt.Key_F10
62+ active: enableKeyFilter && d.currentItem == null
63+ onTriggered: {
64+ for (var i = 0; i < rowRepeater.count; i++) {
65+ var item = rowRepeater.itemAt(i);
66+ if (item.enabled) {
67+ item.show();
68+ break;
69+ }
70+ }
71+ }
72+ }
73+
60 InverseMouseArea {
74 InverseMouseArea {
61 acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
75 acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
62 anchors.fill: parent
76 anchors.fill: parent
tests/qmltests/ApplicationMenus/tst_MenuBar.qml+13
@@ -179,5 +179,18 @@ Item {
179 keyPress(data.tag, Qt.AltModifier, 100);
179 keyPress(data.tag, Qt.AltModifier, 100);
180 tryCompare(priv, "currentItem", menuItem);
180 tryCompare(priv, "currentItem", menuItem);
181 }
181 }
182+
183+ function test_openAppMenuShortcut() {
184+ var priv = findInvisibleChild(menuBar, "d");
185+
186+ var menuItem0 = findChild(menuBar, "menuBar-item0"); verify(menuItem0);
187+ menuItem0.enabled = false;
188+
189+ var menuItem1 = findChild(menuBar, "menuBar-item1"); verify(menuItem1);
190+ verify(priv.currentItem === null);
191+
192+ keyClick(Qt.Key_F10, Qt.AltModifier);
193+ compare(priv.currentItem, menuItem1, "First enabled item should be opened");
194+ }
182 }
195 }
183}
196}