[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesdk/kbabel/kbabeldict/modules/dbsearchengine
From: Stanislav Višňovský <visnovsky () nenya ! ms ! mff ! cuni ! cz
Date: 2005-02-07 11:51:12
Message-ID: 20050207115112.F0CE41CF37 () office ! kde ! org
[Download RAW message or body]
CVS commit by nanulo:
- better responsiveness
- handle stop search in all cases
M +36 -13 KDBSearchEngine.cpp 1.89
--- kdesdk/kbabel/kbabeldict/modules/dbsearchengine/KDBSearchEngine.cpp #1.88:1.89
@@ -4,4 +4,5 @@
begin : Fri Sep 8 2000
copyright : (C) 2000 by Andrea Rizzi
+ (C) 2005 by Stanislav Visnovsky
email : rizzi@kde.org
***************************************************************************/
@@ -727,9 +728,31 @@ KDBSearchEngine::startSearchNow (int sea
{
goodkeys = searchWords (mainRequest, thre, threorig, listmax); //FIX IT, mainReq?
+ if (stopNow)
+ {
+ stopNow = false;
+ searching = false;
+ emit finished ();
+ return false;
+ }
if (goodkeys.count () == 0)
gk = false; // if no good keys, use the whole database
}
+
+ // prepare progress values
totalprogress = gk ? goodkeys.count () : totalRecord;
int step = (totalprogress / 30) + 1;
+ if( step > 100 )
+ step = 100;
+
+ emit progress (0);
+ kapp->processEvents (100);
+ if (stopNow)
+ {
+ stopNow = false;
+ searching = false;
+ emit finished ();
+ return true; // No error, stopped!
+ }
+
for (item = gk ? (dm->getItem (goodkeys[0])) : (dm->firstItem ());
@@ -745,5 +767,5 @@ KDBSearchEngine::startSearchNow (int sea
totalprogress /*,1) */ );
kapp->processEvents (100);
- }
+
if (stopNow)
{
@@ -753,4 +775,5 @@ KDBSearchEngine::startSearchNow (int sea
return true; // No error, stopped!
}
+ }
// fprintf(stderr,"%s\n",(const char *)item.key.utf8());
@@ -859,7 +881,4 @@ KDBSearchEngine::startSearchNow (int sea
{
-// kdDebug(0) << QString("Found") << endl;
-
-
if (equal)
foundExact = true;
@@ -1689,4 +1708,8 @@ QValueList < KeyAndScore > KDBSearchEngi
kapp->processEvents (100);
}
+ if (stopNow)
+ {
+ return keylist;
+ }
currentloc[j]++;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic