From a390d12de87e2c72c6d8a5d249e9ef8f0243b680 Mon Sep 17 00:00:00 2001 From: Christoph Feck Date: Mon, 12 Dec 2011 17:36:19 +0100 Subject: [PATCH] Respect style's viewport scrollbar layout policy REVIEW: 103381 --- src/kitemviews/kitemlistcontainer.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 8ca983acd..930762e62 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include @@ -279,13 +280,20 @@ void KItemListContainer::updateGeometries() { QRect rect = geometry(); + int extra = frameWidth() * 2; + QStyleOption option; + option.initFrom(this); + if (style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents, &option, this)) { + extra += style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing, &option, this); + } + const int widthDec = verticalScrollBar()->isVisible() - ? frameWidth() + style()->pixelMetric(QStyle::PM_ScrollBarExtent) - : frameWidth() * 2; + ? extra + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this) + : extra; const int heightDec = horizontalScrollBar()->isVisible() - ? frameWidth() + style()->pixelMetric(QStyle::PM_ScrollBarExtent) - : frameWidth() * 2; + ? extra + style()->pixelMetric(QStyle::PM_ScrollBarExtent, &option, this) + : extra; rect.adjust(0, 0, -widthDec, -heightDec); -- 2.47.3