Created attachment 153473 [details] Screenshot of a moment when the issue is visible SUMMARY The buttons at the bottom of the system settings app (help or apply for example) are touching the top boundary of their toolbars. The issue is not really visible because usually the color is the same as the one on top. This issue is problematic if you use custom themes as sometimes the colors of the two rows of buttons are not the same and it makes the button not centered in its space. I attached a screenshot of the issue STEPS TO REPRODUCE 1. Open the settings app 2. Try to open a messagebox to darken the system app 3. You can clearly see that the button is touching the top boundary of its toolbar OBSERVED RESULT You can clearly see that the button is touching the top boundary of its toolbar EXPECTED RESULT The button should be centered in its toolbar SOFTWARE/OS VERSIONS Linux/KDE Plasma: kernel 6.0.6-arch1-1 (x64) KDE Plasma Version: 5.26.2 KDE Frameworks Version: 5.99.0 Qt Version: 5.15.7
A possibly relevant merge request was started @ https://invent.kde.org/plasma/systemsettings/-/merge_requests/174
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kdeclarative/-/merge_requests/156
Git commit abd304cd96e5be6f95c40d6c7812724ab3188037 by Nate Graham. Committed on 07/11/2022 at 00:50. Pushed by ngraham into branch 'master'. Sync header and footer separator code to SimpleKCM AbstractKCM has complex logic to add separator lines at the top and bottom of the page, based on the presence or absence of headers and footers and the potential need for extra spacing on the bottom of KCMs that have no footer and System Settings will show at least one of its own footer buttons. However SimpleKCM lacks much of this logic, despite having the same needs. Instead, it has simpler logic to naïvely draw separator lines with no provision for extra spacing. As a result, KCMs that use SimpleKCM and become scrollable have insufficient bottom padding between the System Settings-provided buttons and the KCM-provided separator line. This commits syncs the code and API from AbstractKCM to SimpleKCM so that the issues solved there are solved here too. Code is copied rather than refactoring SimpleKCM to be based on AbstractKCM because the trigger conditions are subtly different, we can't add the typical padding to avoid regressions KInfoCenter's CommandOutputKCM (see diff; we can fix this only in KF6). Such a refactor is a separate challenge that can be undertaken later in KF6 times. FIXED-IN: 5.101 M +96 -9 src/qmlcontrols/kcmcontrols/qml/SimpleKCM.qml https://invent.kde.org/frameworks/kdeclarative/commit/abd304cd96e5be6f95c40d6c7812724ab3188037