[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/krunner/interfaces/default
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2010-09-12 22:19:56
Message-ID: 20100912221956.3E7CBAC887 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1174602 by aseigo:

if we delay the query, but then we aren't actually running the query, and we have a \
delayed run in the pipe, try it again BUG:250582


 M  +12 -0     interface.cpp  


--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/interface.cpp \
#1174601:1174602 @@ -369,6 +369,7 @@
 void Interface::resetInterface()
 {
     setStaticQueryMode(false);
+    kDebug() << "resetting delayed run";
     m_delayedRun = false;
     m_searchTerm->setCurrentItem(QString(), true, 0);
     m_singleRunnerSearchTerm->clear();
@@ -441,11 +442,13 @@
 void Interface::run(ResultItem *item)
 {
     if (!item || !item->isValid() || item->group() < \
Plasma::QueryMatch::PossibleMatch) { +        kDebug() << "delaying run";
         m_delayedRun = true;
         return;
     }
 
     kDebug() << item->name() << item->id();
+    kDebug() << "resetting delayed run";
     m_delayedRun = false;
 
     if (item->group() == Plasma::QueryMatch::InformationalMatch) {
@@ -499,14 +502,17 @@
 void Interface::runDefaultResultItem()
 {
     if (m_queryRunning || m_delayedQueryTimer.isActive()) {
+        kDebug() << "delaying run here" << m_queryRunning << \
m_delayedQueryTimer.isActive();  m_delayedRun = true;
     } else {
+        kDebug() << "fall through";
         run(m_resultsScene->defaultResultItem());
     }
 }
 
 void Interface::queryTextEdited(const QString &query)
 {
+    kDebug() << "resetting delayed run";
     m_delayedRun = false;
 
     if (query.isEmpty() && !m_runnerManager->singleMode()) {
@@ -526,10 +532,15 @@
     if (m_runnerManager->singleMode()) {
         runnerId = m_runnerManager->singleModeRunnerId();
     }
+
     if (!query.isEmpty() || m_runnerManager->singleMode()) {
         m_queryRunning = m_resultsScene->launchQuery(query, runnerId) || \
m_queryRunning; //lazy OR?  }
+
+    if (!m_queryRunning && m_delayedRun) {
+        runDefaultResultItem();
 }
+}
 
 void Interface::matchCountChanged(int count)
 {
@@ -584,6 +595,7 @@
         //kDebug() << s << size();
     } else {
         //kDebug() << "hiding ... eventually";
+    kDebug() << "resetting delayed run";
         m_delayedRun = false;
         m_hideResultsTimer.start(1000);
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic