X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d9f9e69ce1bdd6f898ee21cb2f14607bd90fa07b..c8d8556950005dfd96ebdb41d2f43ad90356367c:/src/kitemviews/kitemlistcontainer.cpp diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 926e13bf2..930762e62 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include @@ -150,7 +151,7 @@ void KItemListContainer::wheelEvent(QWheelEvent* event) const int numSteps = numDegrees / 15; const QScrollBar* scrollBar = smoothScroller->scrollBar(); - smoothScroller->scrollTo(scrollBar->value() - numSteps * scrollBar->pageStep()); + smoothScroller->scrollTo(scrollBar->value() - numSteps * scrollBar->pageStep() / 4); event->accept(); } @@ -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); @@ -314,7 +322,14 @@ void KItemListContainer::updateSmoothScrollers(Qt::Orientation orientation) void KItemListContainer::initialize() { - if (!m_controller) { + if (m_controller) { + if (m_controller->model()) { + slotModelChanged(m_controller->model(), 0); + } + if (m_controller->view()) { + slotViewChanged(m_controller->view(), 0); + } + } else { m_controller = new KItemListController(this); }