summaryrefslogtreecommitdiffstats
path: root/src/controls/qquickmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickmenu.cpp')
-rw-r--r--src/controls/qquickmenu.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 8982b46ca..c12060bf4 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -275,14 +275,28 @@ QQuickMenu::~QQuickMenu()
m_platformMenu = 0;
}
+void QQuickMenu::syncParentMenuBar()
+{
+ QQuickMenuBar *menubar = qobject_cast<QQuickMenuBar *>(parent());
+ if (menubar && menubar->platformMenuBar())
+ menubar->platformMenuBar()->syncMenu(m_platformMenu);
+}
+
void QQuickMenu::setVisible(bool v)
{
QQuickMenuBase::setVisible(v);
if (m_platformMenu) {
m_platformMenu->setVisible(v);
- QQuickMenuBar *menubar = qobject_cast<QQuickMenuBar *>(parent());
- if (menubar && menubar->platformMenuBar())
- menubar->platformMenuBar()->syncMenu(m_platformMenu);
+ syncParentMenuBar();
+ }
+}
+
+void QQuickMenu::setEnabled(bool e)
+{
+ QQuickMenuText::setEnabled(e);
+ if (m_platformMenu) {
+ m_platformMenu->setEnabled(e);
+ syncParentMenuBar();
}
}