From 18b0ed9e8fd2070fc01bbf70da8866964e85ac93 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Sat, 30 Jul 2016 14:16:08 +1200 Subject: [PATCH] Close file browser dialog immediately after selecting asset to upload --- interface/resources/qml/AssetServer.qml | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index 8d971e48d3..1ad2d1a1e4 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -314,6 +314,14 @@ ScrollingWindow { }); } + Timer { + id: doUploadTimer + property var url + property bool isConnected: false + interval: 5 + repeat: false + running: false + } property var uploadOpen: false; Timer { @@ -366,6 +374,10 @@ ScrollingWindow { }, dropping); } + function initiateUpload(url) { + doUpload(doUploadTimer.url, false); + } + if (fileUrl) { doUpload(fileUrl, true); } else { @@ -373,12 +385,21 @@ ScrollingWindow { selectDirectory: false, dir: currentDirectory }); + browser.canceled.connect(function() { uploadOpen = false; }); + browser.selectedFile.connect(function(url) { currentDirectory = browser.dir; - doUpload(url, false); + + // Initiate upload from a timer so that file browser dialog can close beforehand. + doUploadTimer.url = url; + if (!doUploadTimer.isConnected) { + doUploadTimer.triggered.connect(function() { initiateUpload(); }); + doUploadTimer.isConnected = true; + } + doUploadTimer.start(); }); } }