From 9ffe93f709ba376fc169a8cf20c55d4ba077baea Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 19 Oct 2026 09:25:03 +0200 Subject: desktop: Tab moves between the hand-rolled text fields A bare TextInput defaults activeFocusOnTab to false, unlike the Controls TextField some pages use, so Tab skipped every field built from one: the settings search, Field, the qtmaildir, git, autostart, assistant, OBS, user, VM and network rows, and the calendar editor. Multi-line TextEdits stay out of the chain. Co-Authored-By: Claude Opus 5.5 --- desktop/modules/appearance/Field.qml | 2 ++ desktop/modules/assistant/AssistantPage.qml | 1 + desktop/modules/assistant/PresetsPage.qml | 1 + desktop/modules/autostart/AutostartPage.qml | 1 + desktop/modules/git/GitPage.qml | 3 +++ desktop/modules/network/NetworkRow.qml | 2 ++ desktop/modules/obs/ObsScenesPage.qml | 4 ++++ desktop/modules/qtmaildir/AccountsPage.qml | 1 + desktop/modules/qtmaildir/Setting.qml | 1 + desktop/modules/qtmaildir/TagsKeysPage.qml | 1 + desktop/modules/user/UserPage.qml | 1 + desktop/modules/vm/VmPage.qml | 2 ++ 12 files changed, 20 insertions(+) (limited to 'desktop/modules') diff --git a/desktop/modules/appearance/Field.qml b/desktop/modules/appearance/Field.qml index ad6af85..1f55870 100644 --- a/desktop/modules/appearance/Field.qml +++ b/desktop/modules/appearance/Field.qml @@ -37,6 +37,8 @@ Rectangle { } TextInput { + + activeFocusOnTab: true id: input anchors.fill: parent anchors.leftMargin: 6 diff --git a/desktop/modules/assistant/AssistantPage.qml b/desktop/modules/assistant/AssistantPage.qml index 832e9be..2970784 100644 --- a/desktop/modules/assistant/AssistantPage.qml +++ b/desktop/modules/assistant/AssistantPage.qml @@ -63,6 +63,7 @@ Column { onValueChanged: if (ti.text.trim() !== field.value.trim()) ti.text = field.value onBadChanged: if (!field.bad) ti.text = field.value TextInput { + activeFocusOnTab: true id: ti anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/assistant/PresetsPage.qml b/desktop/modules/assistant/PresetsPage.qml index 56d507c..7889047 100644 --- a/desktop/modules/assistant/PresetsPage.qml +++ b/desktop/modules/assistant/PresetsPage.qml @@ -70,6 +70,7 @@ Column { border.color: Theme.red onValueChanged: if (ti.text !== field.value) ti.text = field.value TextInput { + activeFocusOnTab: true id: ti anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/autostart/AutostartPage.qml b/desktop/modules/autostart/AutostartPage.qml index e0fa2c9..2e6df9c 100644 --- a/desktop/modules/autostart/AutostartPage.qml +++ b/desktop/modules/autostart/AutostartPage.qml @@ -179,6 +179,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true id: ti anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/git/GitPage.qml b/desktop/modules/git/GitPage.qml index c5d04d9..b1b1d9d 100644 --- a/desktop/modules/git/GitPage.qml +++ b/desktop/modules/git/GitPage.qml @@ -131,6 +131,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true id: keyIn anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter @@ -159,6 +160,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true id: valIn anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter @@ -268,6 +270,7 @@ Column { // ponytail: one line; a value holding a newline (a long // alias) shows joined and is best edited in the editor. TextInput { + activeFocusOnTab: true id: input anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/network/NetworkRow.qml b/desktop/modules/network/NetworkRow.qml index 3afab9a..ebe3493 100644 --- a/desktop/modules/network/NetworkRow.qml +++ b/desktop/modules/network/NetworkRow.qml @@ -94,6 +94,8 @@ Rectangle { visible: row.prompting TextInput { + + activeFocusOnTab: true id: pskField width: parent.width - connectBtn.width - parent.spacing echoMode: TextInput.Password diff --git a/desktop/modules/obs/ObsScenesPage.qml b/desktop/modules/obs/ObsScenesPage.qml index 0fb06a9..b689c72 100644 --- a/desktop/modules/obs/ObsScenesPage.qml +++ b/desktop/modules/obs/ObsScenesPage.qml @@ -86,6 +86,8 @@ Column { readonly property bool invalid: value !== "" && !SceneIcons.validGlyph(value) TextInput { + + activeFocusOnTab: true anchors.fill: parent horizontalAlignment: TextInput.AlignHCenter verticalAlignment: TextInput.AlignVCenter @@ -124,6 +126,8 @@ Column { readonly property bool invalid: value !== "" && !SceneIcons.validGlyph(value) TextInput { + + activeFocusOnTab: true anchors.fill: parent horizontalAlignment: TextInput.AlignHCenter verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/qtmaildir/AccountsPage.qml b/desktop/modules/qtmaildir/AccountsPage.qml index 8a40333..ae56e34 100644 --- a/desktop/modules/qtmaildir/AccountsPage.qml +++ b/desktop/modules/qtmaildir/AccountsPage.qml @@ -96,6 +96,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter clip: true diff --git a/desktop/modules/qtmaildir/Setting.qml b/desktop/modules/qtmaildir/Setting.qml index 78103bf..d29ee6e 100644 --- a/desktop/modules/qtmaildir/Setting.qml +++ b/desktop/modules/qtmaildir/Setting.qml @@ -89,6 +89,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true id: ti anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/qtmaildir/TagsKeysPage.qml b/desktop/modules/qtmaildir/TagsKeysPage.qml index 709e943..1f5a31c 100644 --- a/desktop/modules/qtmaildir/TagsKeysPage.qml +++ b/desktop/modules/qtmaildir/TagsKeysPage.qml @@ -57,6 +57,7 @@ Column { radius: 8 color: Theme.surface TextInput { + activeFocusOnTab: true id: ti anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter diff --git a/desktop/modules/user/UserPage.qml b/desktop/modules/user/UserPage.qml index abcb116..da1b3bf 100644 --- a/desktop/modules/user/UserPage.qml +++ b/desktop/modules/user/UserPage.qml @@ -303,6 +303,7 @@ Column { radius: 8 color: field.derived ? Qt.alpha(Theme.surface, 0.4) : Theme.surface TextInput { + activeFocusOnTab: true anchors { fill: parent; leftMargin: 10; rightMargin: 10 } verticalAlignment: TextInput.AlignVCenter clip: true diff --git a/desktop/modules/vm/VmPage.qml b/desktop/modules/vm/VmPage.qml index 9fca5f5..4f9e0aa 100644 --- a/desktop/modules/vm/VmPage.qml +++ b/desktop/modules/vm/VmPage.qml @@ -308,6 +308,8 @@ Column { } TextInput { + + activeFocusOnTab: true id: nameField visible: needsTyping width: 260 -- cgit v1.2.3