diff options
Diffstat (limited to 'desktop/modules/network')
| -rw-r--r-- | desktop/modules/network/NetworkModule.qml | 13 | ||||
| -rw-r--r-- | desktop/modules/network/NetworkPage.qml | 4 |
2 files changed, 12 insertions, 5 deletions
diff --git a/desktop/modules/network/NetworkModule.qml b/desktop/modules/network/NetworkModule.qml index d14853f..6ff98b5 100644 --- a/desktop/modules/network/NetworkModule.qml +++ b/desktop/modules/network/NetworkModule.qml @@ -60,6 +60,9 @@ Module { // drawer reads this property like any other. icon: mod.wiredUp ? "\uf796" : (mod.wifiUp ? "\uf1eb" : "\uf05e") + // Active while any link is up. + active: mod.wiredUp || mod.wifiUp + // The network a connect is pending on, so connectionFailed can be caught. property var pendingNetwork: null property string error: "" @@ -76,8 +79,8 @@ Module { net.connectWithPsk(psk); } - function disconnectNetwork(net) { if (net) net.disconnect(); } - function forget(net) { if (net) net.forget(); } + function disconnectNetwork(net) { mod.error = ""; if (net) net.disconnect(); } + function forget(net) { mod.error = ""; if (net) net.forget(); } // A failure after the drawer closed would otherwise go unseen, so it also // raises a notification. Same cached-Process shape as VmModule. @@ -93,10 +96,14 @@ Module { property Connections conn: Connections { target: mod.pendingNetwork function onConnectionFailed(reason) { - mod.error = "Connection failed: " + reason; + mod.error = "Could not connect to " + (mod.pendingNetwork?.name ?? "network"); mod.notify("Network", mod.error); mod.pendingNetwork = null; } + function onConnectedChanged() { + if (mod.pendingNetwork && mod.pendingNetwork.connected) + mod.pendingNetwork = null; + } } tileContent: Component { NetworkTile { net: mod } } diff --git a/desktop/modules/network/NetworkPage.qml b/desktop/modules/network/NetworkPage.qml index 3a6362a..0951231 100644 --- a/desktop/modules/network/NetworkPage.qml +++ b/desktop/modules/network/NetworkPage.qml @@ -66,7 +66,7 @@ Column { } } - Rectangle { width: page.width; height: 1; color: Qt.alpha(Theme.text, 0.12) } + Rectangle { width: page.width; height: 1; visible: page.net.wiredDevices.length > 0; color: Qt.alpha(Theme.text, 0.12) } // --- Wifi --- @@ -106,7 +106,7 @@ Column { Button { text: page.net.wifiDevice && page.net.wifiDevice.scannerEnabled ? "Scanning…" : "Scan" - onClicked: if (page.net.wifiDevice) page.net.wifiDevice.scannerEnabled = true + onClicked: if (page.net.wifiDevice) page.net.wifiDevice.scannerEnabled = !page.net.wifiDevice.scannerEnabled } } |
