37 lines
1.0 KiB
QML
37 lines
1.0 KiB
QML
|
pragma Singleton
|
||
|
|
||
|
import QtQuick 2.13
|
||
|
|
||
|
QtObject {
|
||
|
id: root
|
||
|
|
||
|
property ListModel downloadModel : ListModel {
|
||
|
property var downloads: []
|
||
|
}
|
||
|
|
||
|
function getDownload(index) {
|
||
|
return downloadModel.downloads[index]
|
||
|
}
|
||
|
|
||
|
function removeDownloadFromModel(index) {
|
||
|
downloadModel.downloads = downloadModel.downloads.filter(function (el) {
|
||
|
return el.id !== downloadModel.downloads[index].id;
|
||
|
});
|
||
|
downloadModel.remove(index);
|
||
|
}
|
||
|
|
||
|
function addDownload(download) {
|
||
|
downloadModel.append(download);
|
||
|
downloadModel.downloads.push(download);
|
||
|
}
|
||
|
|
||
|
function openFile(index) {
|
||
|
Qt.openUrlExternally(`file://${downloadModel.downloads[index].downloadDirectory}/${downloadModel.downloads[index].downloadFileName}`)
|
||
|
root.removeDownloadFromModel(index)
|
||
|
}
|
||
|
// TODO check if this works in Windows and Mac
|
||
|
function openDirectory(index) {
|
||
|
Qt.openUrlExternally("file://" + downloadModel.downloads[index].downloadDirectory)
|
||
|
}
|
||
|
}
|