you can see that Open/Save dialog has double margins around the window. Reproducible: Always Expected Results: normal margin, correct ui.
There are no double margins, but the margin should only be applied to the lower part of the window, not the complete window.
bug still valid for 4.11 beta 2
Still present in Plasma 5.11.3. It's not so much that file chooser dialog windows have double borders, but rather that they their UI elements are inset a bit. So even if you set the use the No Borders setting, the dialogs still *effectively and visually* show a border.
Fixed with changes in Breeze: https://cgit.kde.org/breeze.git/commit/?id=e15989fb1f0d73200e5a328b86170af85457a114
I closed this incorrectly, sorry. The issue--if any--is that dialog windows have larger internal padding compared to non-dialog windows. As a result, when window-decoration-drawn window borders are turned on, dialog windows have implausibly enormous borders, and when windeco borders are turned off, it looks like they are still on. Probably what we need to do is to make dialog windows have no extra internal margins, and instead add margins only ad needed to the actual content items within the dialogs.
*** Bug 427032 has been marked as a duplicate of this bug. ***
Actually now I'm not sure whether these extra margins come from Breeze, or some frameworks component that generates the dialog. Christoph, any chance you know off the top of your head?
I am not sure if I understand the issue, but could you check if breeze returns different values for PM_Layout*Margin and (deprecated) PM_DefaultTopLevelMargin?
Can you try > m_processList.setContentsMargins(0,0,0,0); See https://invent.kde.org/himanshur/ksysguard/-/blob/master/gui/SensorDisplayLib/ProcessController.cpp#L148
(In reply to popov895 from comment #9) > Can you try > > > m_processList.setContentsMargins(0,0,0,0); > See > https://invent.kde.org/himanshur/ksysguard/-/blob/master/gui/ > SensorDisplayLib/ProcessController.cpp#L148 Ohh, of course it doesn't make the margins smaller. Shame on me:(
Breeze does: } else if (auto dialog = qobject_cast<const QDialog*>(widget)) { auto margins = dialog->contentsMargins(); const_cast<QDialog*>(dialog)->setContentsMargins(margins.left(), qMax(margins.top(), 1), margins.right(), margins.bottom()); painter->setPen(QPen(_helper->separatorColor(_toolsAreaManager->palette()), PenWidth::Frame * widget->devicePixelRatio())); painter->drawLine(widget->rect().topLeft(), widget->rect().topRight()); } ...But this doesn't seem to be responsible.