on xenial help sign in
Added Alt+F10 shortcut to open app menus. (LP: #1656896)

Approved by: Albert Astals Cid, Unity8 CI Bot

commit707ea26b7f61f1ef5f44c09c9423e90e924451a8 authorNick Dedekind <nick.dedekind@canonical.com> dateTue 24 Jan 2017, 07:40 (10 years ago) parentc198715b748ceb
2 files changed+27
qml/ApplicationMenus/MenuBar.qml+14 tests/qmltests/ApplicationMenus/tst_MenuBar.qml+13
qml/ApplicationMenus/MenuBar.qml+14
@@ -57,6 +57,20 @@ Item {
5757 onReleased: d.stopSHortcutTimer()
5858 }
5959
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+
6074 InverseMouseArea {
6175 acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
6276 anchors.fill: parent
tests/qmltests/ApplicationMenus/tst_MenuBar.qml+13
@@ -179,5 +179,18 @@ Item {
179179 keyPress(data.tag, Qt.AltModifier, 100);
180180 tryCompare(priv, "currentItem", menuItem);
181181 }
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+ }
182195 }
183196}