Only scale in normal windows (!w->isSpecialWindow()).

svn path=/trunk/KDE/kdebase/workspace/; revision=802484
This commit is contained in:
Sebastian Kügler 2008-04-29 16:20:48 +00:00
parent d35fe96770
commit 5a955fbb97
2 changed files with 10 additions and 1 deletions

View file

@ -47,7 +47,7 @@ void ScaleInEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& data, i
void ScaleInEffect::paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data ) void ScaleInEffect::paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data )
{ {
if( windows.contains( w )) if( windows.contains( w ) && isScaleWindow( w ) )
{ {
data.xScale *= windows[ w ]; data.xScale *= windows[ w ];
data.yScale *= windows[ w ]; data.yScale *= windows[ w ];
@ -57,6 +57,14 @@ void ScaleInEffect::paintWindow( EffectWindow* w, int mask, QRegion region, Wind
effects->paintWindow( w, mask, region, data ); effects->paintWindow( w, mask, region, data );
} }
bool ScaleInEffect::isScaleWindow( EffectWindow* w )
{
// TODO: isSpecialWindow is rather generic, maybe tell windowtypes separately?
if ( w->isPopupMenu() || w->isSpecialWindow() )
return false;
return true;
}
void ScaleInEffect::postPaintWindow( EffectWindow* w ) void ScaleInEffect::postPaintWindow( EffectWindow* w )
{ {
if( windows.contains( w )) if( windows.contains( w ))

View file

@ -38,6 +38,7 @@ class ScaleInEffect
virtual void windowAdded( EffectWindow* c ); virtual void windowAdded( EffectWindow* c );
virtual void windowClosed( EffectWindow* c ); virtual void windowClosed( EffectWindow* c );
private: private:
bool isScaleWindow ( EffectWindow* w );
QHash< const EffectWindow*, double > windows; QHash< const EffectWindow*, double > windows;
}; };