Tried improve performances during title transitions by triggering updates of the title area only.

svn path=/trunk/KDE/kdebase/workspace/; revision=1154145
This commit is contained in:
Hugo Pereira Da Costa 2010-07-24 21:45:25 +00:00
parent 111db93e05
commit 8762a1ac55
3 changed files with 11 additions and 6 deletions

View file

@ -124,7 +124,7 @@ namespace Oxygen
// title animation data // title animation data
titleAnimationData_.data()->initialize(); titleAnimationData_.data()->initialize();
connect( titleAnimationData_.data(), SIGNAL( pixmapsChanged() ), widget(), SLOT( update( void ) ) ); connect( titleAnimationData_.data(), SIGNAL( pixmapsChanged() ), SLOT( updateTitleRect() ) );
// lists // lists
connect( itemData_.animation().data(), SIGNAL( finished() ), this, SLOT( clearTargetItem() ) ); connect( itemData_.animation().data(), SIGNAL( finished() ), this, SLOT( clearTargetItem() ) );
@ -1695,7 +1695,7 @@ namespace Oxygen
itemData_.setDirty( true ); itemData_.setDirty( true );
moveItemInClientGroup( from, itemClicked ); moveItemInClientGroup( from, itemClicked );
widget()->update(); updateTitleRect();
} else { } else {

View file

@ -205,6 +205,12 @@ namespace Oxygen
//! resize event //! resize event
virtual void resizeEvent(QResizeEvent *e); virtual void resizeEvent(QResizeEvent *e);
public slots:
//! triggers widget update in titleRect only
void updateTitleRect( void )
{ widget()->update( titleRect() ); }
protected: protected:
//! return shadow cache key associated to this client //! return shadow cache key associated to this client

View file

@ -283,7 +283,6 @@ namespace Oxygen
{ {
// move close buttons // move close buttons
// this should move to ClientGroupItemDataList
if( alsoUpdate ) client_.widget()->setUpdatesEnabled( false ); if( alsoUpdate ) client_.widget()->setUpdatesEnabled( false );
for( int index = 0; index < count(); index++ ) for( int index = 0; index < count(); index++ )
{ {
@ -312,7 +311,7 @@ namespace Oxygen
if( alsoUpdate ) if( alsoUpdate )
{ {
client_.widget()->setUpdatesEnabled( true ); client_.widget()->setUpdatesEnabled( true );
client_.widget()->update(); client_.updateTitleRect();
} }
} }