diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/controlcenter/network/WirelessList.qml (renamed from modules/controlcenter/network/NetworkList.qml) | 35 |
1 files changed, 7 insertions, 28 deletions
diff --git a/modules/controlcenter/network/NetworkList.qml b/modules/controlcenter/network/WirelessList.qml index 6c4158c..1a4ba00 100644 --- a/modules/controlcenter/network/NetworkList.qml +++ b/modules/controlcenter/network/WirelessList.qml @@ -1,6 +1,7 @@ pragma ComponentBehavior: Bound import ".." +import "." import qs.components import qs.components.controls import qs.components.containers @@ -14,6 +15,10 @@ ColumnLayout { required property Session session + readonly property var connectionHelper: WirelessConnectionHelper { + session: root.session + } + spacing: Appearance.spacing.small RowLayout { @@ -180,34 +185,7 @@ ColumnLayout { if (modelData.active) { Network.disconnectFromNetwork(); } else { - // If already connected to a different network, disconnect first - if (Network.active && Network.active.ssid !== modelData.ssid) { - Network.disconnectFromNetwork(); - // Wait a moment before connecting to new network - Qt.callLater(() => { - connectToNetwork(); - }); - } else { - connectToNetwork(); - } - } - } - - function connectToNetwork(): void { - if (modelData.isSecure) { - // Try connecting without password first (in case it's saved) - Network.connectToNetworkWithPasswordCheck( - modelData.ssid, - modelData.isSecure, - () => { - // Callback: connection failed, show password dialog - root.session.network.showPasswordDialog = true; - root.session.network.pendingNetwork = modelData; - }, - modelData.bssid - ); - } else { - Network.connectToNetwork(modelData.ssid, "", modelData.bssid, null); + root.connectionHelper.connectToNetwork(modelData); } } } @@ -226,3 +204,4 @@ ColumnLayout { } } } + |