diff --git a/runnermanager.cpp b/runnermanager.cpp index b94b14096..277065e0b 100644 --- a/runnermanager.cpp +++ b/runnermanager.cpp @@ -190,9 +190,16 @@ public: Private(RunnerManager *parent) : q(parent) { + matchChangeTimer.setSingleShot(true); + connect(&matchChangeTimer, SIGNAL(timeout()), q, SLOT(scheduleMatchesChanged())); connect(&context, SIGNAL(matchesChanged()), q, SLOT(matchesChanged())); } + void scheduleMatchesChanged() + { + matchChangeTimer.start(100); + } + void matchesChanged() { emit q->matchesChanged(context.matches()); @@ -268,6 +275,7 @@ public: RunnerManager *q; RunnerContext context; + QTimer matchChangeTimer; AbstractRunner::List runners; QList searchJobs; QStringList prioritylist;