summaryrefslogtreecommitdiff
path: root/modules/bar/popouts/Network.qml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bar/popouts/Network.qml')
-rw-r--r--modules/bar/popouts/Network.qml34
1 files changed, 13 insertions, 21 deletions
diff --git a/modules/bar/popouts/Network.qml b/modules/bar/popouts/Network.qml
index b9f66c4..0e99613 100644
--- a/modules/bar/popouts/Network.qml
+++ b/modules/bar/popouts/Network.qml
@@ -131,27 +131,19 @@ ColumnLayout {
Nmcli.disconnectFromNetwork();
} else {
root.connectingToSsid = networkItem.modelData.ssid;
- // Check if network is secure
- if (networkItem.modelData.isSecure) {
- // Try to connect first - will show password dialog if password is needed
- Nmcli.connectToNetwork(networkItem.modelData.ssid, "", networkItem.modelData.bssid, result => {
- if (result && result.needsPassword) {
- // Password is required - show password dialog
- root.passwordNetwork = networkItem.modelData;
- root.showPasswordDialog = true;
- root.wrapper.currentName = "wirelesspassword";
- } else if (result && result.success) {
- // Connection successful with saved password
- root.connectingToSsid = "";
- } else {
- // Connection failed for other reasons
- root.connectingToSsid = "";
- }
- });
- } else {
- // Open network, no password needed
- Nmcli.connectToNetwork(networkItem.modelData.ssid, "", networkItem.modelData.bssid, null);
- }
+ NetworkConnection.handleConnect(
+ networkItem.modelData,
+ null,
+ (network) => {
+ // Password is required - show password dialog
+ root.passwordNetwork = network;
+ root.showPasswordDialog = true;
+ root.wrapper.currentName = "wirelesspassword";
+ }
+ );
+
+ // Clear connecting state if connection succeeds immediately (saved profile)
+ // This is handled by the onActiveChanged connection below
}
}
}