From cddcc3c81e791f88717fee80766523bb0ef3d171 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 26 Feb 2013 20:18:40 +0100 Subject: Menu: Make key navigation to submenu faster Change-Id: I4423f29d9c678d3432732ddf612042446e196869 Reviewed-by: Jens Bache-Wiig --- src/controls/Menu.qml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/controls/Menu.qml') diff --git a/src/controls/Menu.qml b/src/controls/Menu.qml index 7eaa0ded..34126e25 100644 --- a/src/controls/Menu.qml +++ b/src/controls/Menu.qml @@ -168,7 +168,7 @@ MenuPrivate { Keys.onRightPressed: { var item = itemsRepeater.itemAt(root.currentIndex) if (item && item.hasSubmenu) { - item.showSubMenu() + item.showSubMenu(true) item.menuItem.currentIndex = 0 } } @@ -212,7 +212,7 @@ MenuPrivate { if (currentItem) { root.currentIndex = currentItem.menuItemIndex if (currentItem.hasSubmenu && !currentItem.menuItem.popupVisible) - currentItem.showSubMenu() + currentItem.showSubMenu(false) } else { root.currentIndex = -1 } @@ -241,15 +241,19 @@ MenuPrivate { sourceComponent: menuFrameLoader.menuItemStyle enabled: !isSeparator && !!menuItem && menuItem.enabled - function showSubMenu() { openMenuTimer.start() } + function showSubMenu(immediately) { + if (immediately) { + if (root.currentIndex === menuItemIndex) + menuItem.showPopup(menuFrameLoader.subMenuXPos, 0, -1, menuItemLoader) + } else { + openMenuTimer.start() + } + } Timer { id: openMenuTimer interval: 50 - onTriggered: { - if (root.currentIndex === menuItemIndex) - menuItem.showPopup(menuFrameLoader.subMenuXPos, 0, -1, menuItemLoader) - } + onTriggered: menuItemLoader.showSubMenu(true) } function closeSubMenu() { closeMenuTimer.start() } -- cgit v1.2.1