From 1cab45235285e878d28ae7b328780fef48e7ea34 Mon Sep 17 00:00:00 2001 From: LemmyCook Date: Fri, 5 Sep 2025 13:35:07 -0400 Subject: [PATCH] WiFi: small improvements to UI and service --- Modules/WiFiPanel/WiFiPanel.qml | 29 ++++++++++++++--------------- Services/NetworkService.qml | 25 ++++++++++++++----------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/Modules/WiFiPanel/WiFiPanel.qml b/Modules/WiFiPanel/WiFiPanel.qml index b7ced9d..1a77e69 100644 --- a/Modules/WiFiPanel/WiFiPanel.qml +++ b/Modules/WiFiPanel/WiFiPanel.qml @@ -10,7 +10,7 @@ import qs.Widgets NPanel { id: root - panelWidth: 440 * scaling + panelWidth: 400 * scaling panelHeight: 500 * scaling panelKeyboardFocus: true @@ -269,14 +269,6 @@ NPanel { } } - // Loading indicator - NBusyIndicator { - visible: NetworkService.connectingSsid === modelData.ssid - running: NetworkService.connectingSsid === modelData.ssid - color: Color.mPrimary - size: Style.baseWidgetSize * 0.6 * scaling - } - // Right-aligned items container RowLayout { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter @@ -330,6 +322,14 @@ NPanel { } } + // Loading indicator + NBusyIndicator { + visible: NetworkService.connectingSsid === modelData.ssid + running: NetworkService.connectingSsid === modelData.ssid + color: Color.mPrimary + size: Style.baseWidgetSize * 0.6 * scaling + } + // Action buttons RowLayout { spacing: Style.marginXS * scaling @@ -341,7 +341,6 @@ NPanel { fontSize: Style.fontSizeXS * scaling text: modelData.existing ? "Connect" : (NetworkService.isSecured( modelData.security) ? "Password" : "Connect") - icon: "wifi" onClicked: { if (modelData.existing || !NetworkService.isSecured(modelData.security)) { NetworkService.connectNetwork(modelData.ssid, modelData.security) @@ -361,7 +360,6 @@ NPanel { fontSize: Style.fontSizeXS * scaling backgroundColor: Color.mError text: "Disconnect" - icon: "cancel" onClicked: NetworkService.disconnectNetwork(modelData.ssid) } } @@ -384,9 +382,9 @@ NPanel { Rectangle { Layout.fillWidth: true Layout.fillHeight: true - radius: Style.radiusXS * scaling + radius: Style.radiusS * scaling color: Color.mSurface - border.color: passwordInputField.activeFocus ? Color.mPrimary : Color.mOutline + border.color: passwordInputField.activeFocus ? Color.mSecondary : Color.mOutline border.width: Math.max(1, Style.borderS * scaling) TextInput { @@ -396,15 +394,16 @@ NPanel { anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: Style.marginM * scaling anchors.rightMargin: Style.marginM * scaling - height: parent.height - (Style.marginS * scaling * 2) + height: parent.height text: passwordInput - font.pointSize: Style.fontSizeS * scaling + font.pointSize: Style.fontSizeM * scaling color: Color.mOnSurface verticalAlignment: TextInput.AlignVCenter clip: true focus: modelData.ssid === passwordPromptSsid && showPasswordPrompt selectByMouse: true echoMode: TextInput.Password + passwordCharacter: "●" onTextChanged: passwordInput = text onAccepted: { if (passwordInput) { diff --git a/Services/NetworkService.qml b/Services/NetworkService.qml index ba778c0..fa34523 100644 --- a/Services/NetworkService.qml +++ b/Services/NetworkService.qml @@ -180,12 +180,14 @@ Singleton { stderr: StdioCollector { onStreamFinished: { - if (text.includes("no such connection profile")) { - Logger.log("Network", `Network profile not found: ${forgetProcess.ssid}`) - } else { - Logger.warn("Network", `Error forgetting network: ${text}`) + if (text.trim()) { + if (text.includes("no such connection profile")) { + Logger.log("Network", `Network profile not found: ${forgetProcess.ssid}`) + } else { + Logger.warn("Network", `Error forgetting network: ${text}`) + } + refreshNetworks() } - refreshNetworks() } } } @@ -341,7 +343,9 @@ Singleton { stderr: StdioCollector { onStreamFinished: { - handleConnectionError(connectProcess.ssid, text) + if (text.trim()) { + handleConnectionError(connectProcess.ssid, text) + } } } } @@ -360,7 +364,9 @@ Singleton { stderr: StdioCollector { onStreamFinished: { - handleConnectionError(upConnectionProcess.profileName, text) + if (text.trim()) { + handleConnectionError(upConnectionProcess.profileName, text) + } } } } @@ -413,9 +419,6 @@ Singleton { } function handleConnectionError(ssid, error) { - if (error === "") - return - connectingSsid = "" connectStatus = "error" connectStatusSsid = ssid @@ -529,7 +532,7 @@ Singleton { root.isLoading = false scanProcess.existingProfiles = {} - Logger.log("Network", `Found ${Object.keys(networksMap).length} wireless networks`) + //Logger.log("Network", `Found ${Object.keys(networksMap).length} wireless networks`) } }