mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-06-18 09:05:24 -04:00
fix(network): keep Wi-Fi when password prompt is canceled (#2651)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
pragma Singleton
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import Quickshell
|
||||
import qs.Services
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
function connectToNetwork(network, options) {
|
||||
if (!network)
|
||||
return;
|
||||
|
||||
const actionOptions = options || {};
|
||||
const ssid = network.ssid || "";
|
||||
if (!ssid)
|
||||
return;
|
||||
|
||||
const connected = actionOptions.connected ?? network.connected ?? (ssid === NetworkService.currentWifiSSID);
|
||||
if (connected) {
|
||||
if (actionOptions.disconnectWhenConnected ?? false)
|
||||
NetworkService.disconnectWifi();
|
||||
return;
|
||||
}
|
||||
|
||||
if (shouldPromptForCredentials(network)) {
|
||||
PopoutService.showWifiPasswordModal(ssid);
|
||||
return;
|
||||
}
|
||||
|
||||
NetworkService.connectToWifi(ssid);
|
||||
}
|
||||
|
||||
function connectToNetworkFromDetails(ssid, secured, saved, enterprise, connected, options) {
|
||||
connectToNetwork({
|
||||
ssid: ssid,
|
||||
secured: secured,
|
||||
saved: saved,
|
||||
enterprise: enterprise,
|
||||
connected: connected
|
||||
}, options);
|
||||
}
|
||||
|
||||
function shouldPromptForCredentials(network) {
|
||||
return (network.secured ?? false) && !(network.saved ?? false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user