Clean and order documentation in source files. Source ready to beta 2 release
[mdictionary] / src / plugins / stardict / TranslationStarDict.cpp
index 0feb306..828c277 100644 (file)
     Copyright 2010 Comarch S.A.
 
 *******************************************************************************/
-/*! \file TranslationXdxf.cpp
+/*!
+    \file TranslationStarDict.cpp
+    \brief Implementation of stardict plugin's translation.
+
     \author Jakub Jaszczynski <j.j.jaszczynski@gmail.com>
 */
 
-
 #include "TranslationStarDict.h"
 #include <QDebug>
 
+
 TranslationStarDict::TranslationStarDict():_key(""),_dictionaryInfo("") {
     starDictPlugin=0;
 }
 
+
 TranslationStarDict::TranslationStarDict(QString _key, QString _dictionaryInfo,
          StarDictPlugin *starDictPlugin): _key(_key),_dictionaryInfo(_dictionaryInfo) {
     this->starDictPlugin=starDictPlugin;
@@ -45,6 +49,7 @@ TranslationStarDict::TranslationStarDict(const TranslationStarDict &base) {
     _dictionaryInfo = base._dictionaryInfo;
     lengths = base.lengths;
     offsets = base.offsets;
+    starDictPlugin = base.starDictPlugin;
 }
 
 
@@ -58,24 +63,36 @@ QString TranslationStarDict::key() const {
     return _key;
 }
 
+
 QString TranslationStarDict::toXml() const {
     QString result("");
     if(!starDictPlugin)
         return result;
 
-    result=result + "<dict> <info path=\"/usr/share/mdictionary/stardict.png\" ";
-    if(isBookmark())
-        result+= " bookmark=\"true\" > \n";
-    else
-        result+= " bookmark=\"false\" > \n";
-    result+= _dictionaryInfo + "</info>" + starDictPlugin->search(_key) + "</dict>";
-    return result.replace("&","&amp;");
+    for(int i = 0; i < offsets.size(); i++) {
+        result=result + "<dict> <info path=\"/usr/share/mdictionary/stardict.png\" ";
+        if(isBookmark())
+            result+= " bookmark=\"true\" > \n";
+        else
+            result+= " bookmark=\"false\" > \n";
+            if(_dictionaryInfo.isEmpty())
+                result+= "starDict dictionary </info>";
+            else
+                result+= _dictionaryInfo +"</info>";
+
+            /*conwert returned string to XML format*/
+            result+=starDictPlugin->search(_key, offsets.at(i), lengths.at(i));
+            result+= "</dict>";
+   }
+   return result;
 }
 
+
 void TranslationStarDict::setKey(QString _key) {
     this->_key=_key;
 }
 
+
 void TranslationStarDict::setDictionaryInfo(QString _dictionaryInfo) {
     this->_dictionaryInfo=_dictionaryInfo;
 }