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

svn path=/trunk/KDE/kdebase/workspace/; revision=1154145
icc-effect-5.14.5
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
titleAnimationData_.data()->initialize();
connect( titleAnimationData_.data(), SIGNAL( pixmapsChanged() ), widget(), SLOT( update( void ) ) );
connect( titleAnimationData_.data(), SIGNAL( pixmapsChanged() ), SLOT( updateTitleRect() ) );
// lists
connect( itemData_.animation().data(), SIGNAL( finished() ), this, SLOT( clearTargetItem() ) );
@ -1695,8 +1695,8 @@ namespace Oxygen
itemData_.setDirty( true );
moveItemInClientGroup( from, itemClicked );
widget()->update();
updateTitleRect();
} else {
setForceActive( true );

View File

@ -204,6 +204,12 @@ namespace Oxygen
//! resize event
virtual void resizeEvent(QResizeEvent *e);
public slots:
//! triggers widget update in titleRect only
void updateTitleRect( void )
{ widget()->update( titleRect() ); }
protected:
@ -365,7 +371,7 @@ namespace Oxygen
//! clear force active flag
void clearForceActive( void )
{ if( isActive() ) setForceActive( false ); }
//! title bounding rects
/*! calculate and return title bounding rects in case of tabbed window */
void updateItemBoundingRects( bool alsoUpdate = true );

View File

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