From 2e056ed6e563f5f0fd7975186db8238adb20b6cf Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 22 Apr 2022 08:37:28 +0200 Subject: [PATCH] [Global Menu] Respect toplevel menu action visibility Kolourpaint has hidden "Tools" menu, which would show up in global menu otherwise. Moreover, don't `void*` cast so QML can access the `QAction` BUG: 443505 --- applets/appmenu/package/contents/ui/main.qml | 2 +- applets/appmenu/plugin/appmenumodel.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/applets/appmenu/package/contents/ui/main.qml b/applets/appmenu/package/contents/ui/main.qml index 88e8132bb..0666482d2 100644 --- a/applets/appmenu/package/contents/ui/main.qml +++ b/applets/appmenu/package/contents/ui/main.qml @@ -114,7 +114,7 @@ Item { down: pressed || Plasmoid.nativeInterface.currentIndex === index - visible: text !== "" + visible: text !== "" && model.activeActions.visible onClicked: { Plasmoid.nativeInterface.trigger(this, index) diff --git a/applets/appmenu/plugin/appmenumodel.cpp b/applets/appmenu/plugin/appmenumodel.cpp index 857c81e40..2928fa505 100644 --- a/applets/appmenu/plugin/appmenumodel.cpp +++ b/applets/appmenu/plugin/appmenumodel.cpp @@ -242,7 +242,7 @@ QVariant AppMenuModel::data(const QModelIndex &index, int role) const if (role == MenuRole) { return QString(); } else if (role == ActionRole) { - return QVariant::fromValue((void *)(m_menu->menuAction())); + return QVariant::fromValue(m_menu->menuAction()); } } @@ -262,7 +262,7 @@ QVariant AppMenuModel::data(const QModelIndex &index, int role) const if (role == MenuRole) { // TODO this should be Qt::DisplayRole return actions.at(row)->text(); } else if (role == ActionRole) { - return QVariant::fromValue((void *)actions.at(row)); + return QVariant::fromValue(actions.at(row)); } return QVariant();