┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphincolumnview.cpp6
-rw-r--r--src/dolphindetailsview.cpp6
-rw-r--r--src/dolphiniconsview.cpp6
-rw-r--r--src/dolphinview.cpp32
-rw-r--r--src/dolphinview.h1
5 files changed, 18 insertions, 33 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 2d3bcb826..9157c7ed4 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -340,12 +340,6 @@ void DolphinColumnView::contextMenuEvent(QContextMenuEvent* event)
void DolphinColumnView::wheelEvent(QWheelEvent* event)
{
- // let Ctrl+wheel events propagate to the DolphinView for icon zooming
- if (event->modifiers() & Qt::ControlModifier) {
- event->ignore();
- return;
- }
-
const int height = m_decorationSize.height();
const int step = (height >= KIconLoader::SizeHuge) ? height / 10 : (KIconLoader::SizeHuge - height) / 2;
verticalScrollBar()->setSingleStep(step);
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index 3dca2da28..9d32dd247 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -401,12 +401,6 @@ void DolphinDetailsView::resizeEvent(QResizeEvent* event)
void DolphinDetailsView::wheelEvent(QWheelEvent* event)
{
- // let Ctrl+wheel events propagate to the DolphinView for icon zooming
- if (event->modifiers() & Qt::ControlModifier) {
- event->ignore();
- return;
- }
-
const int height = m_decorationSize.height();
const int step = (height >= KIconLoader::SizeHuge) ? height / 10 : (KIconLoader::SizeHuge - height) / 2;
verticalScrollBar()->setSingleStep(step);
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index bd070ad1c..e7448ed6d 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -314,12 +314,6 @@ void DolphinIconsView::keyPressEvent(QKeyEvent* event)
void DolphinIconsView::wheelEvent(QWheelEvent* event)
{
- // let Ctrl+wheel events propagate to the DolphinView for icon zooming
- if (event->modifiers() & Qt::ControlModifier) {
- event->ignore();
- return;
- }
-
horizontalScrollBar()->setSingleStep(m_itemSize.width() / 10);
verticalScrollBar()->setSingleStep(m_itemSize.height() / 10);
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index a49aabdd9..034b81d3f 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -831,20 +831,6 @@ void DolphinView::mouseReleaseEvent(QMouseEvent* event)
setActive(true);
}
-void DolphinView::wheelEvent(QWheelEvent* event)
-{
- if (event->modifiers() & Qt::ControlModifier) {
- const int delta = event->delta();
- const int level = zoomLevel();
- if (delta > 0) {
- setZoomLevel(level + 1);
- } else if (delta < 0) {
- setZoomLevel(level - 1);
- }
- event->accept();
- }
-}
-
bool DolphinView::eventFilter(QObject* watched, QEvent* event)
{
switch (event->type()) {
@@ -870,6 +856,24 @@ bool DolphinView::eventFilter(QObject* watched, QEvent* event)
}
break;
+ case QEvent::Wheel:
+ if (watched == m_viewAccessor.itemView()->viewport()) {
+ // Ctrl+wheel events should cause icon zooming, but not if the left mouse button is pressed
+ // (the user is probably trying to scroll during a selection in that case)
+ QWheelEvent* wheelEvent = static_cast<QWheelEvent*>(event);
+ if (wheelEvent->modifiers() & Qt::ControlModifier && !(wheelEvent->buttons() & Qt::LeftButton)) {
+ const int delta = wheelEvent->delta();
+ const int level = zoomLevel();
+ if (delta > 0) {
+ setZoomLevel(level + 1);
+ } else if (delta < 0) {
+ setZoomLevel(level - 1);
+ }
+ return true;
+ }
+ }
+ break;
+
default:
break;
}
diff --git a/src/dolphinview.h b/src/dolphinview.h
index cf0f46360..03154f950 100644
--- a/src/dolphinview.h
+++ b/src/dolphinview.h
@@ -559,7 +559,6 @@ signals:
protected:
/** @see QWidget::mouseReleaseEvent */
virtual void mouseReleaseEvent(QMouseEvent* event);
- virtual void wheelEvent(QWheelEvent* event);
virtual bool eventFilter(QObject* watched, QEvent* event);
private slots: