From 18263220ffec759b8a136f9472def50908968a6c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 22 Mar 2020 22:07:50 +0100 Subject: [PATCH 1/2] Add method to add separators to extension menus --- resources/qml/MainWindow/ApplicationMenu.qml | 33 +++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/resources/qml/MainWindow/ApplicationMenu.qml b/resources/qml/MainWindow/ApplicationMenu.qml index 05e349841b..a7c853d37c 100644 --- a/resources/qml/MainWindow/ApplicationMenu.qml +++ b/resources/qml/MainWindow/ApplicationMenu.qml @@ -68,13 +68,17 @@ Item Instantiator { model: actions - MenuItem + Loader { - text: model.text - onTriggered: extensions.model.subMenuTriggered(name, model.text) + property var extensionsModel: extensions.model + property var modelText: model.text + property var extensionName: name + + sourceComponent: modelText == "" ? extensionsMenuSeparator : extensionsMenuItem } - onObjectAdded: sub_menu.insertItem(index, object) - onObjectRemoved: sub_menu.removeItem(object) + + onObjectAdded: sub_menu.insertItem(index, object.item) + onObjectRemoved: sub_menu.removeItem(object.item) } } @@ -106,6 +110,25 @@ Item } } + Component + { + id: extensionsMenuItem + + MenuItem + { + text: modelText + onTriggered: extensionsModel.subMenuTriggered(extensionName, modelText) + } + } + + Component + { + id: extensionsMenuSeparator + + MenuSeparator {} + } + + // ############################################################################################### // Definition of other components that are linked to the menus // ############################################################################################### From fa091a48b98e6825c93b6a3857f9fd8c473ee50f Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 23 Mar 2020 08:12:29 +0100 Subject: [PATCH 2/2] Allow spaces in separator name --- resources/qml/MainWindow/ApplicationMenu.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/MainWindow/ApplicationMenu.qml b/resources/qml/MainWindow/ApplicationMenu.qml index a7c853d37c..3204787c6b 100644 --- a/resources/qml/MainWindow/ApplicationMenu.qml +++ b/resources/qml/MainWindow/ApplicationMenu.qml @@ -74,7 +74,7 @@ Item property var modelText: model.text property var extensionName: name - sourceComponent: modelText == "" ? extensionsMenuSeparator : extensionsMenuItem + sourceComponent: modelText.trim() == "" ? extensionsMenuSeparator : extensionsMenuItem } onObjectAdded: sub_menu.insertItem(index, object.item)