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");