diff --git a/src/scriptengines/qml/plasmoid/containmentinterface.cpp b/src/scriptengines/qml/plasmoid/containmentinterface.cpp index 0c2b602f7..0e695e77c 100644 --- a/src/scriptengines/qml/plasmoid/containmentinterface.cpp +++ b/src/scriptengines/qml/plasmoid/containmentinterface.cpp @@ -263,6 +263,22 @@ void ContainmentInterface::mouseReleaseEvent(QMouseEvent *event) event->accept(); } +void ContainmentInterface::wheelEvent(QWheelEvent *event) +{ + const QString trigger = Plasma::ContainmentActions::eventToString(event); + Plasma::ContainmentActions *plugin = containment()->containmentActions().value(trigger); + + if (plugin) { + if (event->delta() < 0) { + plugin->performNextAction(); + } else { + plugin->performPreviousAction(); + } + } else { + event->setAccepted(false); + } +} + void ContainmentInterface::addAppletActions(QMenu &desktopMenu, Plasma::Applet *applet, QEvent *event) diff --git a/src/scriptengines/qml/plasmoid/containmentinterface.h b/src/scriptengines/qml/plasmoid/containmentinterface.h index dad74962e..24f5b8b49 100644 --- a/src/scriptengines/qml/plasmoid/containmentinterface.h +++ b/src/scriptengines/qml/plasmoid/containmentinterface.h @@ -65,6 +65,7 @@ protected: void init(); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); + void wheelEvent(QWheelEvent *event); void addAppletActions(QMenu &desktopMenu, Plasma::Applet *applet, QEvent *event); void addContainmentActions(QMenu &desktopMenu, QEvent *event);