https://bugs.kde.org/show_bug.cgi?id=414218
Bug ID: 414218 Summary: KConfigDialog wraps pages in QScrollArea; KPageDialog does not Product: frameworks-kconfigwidgets Version: 5.64.0 Platform: unspecified OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kdelibs-b...@kde.org Reporter: m...@arccos-1.net Target Milestone: --- Created attachment 123962 --> https://bugs.kde.org/attachment.cgi?id=123962&action=edit KConfigDialog vs KPageDialog - demo sources & screenshot KConfigDialog, unlike KPageDialog, wraps all pages added through its API (i.e. all pages we want to be managed) in QScrollArea. This is something unexpected - either both classes should wrap pages, or none of them. Especially when documentation (and common sense) suggests that KConfigDialog is a KPageDialog with built-in config management. The dialog with QScrollArea sometimes will not adjust its size to its pages, even when it would be possible. This happens at least when resulting height would be larger than 2/3 of the screen height. In this case scrollbar appears, even when everything would fit without it on window few pixels higher. This is Qt thing, but it does not happen when window min size is in effect, e.g. in KPageDialog. KDE HIG[1][2] recommends that config dialogs should not be scrollable, and this behavior makes it harder/impossible on smaller resolutions. For example: Konsole configuration dialog is made to fit on 800x600 screen, yet with KConfigDialog scrollbars appeared even on 1366x768 (the scrollbarless window is ~560px high). This has been solved with KPageDialog. Small demo attached. Please adjust `checkboxesCount` for your resolution. [1] https://hig.kde.org/components/navigation/dialog.html#behavior [2] https://hig.kde.org/platform/settings.html?highlight=configuration#appearance (this is for system settings, but regular configuration dialogs should be consistent with it IMO) -- You are receiving this mail because: You are watching all bug changes.