summaryrefslogtreecommitdiff
path: root/modules/bar/popouts
diff options
context:
space:
mode:
authorATMDA <atdma2600@gmail.com>2025-11-15 01:31:53 -0500
committerATMDA <atdma2600@gmail.com>2025-11-15 01:31:53 -0500
commit05b0660627586dc7624380e82b818b53004771f5 (patch)
tree085b9ca84bf5646d4c619c5746c8e84b55ee99bd /modules/bar/popouts
parentinternal: use existing button controls (diff)
downloadcaelestia-shell-05b0660627586dc7624380e82b818b53004771f5.tar.gz
caelestia-shell-05b0660627586dc7624380e82b818b53004771f5.tar.bz2
caelestia-shell-05b0660627586dc7624380e82b818b53004771f5.zip
controlcenter: password input errors/wrong pass
Diffstat (limited to 'modules/bar/popouts')
-rw-r--r--modules/bar/popouts/WirelessPasswordPopout.qml85
1 files changed, 51 insertions, 34 deletions
diff --git a/modules/bar/popouts/WirelessPasswordPopout.qml b/modules/bar/popouts/WirelessPasswordPopout.qml
index aa7f40f..59a15b9 100644
--- a/modules/bar/popouts/WirelessPasswordPopout.qml
+++ b/modules/bar/popouts/WirelessPasswordPopout.qml
@@ -32,14 +32,22 @@ ColumnLayout {
}
}
// Force focus to password container when popout becomes active
- Qt.callLater(() => {
- passwordContainer.forceActiveFocus();
- }, 100);
- }, 100);
+ // Use Timer for actual delay to ensure dialog is fully rendered
+ focusTimer.start();
+ });
}
}
}
+ Timer {
+ id: focusTimer
+ interval: 150
+ onTriggered: {
+ root.forceActiveFocus();
+ passwordContainer.forceActiveFocus();
+ }
+ }
+
spacing: Appearance.spacing.normal
implicitWidth: 400
@@ -51,19 +59,15 @@ ColumnLayout {
Component.onCompleted: {
if (shouldBeVisible) {
- Qt.callLater(() => {
- root.forceActiveFocus();
- passwordContainer.forceActiveFocus();
- }, 150);
+ // Use Timer for actual delay to ensure dialog is fully rendered
+ focusTimer.start();
}
}
onShouldBeVisibleChanged: {
if (shouldBeVisible) {
- Qt.callLater(() => {
- root.forceActiveFocus();
- passwordContainer.forceActiveFocus();
- }, 150);
+ // Use Timer for actual delay to ensure dialog is fully rendered
+ focusTimer.start();
}
}
@@ -243,20 +247,26 @@ ColumnLayout {
target: root
function onShouldBeVisibleChanged(): void {
if (root.shouldBeVisible) {
- Qt.callLater(() => {
- passwordContainer.forceActiveFocus();
- }, 50);
+ // Use Timer for actual delay to ensure focus works correctly
+ passwordFocusTimer.start();
passwordContainer.passwordBuffer = "";
connectButton.hasError = false;
}
}
}
+ Timer {
+ id: passwordFocusTimer
+ interval: 50
+ onTriggered: {
+ passwordContainer.forceActiveFocus();
+ }
+ }
+
Component.onCompleted: {
if (root.shouldBeVisible) {
- Qt.callLater(() => {
- passwordContainer.forceActiveFocus();
- }, 100);
+ // Use Timer for actual delay to ensure focus works correctly
+ passwordFocusTimer.start();
}
}
@@ -489,22 +499,8 @@ ColumnLayout {
if (isConnected) {
// Successfully connected - give it a moment for network list to update
- Qt.callLater(() => {
- // Double-check connection is still active
- if (root.shouldBeVisible && Nmcli.active && Nmcli.active.ssid) {
- const stillConnected = Nmcli.active.ssid.toLowerCase().trim() === root.network.ssid.toLowerCase().trim();
- if (stillConnected) {
- connectionMonitor.stop();
- connectButton.connecting = false;
- connectButton.text = qsTr("Connect");
- // Return to network popout on successful connection
- if (root.wrapper.currentName === "wirelesspassword") {
- root.wrapper.currentName = "network";
- }
- closeDialog();
- }
- }
- }, 500);
+ // Use Timer for actual delay
+ connectionSuccessTimer.start();
return;
}
@@ -545,6 +541,27 @@ ColumnLayout {
}
}
+ Timer {
+ id: connectionSuccessTimer
+ interval: 500
+ onTriggered: {
+ // Double-check connection is still active
+ if (root.shouldBeVisible && Nmcli.active && Nmcli.active.ssid) {
+ const stillConnected = Nmcli.active.ssid.toLowerCase().trim() === root.network.ssid.toLowerCase().trim();
+ if (stillConnected) {
+ connectionMonitor.stop();
+ connectButton.connecting = false;
+ connectButton.text = qsTr("Connect");
+ // Return to network popout on successful connection
+ if (root.wrapper.currentName === "wirelesspassword") {
+ root.wrapper.currentName = "network";
+ }
+ closeDialog();
+ }
+ }
+ }
+ }
+
Connections {
target: Nmcli
function onActiveChanged() {