diff --git a/effects.cpp b/effects.cpp index f847570fb5..11104adfe8 100644 --- a/effects.cpp +++ b/effects.cpp @@ -288,11 +288,12 @@ bool EffectsHandlerImpl::borderActivated( ElectricBorder border ) return ret; } -void EffectsHandlerImpl::mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ) +void EffectsHandlerImpl::mouseChanged( const QPoint& pos, const QPoint& oldpos, + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ) { foreach( EffectPair ep, loaded_effects ) - ep.second->mouseChanged( pos, old, buttons, modifiers ); + ep.second->mouseChanged( pos, oldpos, buttons, oldbuttons, modifiers, oldmodifiers ); } bool EffectsHandlerImpl::grabKeyboard( Effect* effect ) diff --git a/effects.h b/effects.h index a4aeecfbda..2a10f5b5a1 100644 --- a/effects.h +++ b/effects.h @@ -128,8 +128,9 @@ class EffectsHandlerImpl : public EffectsHandler void tabBoxClosed(); void tabBoxUpdated(); bool borderActivated( ElectricBorder border ); - void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + void mouseChanged( const QPoint& pos, const QPoint& oldpos, + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); void grabbedKeyboardEvent( QKeyEvent* e ); bool hasKeyboardGrab() const; void propertyNotify( EffectWindow* c, long atom ); diff --git a/effects/demo_taskbarthumbnail.cpp b/effects/demo_taskbarthumbnail.cpp index 416bba604f..8a26119e90 100644 --- a/effects/demo_taskbarthumbnail.cpp +++ b/effects/demo_taskbarthumbnail.cpp @@ -110,7 +110,8 @@ QRect TaskbarThumbnailEffect::getThumbnailPosition( EffectWindow* c, int* space return thumb; } -void TaskbarThumbnailEffect::mouseChanged( const QPoint& pos, const QPoint&, Qt::MouseButtons, Qt::KeyboardModifiers ) +void TaskbarThumbnailEffect::mouseChanged( const QPoint& pos, const QPoint&, + Qt::MouseButtons, Qt::MouseButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers ) { // this should check if the mouse position change actually means something // (just like it should be done in prePaintScreen()), but since this effect diff --git a/effects/demo_taskbarthumbnail.h b/effects/demo_taskbarthumbnail.h index fa19bfa188..db6df45bf6 100644 --- a/effects/demo_taskbarthumbnail.h +++ b/effects/demo_taskbarthumbnail.h @@ -45,7 +45,8 @@ class TaskbarThumbnailEffect virtual void prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time ); virtual void postPaintScreen(); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); protected: QRect getThumbnailPosition( EffectWindow* c, int* space ) const; diff --git a/effects/lookingglass.cpp b/effects/lookingglass.cpp index efba8b760e..d0f272b547 100644 --- a/effects/lookingglass.cpp +++ b/effects/lookingglass.cpp @@ -124,7 +124,8 @@ void LookingGlassEffect::prePaintScreen( ScreenPrePaintData& data, int time ) ShaderEffect::prePaintScreen( data, time ); } -void LookingGlassEffect::mouseChanged( const QPoint& pos, const QPoint& old, Qt::MouseButtons, Qt::KeyboardModifiers ) +void LookingGlassEffect::mouseChanged( const QPoint& pos, const QPoint& old, Qt::MouseButtons, + Qt::MouseButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers ) { if( pos != old && isEnabled() ) { diff --git a/effects/lookingglass.h b/effects/lookingglass.h index 4a35cdc1e1..5c098ce3a2 100644 --- a/effects/lookingglass.h +++ b/effects/lookingglass.h @@ -40,7 +40,8 @@ class LookingGlassEffect : public QObject, public ShaderEffect virtual ~LookingGlassEffect(); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); virtual void prePaintScreen( ScreenPrePaintData& data, int time ); diff --git a/effects/magnifier.cpp b/effects/magnifier.cpp index 638e15217a..0b91dd5a88 100644 --- a/effects/magnifier.cpp +++ b/effects/magnifier.cpp @@ -160,7 +160,8 @@ void MagnifierEffect::toggle() effects->addRepaint( magnifierArea().adjusted( -FRAME_WIDTH, -FRAME_WIDTH, FRAME_WIDTH, FRAME_WIDTH )); } -void MagnifierEffect::mouseChanged( const QPoint& pos, const QPoint& old, Qt::MouseButtons, Qt::KeyboardModifiers ) +void MagnifierEffect::mouseChanged( const QPoint& pos, const QPoint& old, + Qt::MouseButtons, Qt::MouseButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers ) { if( pos != old && zoom != 1 ) effects->addRepaint( magnifierArea( old ).adjusted( -FRAME_WIDTH, -FRAME_WIDTH, FRAME_WIDTH, FRAME_WIDTH )); diff --git a/effects/magnifier.h b/effects/magnifier.h index a6045df3dc..c78b8cff2e 100644 --- a/effects/magnifier.h +++ b/effects/magnifier.h @@ -36,7 +36,8 @@ class MagnifierEffect virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data ); virtual void postPaintScreen(); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); private slots: void zoomIn(); void zoomOut(); diff --git a/effects/mousemark.cpp b/effects/mousemark.cpp index 55c8658a84..8a95d17049 100644 --- a/effects/mousemark.cpp +++ b/effects/mousemark.cpp @@ -83,7 +83,8 @@ void MouseMarkEffect::paintScreen( int mask, QRegion region, ScreenPaintData& da } void MouseMarkEffect::mouseChanged( const QPoint& pos, const QPoint&, - Qt::MouseButtons, Qt::KeyboardModifiers modifiers ) + Qt::MouseButtons, Qt::MouseButtons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers ) { if( modifiers == ( Qt::META | Qt::SHIFT )) // activated { diff --git a/effects/mousemark.h b/effects/mousemark.h index cb6b2a8c60..a7d36f8c73 100644 --- a/effects/mousemark.h +++ b/effects/mousemark.h @@ -35,7 +35,8 @@ class MouseMarkEffect MouseMarkEffect(); virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data ); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); private slots: void clear(); private: diff --git a/effects/trackmouse.cpp b/effects/trackmouse.cpp index 5905949734..6b860b9df3 100644 --- a/effects/trackmouse.cpp +++ b/effects/trackmouse.cpp @@ -98,7 +98,7 @@ void TrackMouseEffect::postPaintScreen() } void TrackMouseEffect::mouseChanged( const QPoint&, const QPoint&, Qt::MouseButtons, - Qt::KeyboardModifiers modifiers ) + Qt::MouseButtons, Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers ) { if( modifiers == ( Qt::CTRL | Qt::META )) { diff --git a/effects/trackmouse.h b/effects/trackmouse.h index d2f810186d..a2bf2ab3c3 100644 --- a/effects/trackmouse.h +++ b/effects/trackmouse.h @@ -37,7 +37,8 @@ class TrackMouseEffect virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data ); virtual void postPaintScreen(); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); private: QRect starRect( int num ) const; void loadTexture(); diff --git a/effects/zoom.cpp b/effects/zoom.cpp index e74aceadde..8a3ea5b9b9 100644 --- a/effects/zoom.cpp +++ b/effects/zoom.cpp @@ -99,7 +99,8 @@ void ZoomEffect::actualSize() effects->addRepaintFull(); } -void ZoomEffect::mouseChanged( const QPoint& pos, const QPoint& old, Qt::MouseButtons, Qt::KeyboardModifiers ) +void ZoomEffect::mouseChanged( const QPoint& pos, const QPoint& old, Qt::MouseButtons, + Qt::MouseButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers ) { if( pos != old && zoom != 1 ) effects->addRepaintFull(); diff --git a/effects/zoom.h b/effects/zoom.h index 6a7c77ed46..d805ce2ea2 100644 --- a/effects/zoom.h +++ b/effects/zoom.h @@ -36,7 +36,8 @@ class ZoomEffect virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data ); virtual void postPaintScreen(); virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); private slots: void zoomIn(); void zoomOut(); diff --git a/lib/kwineffects.cpp b/lib/kwineffects.cpp index 586ba29424..e93f8eef5a 100644 --- a/lib/kwineffects.cpp +++ b/lib/kwineffects.cpp @@ -163,7 +163,8 @@ bool Effect::borderActivated( ElectricBorder ) return false; } -void Effect::mouseChanged( const QPoint&, const QPoint&, Qt::MouseButtons, Qt::KeyboardModifiers ) +void Effect::mouseChanged( const QPoint&, const QPoint&, Qt::MouseButtons, + Qt::MouseButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers ) { } diff --git a/lib/kwineffects.h b/lib/kwineffects.h index 9a6702a514..471ff3978e 100644 --- a/lib/kwineffects.h +++ b/lib/kwineffects.h @@ -40,7 +40,7 @@ along with this program. If not, see . #define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor )) #define KWIN_EFFECT_API_VERSION_MAJOR 0 -#define KWIN_EFFECT_API_VERSION_MINOR 3 +#define KWIN_EFFECT_API_VERSION_MINOR 4 #define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \ KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR ) @@ -244,8 +244,9 @@ class KWIN_EXPORT Effect virtual void desktopChanged( int old ); virtual void windowDamaged( EffectWindow* w, const QRect& r ); virtual void windowGeometryShapeChanged( EffectWindow* w, const QRect& old ); - virtual void mouseChanged( const QPoint& pos, const QPoint& old, - Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers ); + virtual void mouseChanged( const QPoint& pos, const QPoint& oldpos, + Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, + Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers ); virtual void grabbedKeyboardEvent( QKeyEvent* e ); /** Receives events registered for using EffectsHandler::registerPropertyType(). diff --git a/workspace.cpp b/workspace.cpp index d5589afef6..2499473264 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -2632,7 +2632,8 @@ void Workspace::checkCursorPos() cursorPos(); // update if needed if( last != last_cursor_pos || lastb != last_buttons ) static_cast< EffectsHandlerImpl* >( effects )->mouseChanged( cursorPos(), last, - x11ToQtMouseButtons( last_buttons ), x11ToQtKeyboardModifiers( last_buttons )); + x11ToQtMouseButtons( last_buttons ), x11ToQtMouseButtons( lastb ), + x11ToQtKeyboardModifiers( last_buttons ), x11ToQtKeyboardModifiers( lastb )); } } // namespace