Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00

80 lines
2.7 KiB
QML

import QtQuick 2.1
import StatusQ.Core 0.1
import utils 1.0
import "../controls"
Rectangle {
id: downloadView
property alias downloadsModel: listView.model
property var downloadsMenu
signal openDownloadClicked(bool downloadComplete, int index)
color: Style.current.background
StatusListView {
id: listView
anchors {
topMargin: Style.current.bigPadding
top: parent.top
bottom: parent.bottom
bottomMargin: Style.current.bigPadding * 2
horizontalCenter: parent.horizontalCenter
}
width: 624
spacing: Style.current.padding
delegate: DownloadElement {
id: downloadElement
width: parent.width
isPaused: downloadsModel.downloads[index] && downloadsModel.downloads[index].isPaused
primaryText: downloadFileName
downloadText: {
if (isCanceled) {
return qsTr("Cancelled")
}
if (isPaused) {
return qsTr("Paused")
}
return `${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].receivedBytes / 1000000).toFixed(2) : 0}/${downloadsModel.downloads[index] ? (downloadsModel.downloads[index].totalBytes / 1000000).toFixed(2) : 0} MB` //"14.4/109 MB, 26 sec left"
}
downloadComplete: {
// listView.count ensures a value is returned even when index is undefined
return listView.count > 0 && !!downloadsModel.downloads && !!downloadsModel.downloads[index] &&
downloadsModel.downloads[index].receivedBytes >= downloadsModel.downloads[index].totalBytes
}
onItemClicked: {
openDownloadClicked(downloadComplete, index)
}
onOptionsButtonClicked: {
downloadsMenu.index = index
downloadsMenu.downloadComplete = Qt.binding(function() {return downloadElement.downloadComplete})
downloadsMenu.parent = downloadElement
downloadsMenu.x = xVal
downloadsMenu.y = downloadView.y - downloadsMenu.height
downloadsMenu.open()
}
Connections {
target: downloadsMenu
function onCancelClicked() {
isCanceled = true
}
}
}
}
Text {
visible: !listView.count
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 15
text: qsTr("Downloaded files will appear here.")
color: Style.current.secondaryText
}
}