aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/network
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/modules/network')
-rw-r--r--desktop/modules/network/NetworkModule.qml13
-rw-r--r--desktop/modules/network/NetworkPage.qml4
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
}
}