diff --git a/imports/Spectral/Component/Timeline/FileDelegate.qml b/imports/Spectral/Component/Timeline/FileDelegate.qml
index c138500..81cd8f5 100644
--- a/imports/Spectral/Component/Timeline/FileDelegate.qml
+++ b/imports/Spectral/Component/Timeline/FileDelegate.qml
@@ -153,9 +153,9 @@ ColumnLayout {
}
Component {
- id: openFileDialog
+ id: openFolderDialog
- OpenFileDialog {}
+ OpenFolderDialog {}
}
Component {
@@ -169,15 +169,15 @@ ColumnLayout {
}
function saveFileAs() {
- var fileDialog = openFileDialog.createObject(ApplicationWindow.overlay, {"selectFolder": true})
+ var folderDialog = openFolderDialog.createObject(ApplicationWindow.overlay)
- fileDialog.chosen.connect(function(path) {
+ folderDialog.chosen.connect(function(path) {
if (!path) return
currentRoom.downloadFile(eventId, path + "/" + (content.filename || content.body))
})
- fileDialog.open()
+ folderDialog.open()
}
function downloadAndOpen()
diff --git a/imports/Spectral/Component/Timeline/ImageDelegate.qml b/imports/Spectral/Component/Timeline/ImageDelegate.qml
index 0ece8ce..708606d 100644
--- a/imports/Spectral/Component/Timeline/ImageDelegate.qml
+++ b/imports/Spectral/Component/Timeline/ImageDelegate.qml
@@ -27,8 +27,14 @@ ColumnLayout {
spacing: 0
onDownloadedChanged: {
- if (downloaded && showOnFinished) showSavedFile()
- if (downloaded && openOnFinished) openSavedFile()
+ if (downloaded && showOnFinished) {
+ showSavedFile()
+ showOnFinished = false
+ }
+ if (downloaded && openOnFinished) {
+ openSavedFile()
+ openOnFinished = false
+ }
}
Label {
@@ -183,9 +189,9 @@ ColumnLayout {
}
Component {
- id: openFileDialog
+ id: openFolderDialog
- OpenFileDialog {}
+ OpenFolderDialog {}
}
Component {
@@ -204,15 +210,15 @@ ColumnLayout {
}
function saveFileAs() {
- var fileDialog = openFileDialog.createObject(ApplicationWindow.overlay, {"selectFolder": true})
+ var folderDialog = openFolderDialog.createObject(ApplicationWindow.overlay)
- fileDialog.chosen.connect(function(path) {
+ folderDialog.chosen.connect(function(path) {
if (!path) return
currentRoom.downloadFile(eventId, path + "/" + (content.filename || content.body))
})
- fileDialog.open()
+ folderDialog.open()
}
function downloadAndShow()
diff --git a/imports/Spectral/Dialog/OpenFileDialog.qml b/imports/Spectral/Dialog/OpenFileDialog.qml
index ec9e8e7..c5e429b 100644
--- a/imports/Spectral/Dialog/OpenFileDialog.qml
+++ b/imports/Spectral/Dialog/OpenFileDialog.qml
@@ -1,5 +1,5 @@
import QtQuick 2.12
-import QtQuick.Dialogs 1.2
+import Qt.labs.platform 1.1
FileDialog {
signal chosen(string path)
@@ -7,7 +7,6 @@ FileDialog {
id: root
title: "Please choose a file"
- selectMultiple: false
- onAccepted: chosen(selectFolder ? folder : fileUrl)
+ onAccepted: chosen(file)
}
diff --git a/imports/Spectral/Dialog/OpenFolderDialog.qml b/imports/Spectral/Dialog/OpenFolderDialog.qml
new file mode 100644
index 0000000..e0b9072
--- /dev/null
+++ b/imports/Spectral/Dialog/OpenFolderDialog.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.12
+import Qt.labs.platform 1.1
+
+FolderDialog {
+ signal chosen(string path)
+
+ id: root
+
+ title: "Please choose a folder"
+
+ onAccepted: chosen(folder)
+}
diff --git a/imports/Spectral/Dialog/qmldir b/imports/Spectral/Dialog/qmldir
index 0b27eaa..df7f062 100644
--- a/imports/Spectral/Dialog/qmldir
+++ b/imports/Spectral/Dialog/qmldir
@@ -10,3 +10,4 @@ AcceptInvitationDialog 2.0 AcceptInvitationDialog.qml
FontFamilyDialog 2.0 FontFamilyDialog.qml
AccountDetailDialog 2.0 AccountDetailDialog.qml
OpenFileDialog 2.0 OpenFileDialog.qml
+OpenFolderDialog 2.0 OpenFolderDialog.qml
diff --git a/res.qrc b/res.qrc
index bec5bb8..033f2d6 100644
--- a/res.qrc
+++ b/res.qrc
@@ -56,5 +56,6 @@
imports/Spectral/Dialog/FontFamilyDialog.qml
imports/Spectral/Dialog/AccountDetailDialog.qml
imports/Spectral/Dialog/OpenFileDialog.qml
+ imports/Spectral/Dialog/OpenFolderDialog.qml