From: Christoph Feck Date: Mon, 12 Dec 2011 16:36:19 +0000 (+0100) Subject: Respect style's viewport scrollbar layout policy X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/a390d12de87e2c72c6d8a5d249e9ef8f0243b680?ds=inline Respect style's viewport scrollbar layout policy REVIEW: 103381 --- 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);