From cf8d2c518212e3d2545063b3ae1332f95a580372 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Fri, 15 Jan 2016 23:29:49 -0800 Subject: [PATCH] Integrate file open dialog into running scripts dialog --- .../resources/qml/dialogs/RunningScripts.qml | 25 ++++++++++++++++++- libraries/ui/src/OffscreenUi.cpp | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/interface/resources/qml/dialogs/RunningScripts.qml b/interface/resources/qml/dialogs/RunningScripts.qml index 9f4309844d..d259f747ad 100644 --- a/interface/resources/qml/dialogs/RunningScripts.qml +++ b/interface/resources/qml/dialogs/RunningScripts.qml @@ -18,6 +18,12 @@ Window { property var scripts: ScriptDiscoveryService; property var scriptsModel: scripts.scriptsModelFilter property var runningScriptsModel: ListModel { } + property var fileFilters: ListModel { + id: jsFilters + ListElement { text: "Javascript Files (*.js)"; filter: "*.js" } + ListElement { text: "All Files (*.*)"; filter: "*.*" } + } + Settings { category: "Overlay.RunningScripts" @@ -65,6 +71,23 @@ Window { scripts.stopAllScripts(); } + Component { + id: fileDialogBuilder + FileDialog { } + } + + function loadFromFile() { + var fileDialog = fileDialogBuilder.createObject(Desktop, { filterModel: fileFilters }); + fileDialog.canceled.connect(function(){ + console.debug("Cancelled file open") + }) + + fileDialog.selectedFile.connect(function(file){ + console.debug("Selected " + file) + scripts.loadOneScript(file); + }) + } + Rectangle { color: "white" implicitWidth: 384; implicitHeight: 640 @@ -163,7 +186,7 @@ Window { } Button { text: "from Disk" - onClicked: ApplicationInterface.loadDialog(); + onClicked: loadFromFile(); } } diff --git a/libraries/ui/src/OffscreenUi.cpp b/libraries/ui/src/OffscreenUi.cpp index 479a7721ce..36905797d6 100644 --- a/libraries/ui/src/OffscreenUi.cpp +++ b/libraries/ui/src/OffscreenUi.cpp @@ -235,7 +235,7 @@ void OffscreenUi::createDesktop() { if (_desktop) { qDebug() << "Desktop already created"; } - getRootContext()->setContextProperty("DebugQML", false); + getRootContext()->setContextProperty("DebugQML", QVariant(false)); _desktop = dynamic_cast(load("Root.qml")); Q_ASSERT(_desktop); getRootContext()->setContextProperty("Desktop", _desktop);