From 266e4c998b31f35464eb02e2376d6672d470ec04 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 22 Apr 2016 12:29:22 +1200 Subject: [PATCH 1/2] Don't show "Reveal Scripts Folder" link when open Running Scripts in HMD --- .../resources/qml/hifi/dialogs/RunningScripts.qml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/interface/resources/qml/hifi/dialogs/RunningScripts.qml b/interface/resources/qml/hifi/dialogs/RunningScripts.qml index cd3b2fdf20..2775a5105e 100644 --- a/interface/resources/qml/hifi/dialogs/RunningScripts.qml +++ b/interface/resources/qml/hifi/dialogs/RunningScripts.qml @@ -24,7 +24,8 @@ Window { resizable: true destroyOnInvisible: true x: 40; y: 40 - implicitWidth: 400; implicitHeight: 728 + implicitWidth: 400 + implicitHeight: isHMD ? 695 : 728 minSize: Qt.vector2d(200, 300) HifiConstants { id: hifi } @@ -32,6 +33,7 @@ Window { property var scripts: ScriptDiscoveryService; property var scriptsModel: scripts.scriptsModelFilter property var runningScriptsModel: ListModel { } + property bool isHMD: false Settings { category: "Overlay.RunningScripts" @@ -44,7 +46,10 @@ Window { onScriptCountChanged: updateRunningScripts(); } - Component.onCompleted: updateRunningScripts() + Component.onCompleted: { + isHMD = HMD.active; + updateRunningScripts(); + } function setDefaultFocus() { // Work around FocusScope of scrollable window. @@ -237,7 +242,7 @@ Window { } HifiControls.VerticalSpacer { - height: hifi.dimensions.controlInterlineHeight - 3 + height: hifi.dimensions.controlInterlineHeight - (!isHMD ? 3 : 0) } HifiControls.TextAction { @@ -248,10 +253,12 @@ Window { onClicked: fileDialogHelper.openScriptsDirectory() colorScheme: hifi.colorSchemes.dark anchors.left: parent.left + visible: !isHMD } HifiControls.VerticalSpacer { height: hifi.dimensions.controlInterlineHeight - 3 + visible: !isHMD } } } From a7b82e8cae15e10761e08e20e43702ad2d3a9fba Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 22 Apr 2016 12:58:47 +1200 Subject: [PATCH 2/2] Decouple ui and shared libraries --- interface/resources/qml/hifi/dialogs/RunningScripts.qml | 2 +- libraries/script-engine/src/ScriptEngines.cpp | 4 ++++ libraries/script-engine/src/ScriptEngines.h | 4 ++++ libraries/ui/src/FileDialogHelper.cpp | 6 ++---- libraries/ui/src/FileDialogHelper.h | 2 +- tests/ui/qml/Stubs.qml | 4 ++++ tests/ui/src/main.cpp | 1 + 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/interface/resources/qml/hifi/dialogs/RunningScripts.qml b/interface/resources/qml/hifi/dialogs/RunningScripts.qml index 2775a5105e..51bd6bb944 100644 --- a/interface/resources/qml/hifi/dialogs/RunningScripts.qml +++ b/interface/resources/qml/hifi/dialogs/RunningScripts.qml @@ -250,7 +250,7 @@ Window { icon: hifi.glyphs.script iconSize: 24 text: "Reveal Scripts Folder" - onClicked: fileDialogHelper.openScriptsDirectory() + onClicked: fileDialogHelper.openDirectory(scripts.defaultScriptsPath) colorScheme: hifi.colorSchemes.dark anchors.left: parent.left visible: !isHMD diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index 8312de50fb..eeca49ff84 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -511,3 +511,7 @@ void ScriptEngines::onScriptEngineError(const QString& scriptFilename) { qCDebug(scriptengine) << "Application::loadScript(), script failed to load..."; emit scriptLoadError(scriptFilename, ""); } + +QString ScriptEngines::getDefaultScriptsLocation() const { + return defaultScriptsLocation().toString(); +} diff --git a/libraries/script-engine/src/ScriptEngines.h b/libraries/script-engine/src/ScriptEngines.h index 3bff9c2707..5de71663e9 100644 --- a/libraries/script-engine/src/ScriptEngines.h +++ b/libraries/script-engine/src/ScriptEngines.h @@ -50,6 +50,8 @@ public: ScriptsModel* scriptsModel() { return &_scriptsModel; }; ScriptsModelFilter* scriptsModelFilter() { return &_scriptsModelFilter; }; + QString getDefaultScriptsLocation() const; + Q_INVOKABLE void loadOneScript(const QString& scriptFilename); Q_INVOKABLE ScriptEngine* loadScript(const QUrl& scriptFilename = QString(), bool isUserLoaded = true, bool loadScriptFromEditor = false, bool activateMainWindow = false, bool reload = false); @@ -62,6 +64,8 @@ public: Q_INVOKABLE QVariantList getPublic(); Q_INVOKABLE QVariantList getLocal(); + Q_PROPERTY(QString defaultScriptsPath READ getDefaultScriptsLocation) + // Called at shutdown time void shutdownScripting(); diff --git a/libraries/ui/src/FileDialogHelper.cpp b/libraries/ui/src/FileDialogHelper.cpp index 9e22d7e441..c9a8953f01 100644 --- a/libraries/ui/src/FileDialogHelper.cpp +++ b/libraries/ui/src/FileDialogHelper.cpp @@ -16,8 +16,6 @@ #include #include -#include "PathUtils.h" - QUrl FileDialogHelper::home() { return pathToUrl(QStandardPaths::standardLocations(QStandardPaths::HomeLocation)[0]); @@ -107,6 +105,6 @@ QStringList FileDialogHelper::drives() { return result; } -void FileDialogHelper::openScriptsDirectory() { - QDesktopServices::openUrl(defaultScriptsLocation()); +void FileDialogHelper::openDirectory(const QString& path) { + QDesktopServices::openUrl(path); } diff --git a/libraries/ui/src/FileDialogHelper.h b/libraries/ui/src/FileDialogHelper.h index 55bc922839..832a5a6951 100644 --- a/libraries/ui/src/FileDialogHelper.h +++ b/libraries/ui/src/FileDialogHelper.h @@ -59,7 +59,7 @@ public: Q_INVOKABLE QUrl pathToUrl(const QString& path); Q_INVOKABLE QUrl saveHelper(const QString& saveText, const QUrl& currentFolder, const QStringList& selectionFilters); - Q_INVOKABLE void openScriptsDirectory(); + Q_INVOKABLE void openDirectory(const QString& path); }; diff --git a/tests/ui/qml/Stubs.qml b/tests/ui/qml/Stubs.qml index 22b63d3f83..8f828a0186 100644 --- a/tests/ui/qml/Stubs.qml +++ b/tests/ui/qml/Stubs.qml @@ -51,7 +51,11 @@ Item { function getRunning() { return _runningScripts; } + } + Item { + objectName: "HMD" + property bool active: false } Item { diff --git a/tests/ui/src/main.cpp b/tests/ui/src/main.cpp index dae7b47bba..0cabfe28f5 100644 --- a/tests/ui/src/main.cpp +++ b/tests/ui/src/main.cpp @@ -88,6 +88,7 @@ int main(int argc, char *argv[]) { setChild(engine, "ApplicationCompositor"); setChild(engine, "Desktop"); setChild(engine, "ScriptDiscoveryService"); + setChild(engine, "HMD"); setChild(engine, "MenuHelper"); setChild(engine, "Preferences"); setChild(engine, "urlHandler");