Making reconfigure() timer buffered so that we don't get flooded with
too many reconfigure events at once, which would re-client all windows multiple times and cause lots of ugly flicker. svn path=/trunk/kdebase/kwin/; revision=100375
This commit is contained in:
parent
3ecb89d03f
commit
9c0f71e601
2 changed files with 16 additions and 2 deletions
|
@ -368,6 +368,8 @@ void Workspace::init()
|
||||||
|
|
||||||
connect(&resetTimer, SIGNAL(timeout()), this,
|
connect(&resetTimer, SIGNAL(timeout()), this,
|
||||||
SLOT(slotResetAllClients()));
|
SLOT(slotResetAllClients()));
|
||||||
|
connect(&reconfigureTimer, SIGNAL(timeout()), this,
|
||||||
|
SLOT(slotReconfigure()));
|
||||||
|
|
||||||
connect(mgr, SIGNAL(resetAllClients()), this,
|
connect(mgr, SIGNAL(resetAllClients()), this,
|
||||||
SLOT(slotResetAllClients()));
|
SLOT(slotResetAllClients()));
|
||||||
|
@ -1755,11 +1757,18 @@ void Workspace::unclutterDesktop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Workspace::reconfigure()
|
||||||
|
{
|
||||||
|
reconfigureTimer.start(200, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Reread settings
|
Reread settings
|
||||||
*/
|
*/
|
||||||
void Workspace::reconfigure()
|
void Workspace::slotReconfigure()
|
||||||
{
|
{
|
||||||
|
reconfigureTimer.stop();
|
||||||
KGlobal::config()->reparseConfiguration();
|
KGlobal::config()->reparseConfiguration();
|
||||||
options->reload();
|
options->reload();
|
||||||
keys->readSettings();
|
keys->readSettings();
|
||||||
|
|
|
@ -150,6 +150,7 @@ public:
|
||||||
void raiseClient( Client* c );
|
void raiseClient( Client* c );
|
||||||
void lowerClient( Client* c );
|
void lowerClient( Client* c );
|
||||||
void raiseOrLowerClient( Client * );
|
void raiseOrLowerClient( Client * );
|
||||||
|
void reconfigure();
|
||||||
|
|
||||||
void clientHidden( Client* );
|
void clientHidden( Client* );
|
||||||
|
|
||||||
|
@ -208,7 +209,6 @@ public:
|
||||||
// dcop interface
|
// dcop interface
|
||||||
void cascadeDesktop();
|
void cascadeDesktop();
|
||||||
void unclutterDesktop();
|
void unclutterDesktop();
|
||||||
void reconfigure();
|
|
||||||
void doNotManage(QString);
|
void doNotManage(QString);
|
||||||
void setCurrentDesktop( int new_desktop );
|
void setCurrentDesktop( int new_desktop );
|
||||||
|
|
||||||
|
@ -269,6 +269,8 @@ public slots:
|
||||||
void slotResetAllClientsDelayed();
|
void slotResetAllClientsDelayed();
|
||||||
void slotResetAllClients();
|
void slotResetAllClients();
|
||||||
|
|
||||||
|
void slotReconfigure();
|
||||||
|
|
||||||
void slotKillWindow();
|
void slotKillWindow();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
@ -400,6 +402,9 @@ private:
|
||||||
// Timer to collect requests for 'ResetAllClients'
|
// Timer to collect requests for 'ResetAllClients'
|
||||||
QTimer resetTimer;
|
QTimer resetTimer;
|
||||||
|
|
||||||
|
// Timer to collect requests for 'reconfigure'
|
||||||
|
QTimer reconfigureTimer;
|
||||||
|
|
||||||
QTimer focusEnsuranceTimer;
|
QTimer focusEnsuranceTimer;
|
||||||
|
|
||||||
WorkspacePrivate* d;
|
WorkspacePrivate* d;
|
||||||
|
|
Loading…
Reference in a new issue