read color atribute in xdxfPlugin
authorJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Wed, 18 Aug 2010 09:34:12 +0000 (11:34 +0200)
committerJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Wed, 18 Aug 2010 09:34:12 +0000 (11:34 +0200)
trunk/src/plugins/xdxf/src/xdxfplugin.cpp
trunk/src/plugins/xdxf/tests/dict.xdxf
trunk/src/plugins/xdxf/tests/test.cpp

index ad8887c..53fc66d 100644 (file)
@@ -128,7 +128,7 @@ QList<Translation*> XdxfPlugin::searchWordListFile(QString word, int limit) {
     int i=0;
     while(!dictionaryReader.atEnd() && !stopped){
         dictionaryReader.readNextStartElement();
-        if(dictionaryReader.name()=="ar"){
+        if(dictionaryReader.name()=="ar") {
             while(dictionaryReader.name()!="k" && !dictionaryReader.atEnd())
                 dictionaryReader.readNextStartElement();
             if(!dictionaryReader.atEnd())
@@ -210,48 +210,24 @@ QString XdxfPlugin::searchFile(QString key) {
                     match = true;
             }
         }
-        else if(dictionaryReader.tokenType() == QXmlStreamReader::Characters) {
-            if(match) {
- /*             QString temp(dictionaryReader.text().toString());
-                if(temp=="\n")
-                    temp=dictionaryReader.readElementText();
-                temp.replace("\n","");
-                if(temp == ""){
-                    int i=0;
-                    while(dictionaryReader.name()!="ar"&&
-                                !dictionaryReader.atEnd()){
-                        dictionaryReader.readNext();
-                        if(dictionaryReader.name()!="" &&
-                                         dictionaryReader.name()!="ar") {
-                            if(dictionaryReader.tokenType()==QXmlStreamReader::EndElement)
-                                temp+=tr("</");
-                            if(dictionaryReader.tokenType()==QXmlStreamReader::StartElement)
-                                temp+=tr("<");
-                            qDebug()<<dictionaryReader.tokenType();
-                            temp=temp+dictionaryReader.name().toString() + tr(">");
-                            i++;
-                        }
-                        temp+=dictionaryReader.text().toString();
-                    }
-                }
-                resultString+=temp.replace("\n","")+"\n";
-                match=false;
-*/
-                QString temp("");
-                while(dictionaryReader.name()!="ar" && !dictionaryReader.atEnd()) {
-                    if(dictionaryReader.name()!="") {
-                        if(dictionaryReader.tokenType()==QXmlStreamReader::EndElement)
-                            temp+=tr("</");
-                        if(dictionaryReader.tokenType()==QXmlStreamReader::StartElement)
-                            temp+=tr("<");
-                        temp=temp+dictionaryReader.name().toString() + tr(">");
-                    }
-                    temp+= dictionaryReader.text().toString();
-                    dictionaryReader.readNext();
+        if(match) {
+            QString temp("");
+            while(dictionaryReader.name()!="ar" && !dictionaryReader.atEnd()) {
+                if(dictionaryReader.name()!="" && dictionaryReader.name()!="k") {
+                    if(dictionaryReader.tokenType()==QXmlStreamReader::EndElement)
+                        temp+=tr("</");
+                    if(dictionaryReader.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+=tr(">");
                 }
-                resultString+=tr("<t>") + temp.replace("\n","") + tr("</t>");
-                match=false;
+                temp+= dictionaryReader.text().toString();
+                dictionaryReader.readNext();
             }
+            resultString+=tr("<t>") + temp.replace("\n","") + tr("</t>");
+            match=false;
         }
         this->thread()->yieldCurrentThread();
     }
index d1b7d73..acd02f0 100644 (file)
@@ -19,6 +19,5 @@ sto</ar>
 tysišc</ar>
 <ar><k>house</k>
 dom</ar>
-<ar><k>test</k>
-<pos>krowa</pos>test01</ar>
+<ar><k>test</k><c c="FF00FF">kro</c>test01<pos>krowa</pos></ar>
 </xdxf>
index 77b7d9d..45020ee 100644 (file)
@@ -46,7 +46,7 @@ void XdxfTest::search() {
     QCOMPARE(xdxfPlugin->search("."), QString("<t>kropka</t>"));
     QCOMPARE(xdxfPlugin->search("1"), QString("<t>one</t>"));
 
-    QCOMPARE(xdxfPlugin->search("test"), QString("<t><pos>krowa</pos>test01</t>"));
+    QCOMPARE(xdxfPlugin->search("test"), QString("<t><c c=\"FF00FF\">kro</c>test01<pos>krowa</pos></t>"));
 }
 
 void XdxfTest::searchWordList() {