diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5d50a1c9fe..08788cb5bc 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2015,6 +2015,13 @@ bool Application::importSVOFromURL(const QString& urlString) { return true; } +// attempt to start ZIP download project +bool Appplication::importZIPFromURL(const QString& urlString) { + emit zipImportRequested(urlString); + return true; +} +// end attempt + bool Application::event(QEvent* event) { if (!Menu::getInstance()) { diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index b165cda135..4a4f4b1025 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -59,6 +59,19 @@ WindowScriptingInterface::WindowScriptingInterface() { OffscreenUi::warning("Import SVO Error", "You need to be running edit.js to import entities."); } }); + // attempt to start ZIP download project + connect(qApp, &Application::zipImportRequested, [this](const QString& urlString) { + static const QMetaMethod zipImportRequestedSignal = + QMetaMethod::fromSignal(&WindowScriptingInterface::zipImportRequested); + + if (isSignalConnected(zipImportRequestedSignal)) { + QUrl url(urlString); + emit zipImportRequested(url.url()); + } else { + OffscreenUi::warning("Import ZIP Error", "You need to be running edit.js to import entities."); + } + // end attempt + }); } WebWindowClass* WindowScriptingInterface::doCreateWebWindow(const QString& title, const QString& url, int width, int height) { diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 25c25a9a7e..18a76eb45f 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -1205,6 +1205,19 @@ function importSVO(importURL) { } Window.svoImportRequested.connect(importSVO); +// attempt to start ZIP download project +function importZIP(importURL) { + print("Import ZIP requested: " + importURL); + if (!Entities.canAdjustLocks()) { + Window.alert(INSUFFICIENT_PERMISSIONS_IMPORT_ERROR_MSG); + return; + } + + +} +Window.zipImportRequested.connect(importZIP); +//end attempt + Menu.menuItemEvent.connect(handeMenuEvent); Controller.keyPressEvent.connect(function (event) {