From 6c1c17445a7456f925b858863278059a1b13018f Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Mon, 22 Dec 2014 21:44:45 +0100 Subject: [PATCH] Fix: fix OSX context menu issues. Split the context menus into two different components. --- app/qml/PreprocessedTerminal.qml | 38 ++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml index 0c28138..d7a4157 100644 --- a/app/qml/PreprocessedTerminal.qml +++ b/app/qml/PreprocessedTerminal.qml @@ -141,16 +141,36 @@ Item{ forceActiveFocus(); } } - Menu{ - id: contextmenu - MenuItem{action: copyAction} - MenuItem{action: pasteAction} - MenuSeparator{visible: Qt.platform.os !== "osx"} - MenuItem{action: fullscreenAction; visible: Qt.platform.os !== "osx"} - MenuItem{action: showMenubarAction; visible: Qt.platform.os !== "osx"} - MenuSeparator{visible: !appSettings.showMenubar} - CRTMainMenuBar{visible: !appSettings.showMenubar} + Component { + id: linuxContextMenu + Menu{ + id: contextmenu + MenuItem{action: copyAction} + MenuItem{action: pasteAction} + MenuSeparator{visible: Qt.platform.os !== "osx"} + MenuItem{action: fullscreenAction; visible: Qt.platform.os !== "osx"} + MenuItem{action: showMenubarAction; visible: Qt.platform.os !== "osx"} + MenuSeparator{visible: !appSettings.showMenubar} + CRTMainMenuBar{visible: !appSettings.showMenubar} + } } + Component { + id: osxContextMenu + Menu{ + id: contextmenu + MenuItem{action: copyAction} + MenuItem{action: pasteAction} + MenuSeparator{visible: Qt.platform.os !== "osx"} + MenuItem{action: fullscreenAction; visible: Qt.platform.os !== "osx"} + MenuItem{action: showMenubarAction; visible: Qt.platform.os !== "osx"} + } + } + Loader { + id: menuLoader + sourceComponent: (Qt.platform.os === "osx" ? osxContextMenu : linuxContextMenu) + } + property alias contextmenu: menuLoader.item + MouseArea{ acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton anchors.fill: parent