X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dcbf1a11783d47e7e4fa30d488ac93a8bc547e71..b60da9b67acbfe94e43bd631e4e685f366d53ec5:/src/dolphindetailsview.cpp diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index c4f54cec4..c81ec089c 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -25,6 +25,7 @@ #include "dolphinfileitemdelegate.h" #include "dolphinsettings.h" #include "dolphinsortfilterproxymodel.h" +#include "dolphinviewautoscroller.h" #include "draganddrophelper.h" #include "selectionmanager.h" #include "viewproperties.h" @@ -75,6 +76,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setEditTriggers(QAbstractItemView::NoEditTriggers); setMouseTracking(true); + new DolphinViewAutoScroller(this); const ViewProperties props(controller->url()); setSortIndicatorSection(props.sorting()); @@ -167,11 +169,6 @@ bool DolphinDetailsView::event(QEvent* event) hideColumn(DolphinModel::Rating); hideColumn(DolphinModel::Tags); - } else if (event->type() == QEvent::UpdateRequest) { - // a wheel movement will scroll 4 items - if (model()->rowCount() > 0) { - verticalScrollBar()->setSingleStep((sizeHintForRow(0) / 3) * 4); - } } return QTreeView::event(event); @@ -417,7 +414,10 @@ void DolphinDetailsView::wheelEvent(QWheelEvent* event) event->ignore(); return; } - + + const int height = m_decorationSize.height(); + const int step = (height >= KIconLoader::SizeHuge) ? height / 10 : (KIconLoader::SizeHuge - height) / 2; + verticalScrollBar()->setSingleStep(step); QTreeView::wheelEvent(event); }