diff --git a/interface/interface_en.ts b/interface/interface_en.ts index 519e2b61c1..7c5d1ecbcf 100644 --- a/interface/interface_en.ts +++ b/interface/interface_en.ts @@ -4,22 +4,22 @@ Application - + Export Voxels - + Sparse Voxel Octree Files (*.svo) - + Open Script - + JavaScript Files (*.js) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c6fc522fca..d91e686844 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -169,6 +169,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _bytesPerSecond(0), _recentMaxPackets(0), _resetRecentMaxPacketsSoon(true), + _previousScriptLocation(), _logger(new FileLogger(this)) { // read the ApplicationInfo.ini file for Name/Version/Domain information @@ -3610,12 +3611,20 @@ void Application::loadScript(const QString& scriptName) { } void Application::loadDialog() { - // shut down and stop any existing script - QString desktopLocation = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); - QString suggestedName = desktopLocation.append("/script.js"); + QString suggestedName; + + if (_previousScriptLocation.isEmpty()) { + QString desktopLocation = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); + suggestedName = desktopLocation.append("/script.js"); + } else { + suggestedName = _previousScriptLocation; + } QString fileNameString = QFileDialog::getOpenFileName(_glWidget, tr("Open Script"), suggestedName, tr("JavaScript Files (*.js)")); + if (!fileNameString.isEmpty()) { + _previousScriptLocation = fileNameString; + } loadScript(fileNameString); } diff --git a/interface/src/Application.h b/interface/src/Application.h index 15778f2a17..bab7578ca4 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -483,6 +483,8 @@ private: ControllerScriptingInterface _controllerScriptingInterface; QPointer _logDialog; + QString _previousScriptLocation; + FileLogger* _logger; void checkVersion();