Fix inactive window translucency code. Also repaint the screen when

the user changes any settings.
BUG: 173793

svn path=/trunk/KDE/kdebase/workspace/; revision=897041
This commit is contained in:
Lucas Murray 2008-12-15 07:02:07 +00:00
parent cda8f503ad
commit d49cc078bb

View file

@ -62,6 +62,9 @@ void MakeTransparentEffect::reconfigure( ReconfigureFlags )
moveresize_timeline.setDuration( animationTime( conf, "Duration", 800 ) );
activeinactive_timeline.setCurveShape( TimeLine::EaseInOutCurve );
activeinactive_timeline.setDuration( animationTime( conf, "Duration", 800 ) );
// Repaint the screen just in case the user changed the inactive opacity
effects->addRepaintFull();
}
void MakeTransparentEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, int time )
@ -75,6 +78,8 @@ void MakeTransparentEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData&
// don't clear PAINT_WINDOW_OPAQUE, contents are not affected
data.clip &= w->contentsRect().translated( w->pos()); // decoration cannot clip
}
if( inactive != 1.0 && isInactive( w ))
data.setTranslucent();
if(( moveresize != 1.0 && ( w->isUserMove() || w->isUserResize()))
|| ( dialogs != 1.0 && w->isDialog()))
{