From: Vishesh Yadav Date: Tue, 30 Aug 2011 12:46:27 +0000 (+0530) Subject: DolphinView zoom with CTRL+MouseWheel REVIEW: 102490 X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/7c99bf5f6b6285c47dc4fa90d2bd2425287747d5?ds=sidebyside DolphinView zoom with CTRL+MouseWheel REVIEW: 102490 --- diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 0d2637da6..c68af6d94 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -199,7 +199,13 @@ bool KItemListContainer::eventFilter(QObject* obj, QEvent* event) void KItemListContainer::wheelEvent(QWheelEvent* event) { + if (event->modifiers().testFlag(Qt::ControlModifier)) { + event->ignore(); + return; + } + KItemListView* view = m_controller->view(); + if (!view || event->orientation() != view->scrollOrientation()) { return; } diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 099140177..d00c5c077 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -684,6 +684,17 @@ void DolphinView::contextMenuEvent(QContextMenuEvent* event) } } +void DolphinView::wheelEvent(QWheelEvent* event) +{ + if (event->modifiers().testFlag(Qt::ControlModifier)) { + const int numDegrees = event->delta() / 8; + const int numSteps = numDegrees / 15; + + setZoomLevel(zoomLevel() + numSteps); + } + event->accept(); +} + void DolphinView::activate() { setActive(true); diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 7c81ea8fc..085de332d 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -544,6 +544,7 @@ signals: protected: virtual void mouseReleaseEvent(QMouseEvent* event); virtual void contextMenuEvent(QContextMenuEvent* event); + virtual void wheelEvent(QWheelEvent* event); private slots: /**