diff options
| -rw-r--r-- | src/kitemviews/kitemlistcontainer.cpp | 16 |
1 files 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 <QPropertyAnimation> #include <QScrollBar> #include <QStyle> +#include <QStyleOption> #include <KDebug> @@ -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); |
