mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-18 07:55:21 +01:00
Merge pull request #679 from cillian64/editsettings
Don't hide "use customization" msgbox when editing settings
This commit is contained in:
commit
de906cd2ed
2 changed files with 21 additions and 9 deletions
|
@ -17,6 +17,7 @@ Popup {
|
||||||
height: msgpopupbody.implicitHeight+150
|
height: msgpopupbody.implicitHeight+150
|
||||||
padding: 0
|
padding: 0
|
||||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
||||||
|
modal: true
|
||||||
|
|
||||||
property bool hasSavedSettings: false
|
property bool hasSavedSettings: false
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@ Popup {
|
||||||
signal no()
|
signal no()
|
||||||
signal noClearSettings()
|
signal noClearSettings()
|
||||||
signal editSettings()
|
signal editSettings()
|
||||||
|
signal closeSettings()
|
||||||
|
|
||||||
// background of title
|
// background of title
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@ -99,7 +101,11 @@ Popup {
|
||||||
ImButton {
|
ImButton {
|
||||||
text: qsTr("EDIT SETTINGS")
|
text: qsTr("EDIT SETTINGS")
|
||||||
onClicked: {
|
onClicked: {
|
||||||
msgpopup.close()
|
// Don't close this dialog when "edit settings" is
|
||||||
|
// clicked, as we don't want the user to fall back to the
|
||||||
|
// start of the flow. After editing the settings we want
|
||||||
|
// then to once again have the choice about whether to use
|
||||||
|
// customisation or not.
|
||||||
msgpopup.editSettings()
|
msgpopup.editSettings()
|
||||||
}
|
}
|
||||||
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
||||||
|
@ -115,7 +121,7 @@ Popup {
|
||||||
}
|
}
|
||||||
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
||||||
Material.background: "#c51a4a"
|
Material.background: "#c51a4a"
|
||||||
enabled: false
|
enabled: hasSavedSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
ImButton {
|
ImButton {
|
||||||
|
@ -127,7 +133,7 @@ Popup {
|
||||||
}
|
}
|
||||||
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
Material.foreground: activeFocus ? "#d1dcfb" : "#ffffff"
|
||||||
Material.background: "#c51a4a"
|
Material.background: "#c51a4a"
|
||||||
enabled: false
|
enabled: hasSavedSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
ImButton {
|
ImButton {
|
||||||
|
@ -146,17 +152,20 @@ Popup {
|
||||||
|
|
||||||
function openPopup() {
|
function openPopup() {
|
||||||
open()
|
open()
|
||||||
if (hasSavedSettings) {
|
if (imageWriter.hasSavedCustomizationSettings()) {
|
||||||
/* HACK: Bizarrely, the button enabled characteristics are not re-evaluated on open.
|
/* HACK: Bizarrely, the button enabled characteristics are not re-evaluated on open.
|
||||||
* So, let's manually _force_ these buttons to be enabled */
|
* So, let's manually _force_ these buttons to be enabled */
|
||||||
yesButton.enabled = true
|
hasSavedSettings = true
|
||||||
noAndClearButton.enabled = true
|
|
||||||
} else {
|
|
||||||
yesButton.enabled = false
|
|
||||||
noAndClearButton.enabled = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// trigger screen reader to speak out message
|
// trigger screen reader to speak out message
|
||||||
msgpopupbody.forceActiveFocus()
|
msgpopupbody.forceActiveFocus()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onClosed: {
|
||||||
|
// Close the advanced options window if this msgbox is dismissed,
|
||||||
|
// in order to prevent the user from starting writing while the
|
||||||
|
// advanced options window is open.
|
||||||
|
closeSettings()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1208,6 +1208,9 @@ ApplicationWindow {
|
||||||
onEditSettings: {
|
onEditSettings: {
|
||||||
optionspopup.openPopup()
|
optionspopup.openPopup()
|
||||||
}
|
}
|
||||||
|
onCloseSettings: {
|
||||||
|
optionspopup.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Utility functions */
|
/* Utility functions */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue