mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
Fix scrollbar spacing when no scrollbar is visible in dolphin.
Before this commit, Dolphin reserved space for the scrollbar spacing even when no scrollbar is visible resulting in a ugly gap in the view when: 1. the theme uses QStyle::SH_ScrollView_FrameOnlyAroundContents and 2. the theme has a positive PM_ScrollView_ScrollBarSpacing. QtCurve can have both while Oxygen have 1 but not 2. To reproduce the problem with Oxygen style. Replace the `width += ....` (which returns -2 or 0 for Oxygen) with `width += 2`. See more info here: https://github.com/QtCurve/qtcurve-qt4/issues/9#issuecomment-28630517 CCBUG: 306631 FIXED-IN: 4.11.4 REVIEW: 113902
This commit is contained in:
parent
c5ba8a56e7
commit
c89cd8e789
|
@ -338,16 +338,17 @@ void KItemListContainer::updateGeometries()
|
|||
int extra = frameWidth() * 2;
|
||||
QStyleOption option;
|
||||
option.initFrom(this);
|
||||
int scrollbarSpacing = 0;
|
||||
if (style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents, &option, this)) {
|
||||
extra += style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing, &option, this);
|
||||
scrollbarSpacing = style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing, &option, this);
|
||||
}
|
||||
|
||||
const int widthDec = verticalScrollBar()->isVisible()
|
||||
? extra + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this)
|
||||
? extra + scrollbarSpacing + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this)
|
||||
: extra;
|
||||
|
||||
const int heightDec = horizontalScrollBar()->isVisible()
|
||||
? extra + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this)
|
||||
? extra + scrollbarSpacing + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this)
|
||||
: extra;
|
||||
|
||||
rect.adjust(0, 0, -widthDec, -heightDec);
|
||||
|
|
Loading…
Reference in a new issue