From fc223237f0938c7904360d8c2674368bffa53373 Mon Sep 17 00:00:00 2001 From: ATMDA Date: Wed, 12 Nov 2025 21:58:14 -0500 Subject: controlcenter: wireless panel rewrite --- .../network/WirelessConnectionHelper.qml | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 modules/controlcenter/network/WirelessConnectionHelper.qml (limited to 'modules/controlcenter/network/WirelessConnectionHelper.qml') diff --git a/modules/controlcenter/network/WirelessConnectionHelper.qml b/modules/controlcenter/network/WirelessConnectionHelper.qml new file mode 100644 index 0000000..d63b359 --- /dev/null +++ b/modules/controlcenter/network/WirelessConnectionHelper.qml @@ -0,0 +1,46 @@ +pragma ComponentBehavior: Bound + +import ".." +import qs.services +import QtQuick + +QtObject { + id: root + + required property Session session + + function connectToNetwork(network: var): void { + if (!network) { + return; + } + + // If already connected to a different network, disconnect first + if (Network.active && Network.active.ssid !== network.ssid) { + Network.disconnectFromNetwork(); + Qt.callLater(() => { + performConnect(network); + }); + } else { + performConnect(network); + } + } + + function performConnect(network: var): void { + if (network.isSecure) { + // Try connecting without password first (in case it's saved) + Network.connectToNetworkWithPasswordCheck( + network.ssid, + network.isSecure, + () => { + // Callback: connection failed, show password dialog + root.session.network.showPasswordDialog = true; + root.session.network.pendingNetwork = network; + }, + network.bssid + ); + } else { + Network.connectToNetwork(network.ssid, "", network.bssid, null); + } + } +} + -- cgit v1.2.3-freya