diff options
| author | ATMDA <atdma2600@gmail.com> | 2025-11-14 16:21:22 -0500 |
|---|---|---|
| committer | ATMDA <atdma2600@gmail.com> | 2025-11-14 16:21:22 -0500 |
| commit | f472be184a012031d490a3eeaf924d1c54b628a2 (patch) | |
| tree | a34fbcc7f3510204a70e9d6faf41ec04cfce5cd7 /modules/controlcenter | |
| parent | controlcenter: changed labels for networking to network to match codebase (diff) | |
| download | caelestia-shell-f472be184a012031d490a3eeaf924d1c54b628a2.tar.gz caelestia-shell-f472be184a012031d490a3eeaf924d1c54b628a2.tar.bz2 caelestia-shell-f472be184a012031d490a3eeaf924d1c54b628a2.zip | |
controlcenter: fade-out animation on password input dialog close
Diffstat (limited to 'modules/controlcenter')
| -rw-r--r-- | modules/controlcenter/network/WirelessPasswordDialog.qml | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/modules/controlcenter/network/WirelessPasswordDialog.qml b/modules/controlcenter/network/WirelessPasswordDialog.qml index d1ce066..31372e0 100644 --- a/modules/controlcenter/network/WirelessPasswordDialog.qml +++ b/modules/controlcenter/network/WirelessPasswordDialog.qml @@ -29,9 +29,9 @@ Item { } property bool isClosing: false - visible: session.network.showPasswordDialog && !isClosing - enabled: visible - focus: visible + visible: session.network.showPasswordDialog || isClosing + enabled: session.network.showPasswordDialog && !isClosing + focus: enabled Keys.onEscapePressed: { closeDialog(); @@ -40,14 +40,10 @@ Item { Rectangle { anchors.fill: parent color: Qt.rgba(0, 0, 0, 0.5) - opacity: root.visible && !root.isClosing ? 1 : 0 + opacity: root.session.network.showPasswordDialog && !root.isClosing ? 1 : 0 Behavior on opacity { - Anim { - property: "opacity" - duration: Appearance.anim.durations.normal - easing.bezierCurve: Appearance.anim.curves.standardDecel - } + Anim {} } MouseArea { @@ -66,22 +62,35 @@ Item { radius: Appearance.rounding.normal color: Colours.tPalette.m3surface - opacity: root.visible && !root.isClosing ? 1 : 0 - scale: root.visible && !root.isClosing ? 1 : 0.9 + opacity: root.session.network.showPasswordDialog && !root.isClosing ? 1 : 0 + scale: root.session.network.showPasswordDialog && !root.isClosing ? 1 : 0.7 Behavior on opacity { - Anim { - property: "opacity" - duration: Appearance.anim.durations.normal - easing.bezierCurve: Appearance.anim.curves.standardDecel - } + Anim {} } Behavior on scale { + Anim {} + } + + ParallelAnimation { + running: root.isClosing + onFinished: { + if (root.isClosing) { + root.session.network.showPasswordDialog = false; + root.isClosing = false; + } + } + Anim { + target: dialog + property: "opacity" + to: 0 + } + Anim { + target: dialog property: "scale" - duration: Appearance.anim.durations.normal - easing.bezierCurve: Appearance.anim.curves.standardDecel + to: 0.7 } } @@ -441,11 +450,5 @@ Item { connectButton.connecting = false; connectButton.text = qsTr("Connect"); connectionMonitor.stop(); - - // Wait for fade-out animation to complete before actually hiding - Qt.callLater(() => { - session.network.showPasswordDialog = false; - isClosing = false; - }, Appearance.anim.durations.normal); } } |