add change from searchFile to searchCache in XdxfPlugin
authorJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Wed, 18 Aug 2010 09:41:20 +0000 (11:41 +0200)
committerJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Wed, 18 Aug 2010 09:41:20 +0000 (11:41 +0200)
trunk/src/plugins/xdxf/src/xdxfplugin.cpp

index 53fc66d..af10ad3 100644 (file)
@@ -122,17 +122,17 @@ QList<Translation*> XdxfPlugin::searchWordListFile(QString word, int limit) {
         return translations.toList();
     }
 
-    QXmlStreamReader dictionaryReader(&dictionaryFile);
+    QXmlStreamReader reader(&dictionaryFile);
     /*search words list*/
     QString a;
     int i=0;
-    while(!dictionaryReader.atEnd() && !stopped){
-        dictionaryReader.readNextStartElement();
-        if(dictionaryReader.name()=="ar") {
-            while(dictionaryReader.name()!="k" && !dictionaryReader.atEnd())
-                dictionaryReader.readNextStartElement();
-            if(!dictionaryReader.atEnd())
-                a = dictionaryReader.readElementText();
+    while(!reader.atEnd() && !stopped){
+        reader.readNextStartElement();
+        if(reader.name()=="ar") {
+            while(reader.name()!="k" && !reader.atEnd())
+                reader.readNextStartElement();
+            if(!reader.atEnd())
+                a = reader.readElementText();
             if(regWord.exactMatch(removeAccents(a)) && (i<limit || limit==0)) {
                 bool ok=true;
                 Translation *tran;
@@ -194,37 +194,37 @@ QString XdxfPlugin::searchFile(QString key) {
         qDebug()<<"Error: could not open file";
         return "";
     }
-    QXmlStreamReader dictionaryReader(&dictionaryFile);
+    QXmlStreamReader reader(&dictionaryFile);
 
 
     QString a;
 
     bool match =false;
     stopped = false;
-    while (!dictionaryReader.atEnd()&& !stopped) {
-        dictionaryReader.readNext();
-        if(dictionaryReader.tokenType() == QXmlStreamReader::StartElement) {
-            if(dictionaryReader.name()=="k") {
-                a = dictionaryReader.readElementText();
+    while (!reader.atEnd()&& !stopped) {
+        reader.readNext();
+        if(reader.tokenType() == QXmlStreamReader::StartElement) {
+            if(reader.name()=="k") {
+                a = reader.readElementText();
                 if(a==key)
                     match = true;
             }
         }
         if(match) {
             QString temp("");
-            while(dictionaryReader.name()!="ar" && !dictionaryReader.atEnd()) {
-                if(dictionaryReader.name()!="" && dictionaryReader.name()!="k") {
-                    if(dictionaryReader.tokenType()==QXmlStreamReader::EndElement)
+            while(reader.name()!="ar" && !reader.atEnd()) {
+                if(reader.name()!="" && reader.name()!="k") {
+                    if(reader.tokenType()==QXmlStreamReader::EndElement)
                         temp+=tr("</");
-                    if(dictionaryReader.tokenType()==QXmlStreamReader::StartElement)
+                    if(reader.tokenType()==QXmlStreamReader::StartElement)
                         temp+=tr("<");
-                    temp+=dictionaryReader.name().toString();
-                    if(dictionaryReader.name().toString()=="c" && dictionaryReader.tokenType()==QXmlStreamReader::StartElement)
-                       temp= temp + tr(" c=\"") + dictionaryReader.attributes().value(tr("c")).toString() + tr("\""); // + dictionaryReader.attributes().value(tr("c")); // + tr("\"");
+                    temp+=reader.name().toString();
+                    if(reader.name().toString()=="c" && reader.tokenType()==QXmlStreamReader::StartElement)
+                       temp= temp + tr(" c=\"") + reader.attributes().value(tr("c")).toString() + tr("\"");
                     temp+=tr(">");
                 }
-                temp+= dictionaryReader.text().toString();
-                dictionaryReader.readNext();
+                temp+= reader.text().toString();
+                reader.readNext();
             }
             resultString+=tr("<t>") + temp.replace("\n","") + tr("</t>");
             match=false;
@@ -327,20 +327,20 @@ void XdxfPlugin::getDictionaryInfo() {
         return;
     }
 
-    QXmlStreamReader dictionaryReader(&dictionaryFile);
-    dictionaryReader.readNextStartElement();
-    if(dictionaryReader.name()=="xdxf") {
-      if(dictionaryReader.attributes().hasAttribute("lang_from"))
-        _langFrom = dictionaryReader.attributes().value("lang_from").toString();
-      if(dictionaryReader.attributes().hasAttribute("lang_to"))
-        _langTo = dictionaryReader.attributes().value("lang_to").toString();
+    QXmlStreamReader reader(&dictionaryFile);
+    reader.readNextStartElement();
+    if(reader.name()=="xdxf") {
+      if(reader.attributes().hasAttribute("lang_from"))
+        _langFrom = reader.attributes().value("lang_from").toString();
+      if(reader.attributes().hasAttribute("lang_to"))
+        _langTo = reader.attributes().value("lang_to").toString();
     }
-    dictionaryReader.readNextStartElement();
-    if(dictionaryReader.name()=="full_name")
-        _name=dictionaryReader.readElementText();
-    dictionaryReader.readNextStartElement();
-    if(dictionaryReader.name()=="description")
-        _infoNote=dictionaryReader.readElementText();
+    reader.readNextStartElement();
+    if(reader.name()=="full_name")
+        _name=reader.readElementText();
+    reader.readNextStartElement();
+    if(reader.name()=="description")
+        _infoNote=reader.readElementText();
 
     dictionaryFile.close();
 }
@@ -451,35 +451,35 @@ bool XdxfPlugin::makeCache(QString dir) {
                 match = true;
             }
         }
-        else if(reader.tokenType() == QXmlStreamReader::Characters) {
-             if(match) {
-                QString temp("");
-                while(reader.name()!="ar" && !reader.atEnd()) {
-                    if(reader.name()!="") {
-                        if(reader.tokenType()==QXmlStreamReader::EndElement)
-                            temp+=tr("</");
-                        if(reader.tokenType()==QXmlStreamReader::StartElement)
-                            temp+=tr("<");
-                        temp=temp+reader.name().toString() + tr(">");
-                    }
-                    temp+= reader.text().toString();
-                    reader.readNext();
-                }
-                temp=tr("<t>") + temp.replace("\n","") + tr("</t>");
-                match = false;
-                cur.prepare("insert into dict values(?,?)");
-                cur.addBindValue(a);
-                cur.addBindValue(temp);
-                cur.exec();
-                counter++;
-                int prog = counter*100/_wordsCount;
-                if(prog % 5 == 0 && lastProg != prog) {
-                    Q_EMIT updateCachingProgress(prog,
-                                                 timer.restart());
-                    lastProg = prog;
+        if(match) {
+            QString temp("");
+            while(reader.name()!="ar" && !reader.atEnd()) {
+                if(reader.name()!="" && reader.name()!="k") {
+                    if(reader.tokenType()==QXmlStreamReader::EndElement)
+                        temp+=tr("</");
+                    if(reader.tokenType()==QXmlStreamReader::StartElement)
+                        temp+=tr("<");
+                    temp+=reader.name().toString();
+                    if(reader.name().toString()=="c" && reader.tokenType()==QXmlStreamReader::StartElement)
+                       temp= temp + tr(" c=\"") + reader.attributes().value(tr("c")).toString() + tr("\"");
+                    temp+=tr(">");
                 }
+                temp+= reader.text().toString();
+                reader.readNext();
+            }
+            temp += tr("<t>") + temp.replace("\n","") + tr("</t>");
+            match=false;
+            cur.prepare("insert into dict values(?,?)");
+            cur.addBindValue(a);
+            cur.addBindValue(temp);
+            cur.exec();
+            counter++;
+            int prog = counter*100/_wordsCount;
+            if(prog % 5 == 0 && lastProg != prog) {
+                Q_EMIT updateCachingProgress(prog,
+                                             timer.restart());
+                lastProg = prog;
             }
-
         }
     }