diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 76649739be..f627fd603f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4890,7 +4890,7 @@ bool Application::acceptURL(const QString& urlString, bool defaultUpload) { } if (defaultUpload) { - toggleAssetServerWidget(urlString); + showAssetServerWidget(urlString); } return defaultUpload; } @@ -5078,7 +5078,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: diff --git a/scripts/system/assets/images/tools/assets-01.svg b/scripts/system/assets/images/tools/assets-01.svg new file mode 100644 index 0000000000..d7bdd1d7f0 --- /dev/null +++ b/scripts/system/assets/images/tools/assets-01.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 25c25a9a7e..19460b409b 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -249,6 +249,9 @@ var toolBar = (function () { toolBar = Toolbars.getToolbar(EDIT_TOOLBAR); toolBar.writeProperty("shown", false); + addButton("openAssetBrowserButton","assets-01.svg",function(){ + Window.showAssetServer(); + }) addButton("newModelButton", "model-01.svg", function () { var SHAPE_TYPE_NONE = 0; @@ -429,6 +432,7 @@ var toolBar = (function () { }); }); + that.setActive(false); }