diff options
| author | Christoph Feck <[email protected]> | 2011-12-12 17:36:19 +0100 |
|---|---|---|
| committer | Christoph Feck <[email protected]> | 2011-12-12 17:36:19 +0100 |
| commit | a390d12de87e2c72c6d8a5d249e9ef8f0243b680 (patch) | |
| tree | 2347605423232cdbdf2233b71e16fe3cf587a697 /src | |
| parent | 42adf258b65f2785bd08d6dcbdabce92187c99cf (diff) | |
Respect style's viewport scrollbar layout policy
REVIEW: 103381
Diffstat (limited to 'src')
| -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); |
