Fixed StarDictPlugin integration with other stardict classes
[mdictionary] / src / plugins / stardict / TranslationStarDict.cpp
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
5     mDictionary is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     mDictionary is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21 /*! \file TranslationXdxf.cpp
22     \author Jakub Jaszczynski <j.j.jaszczynski@gmail.com>
23 */
24
25
26 #include "TranslationStarDict.h"
27 #include <QDebug>
28
29 TranslationStarDict::TranslationStarDict():_key(""),_dictionaryInfo("") {
30     starDictPlugin=0;
31 }
32
33 TranslationStarDict::TranslationStarDict(QString _key, QString _dictionaryInfo,
34          StarDictPlugin *starDictPlugin): _key(_key),_dictionaryInfo(_dictionaryInfo) {
35     this->starDictPlugin=starDictPlugin;
36     if(starDictPlugin)
37         _dictHash = starDictPlugin->hash();
38     _bookmark=0;
39 }
40
41
42 TranslationStarDict::TranslationStarDict(const TranslationStarDict &base) {
43     _key = base.key();
44     _dictHash = base._dictHash;
45     _dictionaryInfo = base._dictionaryInfo;
46     lengths = base.lengths;
47     offsets = base.offsets;
48 }
49
50
51 void TranslationStarDict::add(qint64 offset, qint32 len) {
52     offsets.append(offset);
53     lengths.append(len);
54 }
55
56
57 QString TranslationStarDict::key() const {
58     return _key;
59 }
60
61 QString TranslationStarDict::toXml() const {
62     QString result("");
63     if(!starDictPlugin)
64         return result;
65
66     result=result + "<dict> <info path=\"/usr/share/mdictionary/xdxf.png\" ";
67     if(isBookmark())
68         result+= " bookmark=\"true\" > \n";
69     else
70         result+= " bookmark=\"false\" > \n";
71     result+= _dictionaryInfo + "</info>" + starDictPlugin->search(_key) + "</dict>";
72     return result.replace("&","&amp;");
73 }
74
75 void TranslationStarDict::setKey(QString _key) {
76     this->_key=_key;
77 }
78
79 void TranslationStarDict::setDictionaryInfo(QString _dictionaryInfo) {
80     this->_dictionaryInfo=_dictionaryInfo;
81 }
82