From 8c2d4207ee82ba060bfbd6e788325d3f5288f03e Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Date: Thu, 28 Feb 2013 17:21:36 +0100 Subject: [PATCH] Menu: Support invisible MenuItems Note that currently, invisible Menus in MenuBars are not supported because of the QPA backend. To be decided whether we want this... Change-Id: Ide01c0ddc12f07969a5466a77b5c5c67b265ec87 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- examples/gallery/main.qml | 9 +++++++++ src/controls/Menu.qml | 4 +++- src/controls/qtmenuitem.cpp | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/examples/gallery/main.qml b/examples/gallery/main.qml index cf24bec1e..63047003c 100644 --- a/examples/gallery/main.qml +++ b/examples/gallery/main.qml @@ -226,6 +226,15 @@ ApplicationWindow { shortcut: "Ctrl+E,Shift+Ctrl+X" enabled: false } + MenuItem { + text: "Not Even There" + shortcut: "Ctrl+E,Shift+Ctrl+Y" + visible: false + } + Menu { + text: "Me Neither" + visible: false + } } } diff --git a/src/controls/Menu.qml b/src/controls/Menu.qml index ef406caa1..b4ba2e964 100644 --- a/src/controls/Menu.qml +++ b/src/controls/Menu.qml @@ -247,7 +247,9 @@ MenuPrivate { property int menuItemIndex: index sourceComponent: menuFrameLoader.menuItemStyle - enabled: !isSeparator && !!menuItem && menuItem.enabled + enabled: visible && !isSeparator && !!menuItem && menuItem.enabled + visible: menuItem.visible + active: visible function showSubMenu(immediately) { if (immediately) { diff --git a/src/controls/qtmenuitem.cpp b/src/controls/qtmenuitem.cpp index 124ba4c81..bf2248d16 100644 --- a/src/controls/qtmenuitem.cpp +++ b/src/controls/qtmenuitem.cpp @@ -66,6 +66,10 @@ void QtMenuBase::setVisible(bool v) { if (v != m_visible) { m_visible = v; + + if (m_platformItem) + m_platformItem->setVisible(m_visible); + emit visibleChanged(); } } -- GitLab