summaryrefslogtreecommitdiffstats
path: root/heimdall-frontend/source/qml/DropFiles.qml
diff options
context:
space:
mode:
Diffstat (limited to 'heimdall-frontend/source/qml/DropFiles.qml')
-rw-r--r--heimdall-frontend/source/qml/DropFiles.qml27
1 files changed, 14 insertions, 13 deletions
diff --git a/heimdall-frontend/source/qml/DropFiles.qml b/heimdall-frontend/source/qml/DropFiles.qml
index ddcc90b..9187b4f 100644
--- a/heimdall-frontend/source/qml/DropFiles.qml
+++ b/heimdall-frontend/source/qml/DropFiles.qml
@@ -2,12 +2,11 @@ import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.2
+import "FileUtils.js" as FileUtils
DropFilesForm {
id: background
-
property var fileUrls: []
-
signal nextPressed(var files)
ListModel {
@@ -30,15 +29,17 @@ DropFilesForm {
var count = urls.length;
if (count > 0) {
for (var i = 0; i < count; i++) {
- var url = urls[i].toString();
- var filename = url.slice(url.lastIndexOf('/') + 1, url.length);
+ if (FileUtils.isFile(urls[i])) {
+ var filename = FileUtils.filenameFromUrl(urls[i]);
- fileModel.append({
- icon: "drop_zone.svg",
- text: filename
- });
+ fileModel.append({ icon: "drop_zone.svg", text: filename });
- fileUrls.push(urls[i]);
+ if (FileUtils.isArchive(filename)) {
+ fileUrls.push(FileUtils.extractArchive(urls[i]));
+ } else {
+ fileUrls.push(urls[i]);
+ }
+ }
}
setFileGridVisible(true);
@@ -90,12 +91,12 @@ DropFilesForm {
}
FileDialog {
- id: browseDialog
+ id: browseDialog
title: "Select firmware file(s)"
selectMultiple: true
selectFolder: false
- onAccepted: {
+ onAccepted: {
addFiles(browseDialog.fileUrls);
- }
- }
+ }
+ }
}