diff options
| author | ATMDA <atdma2600@gmail.com> | 2025-11-12 22:09:51 -0500 |
|---|---|---|
| committer | ATMDA <atdma2600@gmail.com> | 2025-11-12 22:09:51 -0500 |
| commit | b62a22b13d6d0c9704b58cf9d79ee89d4b156a74 (patch) | |
| tree | 3b6cc06ff5a0343a8ce3b2a7c73c00e077f78423 /modules/controlcenter/network/WirelessPasswordDialog.qml | |
| parent | controlcenter: wireless panel rewrite (diff) | |
| download | caelestia-shell-b62a22b13d6d0c9704b58cf9d79ee89d4b156a74.tar.gz caelestia-shell-b62a22b13d6d0c9704b58cf9d79ee89d4b156a74.tar.bz2 caelestia-shell-b62a22b13d6d0c9704b58cf9d79ee89d4b156a74.zip | |
controlcenter: wireless panel refactoring
Diffstat (limited to 'modules/controlcenter/network/WirelessPasswordDialog.qml')
| -rw-r--r-- | modules/controlcenter/network/WirelessPasswordDialog.qml | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/modules/controlcenter/network/WirelessPasswordDialog.qml b/modules/controlcenter/network/WirelessPasswordDialog.qml index 778fb4f..df8a8cf 100644 --- a/modules/controlcenter/network/WirelessPasswordDialog.qml +++ b/modules/controlcenter/network/WirelessPasswordDialog.qml @@ -243,6 +243,32 @@ Item { } } + function checkConnectionStatus(): void { + if (!root.visible || !connectButton.connecting) { + return; + } + + // Check if we're connected to the target network + if (root.network && Network.active && Network.active.ssid === root.network.ssid) { + // Successfully connected + connectionMonitor.stop(); + connectButton.connecting = false; + connectButton.text = qsTr("Connect"); + closeDialog(); + return; + } + + // Check for connection errors + const status = Network.connectionStatus; + if (status.includes("Error") || status.includes("error") || status.includes("failed")) { + // Connection failed + connectionMonitor.stop(); + connectButton.connecting = false; + connectButton.enabled = true; + connectButton.text = qsTr("Connect"); + } + } + Timer { id: connectionMonitor interval: 1000 @@ -250,39 +276,15 @@ Item { triggeredOnStart: false onTriggered: { - // Check if we're connected to the target network - if (root.network && Network.active && Network.active.ssid === root.network.ssid) { - // Successfully connected - stop(); - connectButton.connecting = false; - connectButton.text = qsTr("Connect"); - closeDialog(); - } else if (connectButton.connecting) { - // Still connecting, check status - const status = Network.connectionStatus; - if (status.includes("Error") || status.includes("error") || status.includes("failed")) { - // Connection failed - stop(); - connectButton.connecting = false; - connectButton.enabled = true; - connectButton.text = qsTr("Connect"); - } - } else { - // Not connecting anymore - stop(); - } + checkConnectionStatus(); } } Connections { target: Network function onActiveChanged() { - if (root.visible && root.network && Network.active && Network.active.ssid === root.network.ssid) { - // Connected successfully - connectionMonitor.stop(); - connectButton.connecting = false; - connectButton.text = qsTr("Connect"); - closeDialog(); + if (root.visible) { + checkConnectionStatus(); } } } |