Bug 472355

Summary: Misaligned header text in most of the configuration windows
Product: [Frameworks and Libraries] frameworks-kwidgetsaddons Reporter: Matthieu Carteron <rubisetcie>
Component: generalAssignee: Christoph Feck <cfeck>
Status: RESOLVED FIXED    
Severity: normal CC: kdelibs-bugs-null, nate
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 6.0
Sentry Crash Report:
Attachments: Comparison between an aligned header field with a misaligned one

Description Matthieu Carteron 2023-07-18 12:25:06 UTC
Created attachment 160357 [details]
Comparison between an aligned header field with a misaligned one

SUMMARY
The configuration window in almost every KDE application, has its header text vertically misaligned (see attachment).

Examples of applications that features this bug:
- Dolphin
- Konsole
- KNewstuff (particularly visible in there)
- Ark
- Many more

Examples of applications that doesn't feature this bug:
- KOrganizer
- Kate
- KWrite

STEPS TO REPRODUCE
1. Open one application that features this bug.
2. Click on the menu "Configure <name of the program>", (e.g.: "Configure Dolphin").

OBSERVED RESULT
Watch each header text field of any configure section: you'll notice the space above and below the text is clearly uneven.

EXPECTED RESULT
The header text field must be vertically aligned, with even space above and below; like it appears in programs like KOrganizer.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
A bit of research seems to point it's related to common code located around the classes KPageView, KPageDialog, etc. I may be wrong though.
Comment 1 Nate Graham 2023-07-24 04:01:01 UTC
Did some investigation. KPageDialog lays out its contents with a QGridLayout object that has zero top margins. This is needed so that the left sidebar can touch the window titlebar. But it also has the effect of making the KTitleWidget used for the header text to be too high up and also touch the titlebar. We can't add margins to only part of a QGridLayout, so what I think we need to do is replace it with two QVBoxLayouts in a QHBoxLayout, with only the left one having zero top margins. I'm looking into it.
Comment 2 Nate Graham 2023-08-17 20:54:57 UTC
This has been fixed by Waqar Ahmed's work with https://invent.kde.org/frameworks/kwidgetsaddons/-/commit/c8c3cdfd681508b2e496c20df83c562806e0dc62. I was planning to do it after he merged that work, but he fixed this issue as well as a part of it!