Fixed StarDictPlugin integration with other stardict classes
[mdictionary] / src / plugins / stardict / TranslationStarDict.h
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.h
22 */
23 #ifndef TRANSLATIONSTARDICT_H
24 #define TRANSLATIONSTARDICT_H
25
26 #include <QString>
27 #include <QHash>
28 #include <QDebug>
29 #include <QTranslator>
30 #include <QCoreApplication>
31 #include <QThread>
32 #include <QSet>
33
34 #include "StarDictReaderFactory.h"
35 #include "../../include/translation.h"
36 #include "StarDictPlugin.h"
37 #include "../../include/Notify.h"
38 #include "TranslationStarDict.h"
39
40 class TranslationStarDict : public Translation
41 {
42 public:
43     TranslationStarDict();
44     TranslationStarDict(QString _key,
45                     QString _dictionaryInfo,
46                     StarDictPlugin *starDictPlugin);
47     TranslationStarDict(const TranslationStarDict &base);
48
49     //! \return word to be translated
50     QString key() const;
51
52     //! \return parsed raw format into xml
53     QString toXml() const;
54
55     /*! sets the word for which we want to find a translation
56         \param word for which we want to find a translation */
57     void setKey(QString);
58
59     //! sets information about dictionary
60     void setDictionaryInfo(QString);
61
62     //! \return whether given translation is taken from bookmarks
63     int isBookmark() const {
64         return _bookmark;
65    }
66
67     //! returns corresponding dict object
68     uint dict() const {return _dictHash;}
69
70     /*! Add another hit in *.id(x) file
71         \param offset offset from begining of file to searched keyword
72         \param len lenght of searched keyword
73     */
74     void add(qint64 offset, qint32 len);
75
76
77
78     bool operator==(const TranslationStarDict &key) {
79         if (this->key() == key.key())
80             return true;
81         return false;
82     }
83
84 private:
85     QString _key;
86     QString _dictionaryInfo;
87     StarDictPlugin *starDictPlugin;
88     int _dictHash;
89     QVector<qint64> offsets;
90     QVector<qint32> lengths;
91 };
92
93
94 #endif // TRANSLATIONSTARDICT_H
95