mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-12 23:35:32 +00:00
81a4d70932
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.
80 lines
2.7 KiB
QML
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
|
|
}
|
|
}
|