From e09e4fb7dc22897a49619ba193befc84c871b054 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Mon, 1 Sep 2025 14:02:25 +0200 Subject: [PATCH] Modernize PropertyChanges --- src/app/qml/KeyVerificationDialog.qml | 27 ++++------- src/messagecontent/AudioComponent.qml | 25 ++++------ src/messagecontent/FileComponent.qml | 52 ++++++++------------ src/messagecontent/VideoComponent.qml | 69 +++++++-------------------- 4 files changed, 56 insertions(+), 117 deletions(-) diff --git a/src/app/qml/KeyVerificationDialog.qml b/src/app/qml/KeyVerificationDialog.qml index ed8a68574..cede07a6c 100644 --- a/src/app/qml/KeyVerificationDialog.qml +++ b/src/app/qml/KeyVerificationDialog.qml @@ -23,72 +23,63 @@ Kirigami.Page { name: "cancelled" when: root.session.state === KeyVerificationSession.CANCELED PropertyChanges { - target: stateLoader - sourceComponent: verificationCanceled + stateLoader.sourceComponent: verificationCanceled } }, State { name: "waitingForVerification" when: root.session.state === KeyVerificationSession.WAITINGFORVERIFICATION PropertyChanges { - target: stateLoader - sourceComponent: emojiSas + stateLoader.sourceComponent: emojiSas } }, State { name: "waitingForReady" when: root.session.state === KeyVerificationSession.WAITINGFORREADY PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } }, State { name: "incoming" when: root.session.state === KeyVerificationSession.INCOMING PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } }, State { name: "waitingForKey" when: root.session.state === KeyVerificationSession.WAITINGFORKEY PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } }, State { name: "waitingForAccept" when: root.session.state === KeyVerificationSession.WAITINGFORACCEPT PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } }, State { name: "waitingForMac" when: root.session.state === KeyVerificationSession.WAITINGFORMAC PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } }, State { name: "ready" when: root.session.state === KeyVerificationSession.READY PropertyChanges { - target: stateLoader - sourceComponent: chooseVerificationComponent + stateLoader.sourceComponent: chooseVerificationComponent } }, State { name: "done" when: root.session.state === KeyVerificationSession.DONE PropertyChanges { - target: stateLoader - sourceComponent: message + stateLoader.sourceComponent: message } } ] diff --git a/src/messagecontent/AudioComponent.qml b/src/messagecontent/AudioComponent.qml index 7c5cd614b..c34489419 100644 --- a/src/messagecontent/AudioComponent.qml +++ b/src/messagecontent/AudioComponent.qml @@ -53,22 +53,19 @@ ColumnLayout { when: !root.fileTransferInfo.completed && !root.fileTransferInfo.active PropertyChanges { - target: playButton - icon.name: "media-playback-start" - onClicked: Message.room.downloadFile(root.eventId) + playButton.icon.name: "media-playback-start" + playButton.onClicked: Message.room.downloadFile(root.eventId) } }, State { name: "downloading" when: root.fileTransferInfo.active && !root.fileTransferInfo.completed PropertyChanges { - target: downloadBar - visible: true + downloadBar.visible: true } PropertyChanges { - target: playButton - icon.name: "media-playback-stop" - onClicked: { + playButton.icon.name: "media-playback-stop" + playButton.onClicked: { Message.room.cancelFileTransfer(root.eventId); } } @@ -77,9 +74,8 @@ ColumnLayout { name: "paused" when: root.fileTransferInfo.completed && (audio.playbackState === MediaPlayer.StoppedState || audio.playbackState === MediaPlayer.PausedState) PropertyChanges { - target: playButton - icon.name: "media-playback-start" - onClicked: { + playButton.icon.name: "media-playback-start" + playButton.onClicked: { audio.source = root.fileTransferInfo.localPath; MediaManager.startPlayback(); audio.play(); @@ -91,11 +87,8 @@ ColumnLayout { when: root.fileTransferInfo.completed && audio.playbackState === MediaPlayer.PlayingState PropertyChanges { - target: playButton - - icon.name: "media-playback-pause" - - onClicked: audio.pause() + playButton.icon.name: "media-playback-pause" + playButton.onClicked: audio.pause() } } ] diff --git a/src/messagecontent/FileComponent.qml b/src/messagecontent/FileComponent.qml index 413b24769..19f6da111 100644 --- a/src/messagecontent/FileComponent.qml +++ b/src/messagecontent/FileComponent.qml @@ -73,16 +73,13 @@ ColumnLayout { when: root.fileTransferInfo.completed && autoOpenFile PropertyChanges { - target: openButton - icon.name: "document-open" - onClicked: openSavedFile() - } - - PropertyChanges { - target: downloadButton - icon.name: "download" - QQC2.ToolTip.text: i18nc("tooltip for a button on a message; offers ability to download its file", "Download") - onClicked: saveFileAs() + openButton.icon.name: "document-open" + openButton.onClicked: openSavedFile() + downloadButton { + icon.name: "download" + QQC2.ToolTip.text: i18nc("tooltip for a button on a message; offers ability to download its file", "Download") + onClicked: saveFileAs() + } } }, State { @@ -90,15 +87,12 @@ ColumnLayout { when: root.fileTransferInfo.completed && !autoOpenFile PropertyChanges { - target: openButton - visible: false - } - - PropertyChanges { - target: downloadButton - icon.name: "document-open" - QQC2.ToolTip.text: i18nc("tooltip for a button on a message; offers ability to open its downloaded file with an appropriate application", "Open File") - onClicked: openSavedFile() + openButton.visible: false + downloadButton { + icon.name: "document-open" + QQC2.ToolTip.text: i18nc("tooltip for a button on a message; offers ability to open its downloaded file with an appropriate application", "Open File") + onClicked: openSavedFile() + } } }, State { @@ -106,19 +100,13 @@ ColumnLayout { when: root.fileTransferInfo.active PropertyChanges { - target: openButton - visible: false - } - - PropertyChanges { - target: sizeLabel - text: i18nc("file download progress", "%1 / %2", Format.formatByteSize(root.fileTransferInfo.progress), Format.formatByteSize(root.fileTransferInfo.total)) - } - PropertyChanges { - target: downloadButton - icon.name: "media-playback-stop" - QQC2.ToolTip.text: i18nc("tooltip for a button on a message; stops downloading the message's file", "Stop Download") - onClicked: Message.room.cancelFileTransfer(root.eventId) + sizeLabel.text: i18nc("file download progress", "%1 / %2", Format.formatByteSize(root.fileTransferInfo.progress), Format.formatByteSize(root.fileTransferInfo.total)) + openButton.visible: false + downloadButton { + icon.name: "media-playback-stop" + QQC2.ToolTip.text: i18nc("tooltip for a button on a message; stops downloading the message's file", "Stop Download") + onClicked: Message.room.cancelFileTransfer(root.eventId) + } } } ] diff --git a/src/messagecontent/VideoComponent.qml b/src/messagecontent/VideoComponent.qml index ee42a0dee..11d8c4303 100644 --- a/src/messagecontent/VideoComponent.qml +++ b/src/messagecontent/VideoComponent.qml @@ -75,37 +75,25 @@ Video { name: "notDownloaded" when: !root.fileTransferInfo.completed && !root.fileTransferInfo.active PropertyChanges { - target: videoLabel - visible: true - } - PropertyChanges { - target: mediaThumbnail - visible: true + videoLabel.visible: true + mediaThumbnail.visible: true } }, State { name: "downloading" when: root.fileTransferInfo.active && !root.fileTransferInfo.completed && (Controller.isImageShown(root.eventId) || !NeoChatConfig.hideImages) PropertyChanges { - target: downloadBar - visible: true - } - PropertyChanges { - target: mediaThumbnail - visible: true + downloadBar.visible: true + mediaThumbnail.visible: true } }, State { name: "paused" when: root.fileTransferInfo.completed && root.playbackState === MediaPlayer.PausedState && (Controller.isImageShown(root.eventId) || !NeoChatConfig.hideImages) PropertyChanges { - target: videoControls - stateVisible: true - } - PropertyChanges { - target: playButton - icon.name: "media-playback-start" - onClicked: { + videoControls.stateVisible: true + playButton.icon.name: "media-playback-start" + playButton.onClicked: { MediaManager.startPlayback(); root.play(); } @@ -115,34 +103,20 @@ Video { name: "playing" when: root.fileTransferInfo.completed && root.playbackState === MediaPlayer.PlayingState && (Controller.isImageShown(root.eventId) || !NeoChatConfig.hideImages) PropertyChanges { - target: videoControls - stateVisible: true - } - PropertyChanges { - target: playButton - icon.name: "media-playback-pause" - onClicked: root.pause() + videoControls.stateVisible: true + playButton.icon.name: "media-playback-pause" + playButton.onClicked: root.pause() } }, State { name: "stopped" when: root.fileTransferInfo.completed && root.playbackState === MediaPlayer.StoppedState && (Controller.isImageShown(root.eventId) || !NeoChatConfig.hideImages) PropertyChanges { - target: videoControls - stateVisible: true - } - PropertyChanges { - target: mediaThumbnail - visible: true - } - PropertyChanges { - target: videoLabel - visible: true - } - PropertyChanges { - target: playButton - icon.name: "media-playback-start" - onClicked: { + videoControls.stateVisible: true + mediaThumbnail.visible: true + videoLabel.visible: true + playButton.icon.name: "media-playback-start" + playButton.onClicked: { MediaManager.startPlayback(); root.play(); } @@ -151,16 +125,9 @@ Video { State { name: "hidden" PropertyChanges { - target: mediaThumbnail - visible: false - } - PropertyChanges { - target: videoControls - visible: false - } - PropertyChanges { - target: hidden - visible: true + mediaThumbnail.visible: false + videoControls.visible: false + hidden.visible: true } } ]