Close file browser dialog immediately after selecting asset to upload

This commit is contained in:
David Rowe 2016-07-30 14:16:08 +12:00
parent a9c6d69aa6
commit 18b0ed9e8f

View file

@ -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; property var uploadOpen: false;
Timer { Timer {
@ -366,6 +374,10 @@ ScrollingWindow {
}, dropping); }, dropping);
} }
function initiateUpload(url) {
doUpload(doUploadTimer.url, false);
}
if (fileUrl) { if (fileUrl) {
doUpload(fileUrl, true); doUpload(fileUrl, true);
} else { } else {
@ -373,12 +385,21 @@ ScrollingWindow {
selectDirectory: false, selectDirectory: false,
dir: currentDirectory dir: currentDirectory
}); });
browser.canceled.connect(function() { browser.canceled.connect(function() {
uploadOpen = false; uploadOpen = false;
}); });
browser.selectedFile.connect(function(url) { browser.selectedFile.connect(function(url) {
currentDirectory = browser.dir; 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();
}); });
} }
} }