that one little change removes 90% of updates.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=804801
This commit is contained in:
Aaron J. Seigo 2008-05-06 22:42:01 +00:00
parent 307e1bdb59
commit 276b012adf

View File

@ -190,9 +190,16 @@ public:
Private(RunnerManager *parent) Private(RunnerManager *parent)
: q(parent) : q(parent)
{ {
matchChangeTimer.setSingleShot(true);
connect(&matchChangeTimer, SIGNAL(timeout()), q, SLOT(scheduleMatchesChanged()));
connect(&context, SIGNAL(matchesChanged()), q, SLOT(matchesChanged())); connect(&context, SIGNAL(matchesChanged()), q, SLOT(matchesChanged()));
} }
void scheduleMatchesChanged()
{
matchChangeTimer.start(100);
}
void matchesChanged() void matchesChanged()
{ {
emit q->matchesChanged(context.matches()); emit q->matchesChanged(context.matches());
@ -268,6 +275,7 @@ public:
RunnerManager *q; RunnerManager *q;
RunnerContext context; RunnerContext context;
QTimer matchChangeTimer;
AbstractRunner::List runners; AbstractRunner::List runners;
QList<ThreadWeaver::Job*> searchJobs; QList<ThreadWeaver::Job*> searchJobs;
QStringList prioritylist; QStringList prioritylist;