STEPS TO REPRODUCE 1. Open the "Desktop Session" page in System Settings 2. Enable "Enter firmware setup screen on next restart", enter your password and confirm 3. Close the window OBSERVED RESULT System Settings warn about unsaved changes EXPECTED RESULT There are no configuration changes being made, nothing to save, and the checkbox remains ticked even if you "discard" the changes. SOFTWARE/OS VERSIONS Operating System: openSUSE Leap 15.3 KDE Plasma Version: 5.22.4 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.3.18-59.16-default (64-bit) ADDITIONAL INFORMATION Works as expected if I launch the KCM with `kcmshell5 kcm_smserver` instead.
Confirmed. Manually adding `kcm.needsSave = false;` into the checkbox's onToggled: signal handles has no effect.
Basically the bug is that this one setting is using the Instant Apply paradigm, but the rest of the page uses the Explicit Apply paradigm and isn't aware that it shouldn't prompt to apply or discard for just this one checkbox.
The problem still persists. When you check the "Enter UEFI setup screen"-checkbox, a banner with a "Restart Now" button appears on the top of the settings page, which is generally a good idea. The problem is, however, even when clicking this "Restart Now" button, the "Apply Settings"-prompt still appears. I have a better solution for the whole situation: Just make a "Restart now and enter the UEFI screen" button next to the checkbox always visible (i.e. the button should be visible without checking the box first). While I get that there are situations when someone wants to enter the UEFI the next boot (but not immediately!), I think in most cases one wants to actually restart and enter the UEFI immediately (!). With my suggestion both use cases are covered, while saving the one who wants to restart and enter the UEFI immediately is spared at least 2 clicks.