mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-18 07:55:21 +01:00
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:
parent
de906cd2ed
commit
60e5e2a4b5
2 changed files with 31 additions and 2 deletions
|
@ -1,5 +1,5 @@
|
||||||
diff --git src/OptionsPopup.qml src/OptionsPopup.qml
|
diff --git src/OptionsPopup.qml src/OptionsPopup.qml
|
||||||
index 568d1cd..9e36607 100644
|
index c333098..011d7d6 100644
|
||||||
--- src/OptionsPopup.qml
|
--- src/OptionsPopup.qml
|
||||||
+++ src/OptionsPopup.qml
|
+++ src/OptionsPopup.qml
|
||||||
@@ -10,13 +10,19 @@ import QtQuick.Controls.Material 2.2
|
@@ -10,13 +10,19 @@ import QtQuick.Controls.Material 2.2
|
||||||
|
@ -27,3 +27,24 @@ index 568d1cd..9e36607 100644
|
||||||
title: qsTr("OS Customization")
|
title: qsTr("OS Customization")
|
||||||
|
|
||||||
property bool initialized: false
|
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 {
|
||||||
|
|
10
src/main.qml
10
src/main.qml
|
@ -151,7 +151,7 @@ ApplicationWindow {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
onClicked: {
|
onClicked: {
|
||||||
hwpopup.open()
|
hwpopup.open()
|
||||||
hwlist.currentItem.forceActiveFocus()
|
hwlist.forceActiveFocus()
|
||||||
}
|
}
|
||||||
Accessible.ignored: ospopup.visible || dstpopup.visible || hwpopup.visible
|
Accessible.ignored: ospopup.visible || dstpopup.visible || hwpopup.visible
|
||||||
Accessible.description: qsTr("Select this button to choose your target Raspberry Pi")
|
Accessible.description: qsTr("Select this button to choose your target Raspberry Pi")
|
||||||
|
@ -1122,6 +1122,9 @@ ApplicationWindow {
|
||||||
|
|
||||||
MsgPopup {
|
MsgPopup {
|
||||||
id: msgpopup
|
id: msgpopup
|
||||||
|
onOpened: {
|
||||||
|
forceActiveFocus()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MsgPopup {
|
MsgPopup {
|
||||||
|
@ -1142,6 +1145,7 @@ ApplicationWindow {
|
||||||
yesButton: true
|
yesButton: true
|
||||||
noButton: true
|
noButton: true
|
||||||
title: qsTr("Warning")
|
title: qsTr("Warning")
|
||||||
|
modal: true
|
||||||
onYes: {
|
onYes: {
|
||||||
langbarRect.visible = false
|
langbarRect.visible = false
|
||||||
writebutton.visible = false
|
writebutton.visible = false
|
||||||
|
@ -1166,6 +1170,10 @@ ApplicationWindow {
|
||||||
text = qsTr("All existing data on '%1' will be erased.<br>Are you sure you want to continue?").arg(dstbutton.text)
|
text = qsTr("All existing data on '%1' will be erased.<br>Are you sure you want to continue?").arg(dstbutton.text)
|
||||||
openPopup()
|
openPopup()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onOpened: {
|
||||||
|
forceActiveFocus()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MsgPopup {
|
MsgPopup {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue