Merge branch 'master' into qmake
[mdictionary] / src / mdictionary / backbone / BookmarkTranslations.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
22 /*! \file BookmarkTranslation.h
23 \brief Bookmarks functionality needs its own translation  object - because
24     Translation object should use slightly different api of Bookmarks objects
25
26 \author Bartosz Szatkowski <bulislaw@linux.com>
27 */
28 #ifndef BOOKMARKTRANSLATIONS_H
29 #define BOOKMARKTRANSLATIONS_H
30
31 #include "../../common/settings.h"
32 #include "../../common/translation.h"
33 #include "Bookmarks.h"
34 #include "QObject"
35
36
37
38 class BookmarkTranslation : public Translation
39 {
40 public:
41     BookmarkTranslation(QString key, Bookmarks* bookmarks, QString dbName){
42         _key = key;
43         _dictionaryInfo = dbName;
44         _bookmarks = bookmarks;
45         _bookmark = 1;
46     }
47
48     //! \return word to be translated
49     QString key() const {
50         return _key;
51     }
52
53     /*! \returns dictionary information (plugin name, languages, <logo> etc)\
54         to be displayed in translation table header*/
55     QString dictionaryInfo() const {
56         return _dictionaryInfo;
57     }
58
59     //! \return parsed raw format into html
60     QString toHtml() const {
61         if(!_key.size() || !_bookmarks)
62             return "";
63
64         QStringList list = _bookmarks->search(_key, _dictionaryInfo);
65         QString result;
66         foreach(QString translation, list)
67             result += translation + "\n";
68         return result;
69
70     }
71
72     /*! sets the word for which we want to find a translation
73         \param word for which we want to find a translation */
74     void setKey(QString key) {
75         _key = key;
76     };
77
78     //! sets information about dictionary
79     void setDictionaryInfo(QString dictionaryInfo) {
80         _dictionaryInfo = dictionaryInfo;
81     }
82
83
84 private:
85     QString _key;
86     QString _dictionaryInfo;
87     Bookmarks* _bookmarks;
88
89 };
90
91 #endif // HISTORYTRANSLATION_H