Handle a rather unusual usage KMenuBar usage in amarok - parent widget

is first created toplevel, then reparented to become one tab widget.
CCMAIL: 81620-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=333232
This commit is contained in:
Luboš Luňák 2004-07-27 13:13:52 +00:00
parent 9f5920a134
commit 37f682c907
2 changed files with 3 additions and 1 deletions

View file

@ -419,6 +419,8 @@ void Client::setTransient( Window new_transient_for_id )
transient_for->addTransient( this ); transient_for->addTransient( this );
} // checkGroup() will check 'check_active_modal' } // checkGroup() will check 'check_active_modal'
checkGroup( NULL, true ); // force, because transiency has changed checkGroup( NULL, true ); // force, because transiency has changed
if( isTopMenu())
workspace()->updateCurrentTopMenu();
workspace()->updateClientLayer( this ); workspace()->updateClientLayer( this );
} }
} }

View file

@ -245,6 +245,7 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine
bool managingTopMenus() const; bool managingTopMenus() const;
int topMenuHeight() const; int topMenuHeight() const;
void updateCurrentTopMenu();
int packPositionLeft( const Client* cl, int oldx, bool left_edge ) const; int packPositionLeft( const Client* cl, int oldx, bool left_edge ) const;
int packPositionRight( const Client* cl, int oldx, bool right_edge ) const; int packPositionRight( const Client* cl, int oldx, bool right_edge ) const;
@ -369,7 +370,6 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine
bool allowFullClientRaising( const Client* c, Time timestamp ); bool allowFullClientRaising( const Client* c, Time timestamp );
bool keepTransientAbove( const Client* mainwindow, const Client* transient ); bool keepTransientAbove( const Client* mainwindow, const Client* transient );
void blockStackingUpdates( bool block ); void blockStackingUpdates( bool block );
void updateCurrentTopMenu();
void addTopMenu( Client* c ); void addTopMenu( Client* c );
void removeTopMenu( Client* c ); void removeTopMenu( Client* c );
void setupTopMenuHandling(); void setupTopMenuHandling();