From a49109b09a191b73f3fda8b65c29e9c6c9bd33d8 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sat, 15 Oct 2011 20:08:42 +0200 Subject: [PATCH] Fix regression concerning Control+mouse wheel zooming Commit 9311f4bc97ec7000be46b8eec242a8 accidentally removed DolphinView::wheelEvent(), which is responsible for the handling of Control+mouse wheel events. These should change the zoom level. --- src/views/dolphinview.cpp | 13 +++++++++++++ src/views/dolphinview.h | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index f2f434f46..2bd95767a 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -712,6 +712,19 @@ bool DolphinView::eventFilter(QObject* watched, QEvent* event) return QWidget::eventFilter(watched, 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(); + } else { + event->ignore(); + } +} + void DolphinView::activate() { setActive(true); diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index c3981bef4..770bbde72 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -553,6 +553,10 @@ signals: */ void writeStateChanged(bool isFolderWritable); +protected: + /** Changes the zoom level if Control is pressed during a wheel event. */ + virtual void wheelEvent(QWheelEvent* event); + private slots: /** * Marks the view as active (DolphinView:isActive() will return true) -- 2.47.3