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:
Karol Szwed 2001-06-04 14:01:00 +00:00
parent 3ecb89d03f
commit 9c0f71e601
2 changed files with 16 additions and 2 deletions

View file

@ -368,6 +368,8 @@ void Workspace::init()
connect(&resetTimer, SIGNAL(timeout()), this,
SLOT(slotResetAllClients()));
connect(&reconfigureTimer, SIGNAL(timeout()), this,
SLOT(slotReconfigure()));
connect(mgr, SIGNAL(resetAllClients()), this,
SLOT(slotResetAllClients()));
@ -1755,11 +1757,18 @@ void Workspace::unclutterDesktop()
}
void Workspace::reconfigure()
{
reconfigureTimer.start(200, true);
}
/*!
Reread settings
*/
void Workspace::reconfigure()
void Workspace::slotReconfigure()
{
reconfigureTimer.stop();
KGlobal::config()->reparseConfiguration();
options->reload();
keys->readSettings();

View file

@ -150,6 +150,7 @@ public:
void raiseClient( Client* c );
void lowerClient( Client* c );
void raiseOrLowerClient( Client * );
void reconfigure();
void clientHidden( Client* );
@ -208,7 +209,6 @@ public:
// dcop interface
void cascadeDesktop();
void unclutterDesktop();
void reconfigure();
void doNotManage(QString);
void setCurrentDesktop( int new_desktop );
@ -269,6 +269,8 @@ public slots:
void slotResetAllClientsDelayed();
void slotResetAllClients();
void slotReconfigure();
void slotKillWindow();
private slots:
@ -400,6 +402,9 @@ private:
// Timer to collect requests for 'ResetAllClients'
QTimer resetTimer;
// Timer to collect requests for 'reconfigure'
QTimer reconfigureTimer;
QTimer focusEnsuranceTimer;
WorkspacePrivate* d;