54 lines
1.3 KiB
QML
54 lines
1.3 KiB
QML
import QtQuick 2.9
|
|
import QtQuick.Controls 2.2
|
|
import QtQuick.Controls.Material 2.2
|
|
import QtQuick.Dialogs 1.2
|
|
|
|
Item {
|
|
property bool openOnFinished: false
|
|
readonly property bool downloaded: progressInfo && progressInfo.completed
|
|
|
|
Rectangle {
|
|
z: -2
|
|
height: parent.height
|
|
width: progressInfo.active && !progressInfo.completed ? progressInfo.progress / progressInfo.total * parent.width : 0
|
|
color: Material.accent
|
|
opacity: 0.4
|
|
}
|
|
|
|
FileDialog {
|
|
id: locationDialog
|
|
title: "Please choose a location"
|
|
folder: shortcuts.home
|
|
selectFolder: true
|
|
|
|
onAccepted: currentRoom.downloadFile(eventId, folder + "/" + currentRoom.fileNameToDownload(eventId))
|
|
|
|
}
|
|
|
|
onDownloadedChanged: downloaded && openOnFinished ? openSavedFile() : {}
|
|
|
|
function saveFileAs() {
|
|
locationDialog.open()
|
|
}
|
|
|
|
function downloadAndOpen()
|
|
{
|
|
if (downloaded)
|
|
openSavedFile()
|
|
else
|
|
{
|
|
openOnFinished = true
|
|
currentRoom.downloadFile(eventId)
|
|
}
|
|
}
|
|
|
|
function openSavedFile()
|
|
{
|
|
if (Qt.openUrlExternally(progressInfo.localPath))
|
|
return;
|
|
|
|
if (Qt.openUrlExternally(progressInfo.localDir))
|
|
return;
|
|
}
|
|
}
|