From 1febce377517db2af66b1a35d26615aef0a9ee27 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Sat, 20 Sep 2014 02:26:21 +0200 Subject: [PATCH] Add menubar in context menu when the application menubar is hidden. --- app/qml/CRTMainMenuBar.qml | 51 ++++++++++++++++++++++++++++++++ app/qml/PreprocessedTerminal.qml | 3 +- app/qml/main.qml | 45 +--------------------------- app/qml/resources.qrc | 2 +- 4 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 app/qml/CRTMainMenuBar.qml diff --git a/app/qml/CRTMainMenuBar.qml b/app/qml/CRTMainMenuBar.qml new file mode 100644 index 0000000..3fd4dec --- /dev/null +++ b/app/qml/CRTMainMenuBar.qml @@ -0,0 +1,51 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.1 + +MenuBar { + id: defaultMenuBar + property bool visible: true + Menu { + title: qsTr("File") + visible: defaultMenuBar.visible + MenuItem {action: quitAction} + } + Menu { + title: qsTr("Edit") + visible: defaultMenuBar.visible + MenuItem {action: copyAction} + MenuItem {action: pasteAction} + MenuSeparator{} + MenuItem {action: showsettingsAction} + } + Menu{ + title: qsTr("View") + visible: defaultMenuBar.visible + MenuItem {action: fullscreenAction} + MenuItem {action: showMenubarAction} + MenuSeparator{} + MenuItem {action: zoomIn} + MenuItem {action: zoomOut} + } + Menu{ + id: profilesMenu + title: qsTr("Profiles") + visible: defaultMenuBar.visible + Instantiator{ + model: shadersettings.profiles_list + delegate: MenuItem { + text: model.text + onTriggered: { + shadersettings.loadProfileString(obj_string); + shadersettings.handleFontChanged(); + } + } + onObjectAdded: profilesMenu.insertItem(index, object) + onObjectRemoved: profilesMenu.removeItem(object) + } + } + Menu{ + title: qsTr("Help") + visible: defaultMenuBar.visible + MenuItem {action: showAboutAction} + } +} diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml index d6bbd0c..3e4bda7 100644 --- a/app/qml/PreprocessedTerminal.qml +++ b/app/qml/PreprocessedTerminal.qml @@ -114,12 +114,13 @@ Item{ } Menu{ id: contextmenu - MenuItem{action: copyAction} MenuItem{action: pasteAction} MenuSeparator{} MenuItem{action: fullscreenAction} MenuItem{action: showMenubarAction} + MenuSeparator{visible: !shadersettings.showMenubar} + CRTMainMenuBar{visible: !shadersettings.showMenubar} } MouseArea{ acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton diff --git a/app/qml/main.qml b/app/qml/main.qml index 655854f..96bf53e 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -107,51 +107,8 @@ ApplicationWindow{ aboutDialog.show(); } } - MenuBar { + CRTMainMenuBar{ id: defaultMenuBar - Menu { - title: qsTr("File") - visible: shadersettings.showMenubar - MenuItem {action: quitAction} - } - Menu { - title: qsTr("Edit") - visible: shadersettings.showMenubar - MenuItem {action: copyAction} - MenuItem {action: pasteAction} - MenuSeparator{} - MenuItem {action: showsettingsAction} - } - Menu{ - title: qsTr("View") - visible: shadersettings.showMenubar - MenuItem {action: fullscreenAction} - MenuItem {action: showMenubarAction} - MenuSeparator{} - MenuItem {action: zoomIn} - MenuItem {action: zoomOut} - } - Menu{ - id: profilesMenu - title: qsTr("Profiles") - Instantiator{ - model: shadersettings.profiles_list - delegate: MenuItem { - text: model.text - onTriggered: { - shadersettings.loadProfileString(obj_string); - shadersettings.handleFontChanged(); - } - } - onObjectAdded: profilesMenu.insertItem(index, object) - onObjectRemoved: profilesMenu.removeItem(object) - } - } - Menu{ - title: qsTr("Help") - visible: shadersettings.showMenubar - MenuItem {action: showAboutAction} - } } ApplicationSettings{ id: shadersettings diff --git a/app/qml/resources.qrc b/app/qml/resources.qrc index 1650e35..a9df1ff 100644 --- a/app/qml/resources.qrc +++ b/app/qml/resources.qrc @@ -63,6 +63,6 @@ fonts/1985-ibm-pc-vga/Perfect DOS VGA 437.ttf fonts/1985-ibm-pc-vga/dos437.txt Storage.qml + CRTMainMenuBar.qml -