Report old buttons and modifiers state in mouseChanged() as well.

svn path=/trunk/KDE/kdebase/workspace/; revision=755995
This commit is contained in:
Luboš Luňák 2008-01-02 15:34:12 +00:00
parent 556db40ad2
commit 82ad4e01ce
17 changed files with 38 additions and 22 deletions

View file

@ -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 )

View file

@ -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 );

View file

@ -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

View file

@ -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;

View file

@ -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() )
{

View file

@ -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 );

View file

@ -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 ));

View file

@ -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();

View file

@ -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
{

View file

@ -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:

View file

@ -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 ))
{

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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 )
{
}

View file

@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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().

View file

@ -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