From c57ef45ce68b64fb10c61d7b2de01a01038d5c9f Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 10 Oct 2014 14:39:42 +0200 Subject: [PATCH 1/3] Add QML import directory for buldle. --- app/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/main.cpp b/app/main.cpp index 445989b..ff93931 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -37,9 +37,10 @@ int main(int argc, char *argv[]) engine.rootContext()->setContextProperty("workdir", getNamedArgument(args, "--workdir")); engine.rootContext()->setContextProperty("shellProgram", getNamedArgument(args, "--program")); - // Manage import paths + // Manage import paths for Linux and OSX. QStringList importPathList = engine.importPathList(); importPathList.prepend(QCoreApplication::applicationDirPath() + "/imports/"); + importPathList.prepend(QCoreApplication::applicationDirPath() + "/../PlugIns"); engine.setImportPathList(importPathList); engine.load(QUrl("qrc:/main.qml")); From 093cead31288895e4062b1a26fd82704f59389e6 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 10 Oct 2014 15:12:28 +0200 Subject: [PATCH 2/3] Fixed a couple of UI issues under osx. --- app/qml/CRTMainMenuBar.qml | 8 ++++---- app/qml/PreprocessedTerminal.qml | 6 +++--- app/qml/SettingsPerformanceTab.qml | 1 - app/qml/main.qml | 6 +++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/qml/CRTMainMenuBar.qml b/app/qml/CRTMainMenuBar.qml index 3fd4dec..7bbe6bd 100644 --- a/app/qml/CRTMainMenuBar.qml +++ b/app/qml/CRTMainMenuBar.qml @@ -14,15 +14,15 @@ MenuBar { visible: defaultMenuBar.visible MenuItem {action: copyAction} MenuItem {action: pasteAction} - MenuSeparator{} + MenuSeparator{visible: Qt.platform.os !== "osx"} MenuItem {action: showsettingsAction} } Menu{ title: qsTr("View") visible: defaultMenuBar.visible - MenuItem {action: fullscreenAction} - MenuItem {action: showMenubarAction} - MenuSeparator{} + MenuItem {action: fullscreenAction; visible: fullscreenAction.enabled} + MenuItem {action: showMenubarAction; visible: showMenubarAction.enabled} + MenuSeparator{visible: showMenubarAction.enabled} MenuItem {action: zoomIn} MenuItem {action: zoomOut} } diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml index 97318c5..21d4c31 100644 --- a/app/qml/PreprocessedTerminal.qml +++ b/app/qml/PreprocessedTerminal.qml @@ -152,9 +152,9 @@ Item{ id: contextmenu MenuItem{action: copyAction} MenuItem{action: pasteAction} - MenuSeparator{} - MenuItem{action: fullscreenAction} - MenuItem{action: showMenubarAction} + MenuSeparator{visible: Qt.platform.os !== "osx"} + MenuItem{action: fullscreenAction; visible: Qt.platform.os !== "osx"} + MenuItem{action: showMenubarAction; visible: Qt.platform.os !== "osx"} MenuSeparator{visible: !shadersettings.showMenubar} CRTMainMenuBar{visible: !shadersettings.showMenubar} } diff --git a/app/qml/SettingsPerformanceTab.qml b/app/qml/SettingsPerformanceTab.qml index a0963b8..8286e5d 100644 --- a/app/qml/SettingsPerformanceTab.qml +++ b/app/qml/SettingsPerformanceTab.qml @@ -56,7 +56,6 @@ Tab{ id: txtslider onValueChanged: shadersettings.window_scaling = value; value: shadersettings.window_scaling - tickmarksEnabled: true stepSize: 0.25 Component.onCompleted: minimumValue = 0.5 //Without this value gets set to 0.5 } diff --git a/app/qml/main.qml b/app/qml/main.qml index 56647c1..c062d68 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -37,7 +37,9 @@ ApplicationWindow{ onFullscreenChanged: visibility = (fullscreen ? Window.FullScreen : Window.Windowed) //Workaround: if menubar is assigned ugly margins are visible. - menuBar: shadersettings.showMenubar ? defaultMenuBar : null + menuBar: Qt.platform.os === "osx" + ? defaultMenuBar + : shadersettings.showMenubar ? defaultMenuBar : null color: "#00000000" title: qsTr("cool-retro-term") @@ -45,6 +47,7 @@ ApplicationWindow{ Action { id: showMenubarAction text: qsTr("Show Menubar") + enabled: Qt.platform.os !== "osx" checkable: true checked: shadersettings.showMenubar onTriggered: shadersettings.showMenubar = !shadersettings.showMenubar @@ -52,6 +55,7 @@ ApplicationWindow{ Action { id: fullscreenAction text: qsTr("Fullscreen") + enabled: Qt.platform.os !== "osx" shortcut: "Alt+F11" onTriggered: shadersettings.fullscreen = !shadersettings.fullscreen; checkable: true From 539a5ed74fab7091a08967faaa709c160b5fd2ca Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 10 Oct 2014 15:43:38 +0200 Subject: [PATCH 3/3] Add missing arguments when -i and -l when starting under OSX. Thanks to sirgatez. --- konsole-qml-plugin/src/Session.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/konsole-qml-plugin/src/Session.cpp b/konsole-qml-plugin/src/Session.cpp index a3aeb68..146d4f7 100644 --- a/konsole-qml-plugin/src/Session.cpp +++ b/konsole-qml-plugin/src/Session.cpp @@ -307,6 +307,13 @@ void Session::run() QString argsTmp(_arguments.join(" ").trimmed()); QStringList arguments; arguments << exec; + +#ifdef Q_OS_OSX + // Fix osx initial behavior with -i (interactive) and -l (login). + arguments.append("-i"); + arguments.append("-l"); +#endif + if (argsTmp.length()) arguments << _arguments;