From: Frank Reininghaus Date: Sat, 15 Oct 2011 18:08:42 +0000 (+0200) Subject: Fix regression concerning Control+mouse wheel zooming X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/a49109b09a191b73f3fda8b65c29e9c6c9bd33d8 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. --- 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)