Fix various keyboard focus issues

- Make write confirmation popup modal
- Force focus on the write confirmation popup when it opens
- Force focus on the error popup when it opens
- When the hw select popup opens, force focus on the ListView instead of
  on the currentItem, because the latter doesn't work when the list is
  empty.
- On embedded, when the settings popup closes, force focus back to the
  usecustomisation dialog
This commit is contained in:
David Turner 2023-10-18 12:56:59 +01:00
parent de906cd2ed
commit 60e5e2a4b5
2 changed files with 31 additions and 2 deletions

View file

@ -1,5 +1,5 @@
diff --git src/OptionsPopup.qml src/OptionsPopup.qml
index 568d1cd..9e36607 100644
index c333098..011d7d6 100644
--- src/OptionsPopup.qml
+++ src/OptionsPopup.qml
@@ -10,13 +10,19 @@ import QtQuick.Controls.Material 2.2
@ -27,3 +27,24 @@ index 568d1cd..9e36607 100644
title: qsTr("OS Customization")
property bool initialized: false
diff --git src/main.qml src/main.qml
index bd76442..f74300c 100644
--- src/main.qml
+++ src/main.qml
@@ -1195,6 +1195,16 @@ ApplicationWindow {
imageWriter.setSavedCustomizationSettings(settings)
usesavedsettingspopup.hasSavedSettings = true
}
+ onClosed: {
+ // When the options popup closes on embedded focus doesn't
+ // automatically return to the usesavedsettings msgpopup, so
+ // set the focus manually (but only if this msgpopup is actually
+ // open. It might not be, e.g. if the user opened settings via
+ // the keyboard shortcut).
+ if (usesavedsettingspopup.opened) {
+ usesavedsettingspopup.forceActiveFocus()
+ }
+ }
}
UseSavedSettingsPopup {