From 62f4e3536bb2370620306cc2205125a519084396 Mon Sep 17 00:00:00 2001 From: Zander Otavka Date: Fri, 12 Aug 2016 15:18:30 -0700 Subject: [PATCH] Expose showing asset server to script interface --- interface/src/Application.cpp | 4 ++-- interface/src/Application.h | 2 +- interface/src/Menu.cpp | 2 +- interface/src/scripting/WindowScriptingInterface.cpp | 4 ++++ interface/src/scripting/WindowScriptingInterface.h | 1 + 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index bf85c17370..34f7f6d8b4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4875,7 +4875,7 @@ bool Application::acceptURL(const QString& urlString, bool defaultUpload) { } if (defaultUpload) { - toggleAssetServerWidget(urlString); + showAssetServerWidget(urlString); } return defaultUpload; } @@ -5063,7 +5063,7 @@ void Application::toggleRunningScriptsWidget() const { //} } -void Application::toggleAssetServerWidget(QString filePath) { +void Application::showAssetServerWidget(QString filePath) { if (!DependencyManager::get()->getThisNodeCanWriteAssets()) { return; } diff --git a/interface/src/Application.h b/interface/src/Application.h index 8936206790..7409ee1b8a 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -277,7 +277,7 @@ public slots: Q_INVOKABLE void loadScriptURLDialog() const; void toggleLogDialog(); void toggleRunningScriptsWidget() const; - void toggleAssetServerWidget(QString filePath = ""); + Q_INVOKABLE void showAssetServerWidget(QString filePath = ""); void handleLocalServerConnection() const; void readArgumentsFromLocalSocket() const; diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index a8340e8f47..50dc748461 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -134,7 +134,7 @@ Menu::Menu() { // Edit > My Asset Server auto assetServerAction = addActionToQMenuAndActionHash(editMenu, MenuOption::AssetServer, Qt::CTRL | Qt::SHIFT | Qt::Key_A, - qApp, SLOT(toggleAssetServerWidget())); + qApp, SLOT(showAssetServerWidget())); auto nodeList = DependencyManager::get(); QObject::connect(nodeList.data(), &NodeList::canWriteAssetsChanged, assetServerAction, &QAction::setEnabled); assetServerAction->setEnabled(nodeList->getThisNodeCanWriteAssets()); diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index b165cda135..9d7eee0f8c 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -179,6 +179,10 @@ QScriptValue WindowScriptingInterface::save(const QString& title, const QString& return result.isEmpty() ? QScriptValue::NullValue : QScriptValue(result); } +void WindowScriptingInterface::showAssetServer(const QString& upload) { + QMetaObject::invokeMethod(qApp, "showAssetServerWidget", Qt::QueuedConnection, Q_ARG(QString, upload)); +} + int WindowScriptingInterface::getInnerWidth() { return qApp->getWindow()->geometry().width(); } diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index 9d73111333..9f1d2bddf5 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -53,6 +53,7 @@ public slots: CustomPromptResult customPrompt(const QVariant& config); QScriptValue browse(const QString& title = "", const QString& directory = "", const QString& nameFilter = ""); QScriptValue save(const QString& title = "", const QString& directory = "", const QString& nameFilter = ""); + void showAssetServer(const QString& upload = ""); void copyToClipboard(const QString& text); signals: