Page MenuHomePhorge

No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None
diff --git a/src/contents/ui/RoomPage.qml b/src/contents/ui/RoomPage.qml
index 08efbcf..6a91db5 100644
--- a/src/contents/ui/RoomPage.qml
+++ b/src/contents/ui/RoomPage.qml
@@ -1,63 +1,102 @@
/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2020 Tusooa Zhu <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import QtQuick 2.2
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
import org.kde.kirigami 2.13 as Kirigami
import moe.kazv.mxc.kazv 0.0 as MK
import '.' as Kazv
Kirigami.ScrollablePage {
id: roomPage
property string roomId: ''
property var room: sdkVars.roomList.room(roomId)
property var uploadJobs: []
title: room.name || roomId
RoomTimelineView {
timeline: room.timeline()
}
onRoomChanged: {
uploadJobs = root.kazvIOManager.getUploadJobs(room.roomId)
}
footer: Item {
height: childrenRect.height
width: parent.width
ListView {
id: uploadList
width: parent.width
height: contentHeight
model: uploadJobs.length
- delegate: ProgressBar {
+ delegate: RowLayout {
width: parent.width
- property var kazvIO: MK.KazvIO {
- job: roomPage.uploadJobs[index]
- onResult: {
- console.log("result")
- uploadJobs.splice(index, 1)
- uploadList.model = uploadJobs.length
+ ProgressBar {
+ Layout.fillWidth: true
+ property var kazvIO: MK.KazvIO {
+ id: kazvIO
+ job: roomPage.uploadJobs[index]
+ onResult: {
+ console.log("result")
+ uploadJobs.splice(index, 1)
+ uploadList.model = uploadJobs.length
+ }
}
+ value: kazvIO.progress
+ }
+ Kirigami.Action {
+ id: pauseAction
+ iconName: suspended ? "media-playback-start" : "media-playback-pause"
+ property var suspended: false
+ onTriggered: {
+ if (pauseAction.suspended) {
+ kazvIO.resume()
+ } else {
+ kazvIO.suspend()
+ }
+ suspended = !suspended
+ }
+ }
+ Kirigami.Action {
+ id: cancelAction
+ iconName: "dialog-cancel"
+ onTriggered: {
+ pauseAction.suspended = false
+ kazvIO.cancel()
+ }
+ }
+ RoundButton {
+ id: pauseBtn
+ Accessible.name: pauseAction.suspended ? l10n.get('media-file-download-resume') : l10n.get('media-file-download-pause')
+ icon.name: pauseAction.suspended ? "media-playback-start" : "media-playback-pause"
+ onClicked: pauseAction.trigger()
+ }
+ RoundButton {
+ icon.name: "dialog-cancel"
+ Accessible.name: l10n.get('media-file-download-cancel')
+ onClicked: cancelAction.trigger()
}
- value: kazvIO.progress
}
}
Kazv.SendMessageBox {
id: sendMessageBos
width: parent.width
room: roomPage.room
onStartNewJob: {
+ console.log("startNewJob")
uploadJobs = root.kazvIOManager.getUploadJobs(room.roomId)
+ uploadList.model = uploadJobs.length
+ console.log("new uploadJobs have " + uploadJobs.length + " Element")
}
anchors.top: uploadList.bottom
}
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sat, Sep 19, 12:22 AM (13 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1764789
Default Alt Text
(3 KB)

Event Timeline