Added isBookmark() to translation and other changes to inform gui about
[mdictionary] / trunk / src / base / 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 - becouse
24     Translation object should use slighty 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 "../../includes/settings.h"
32 #include "../../includes/translation.h"
33 #include "Bookmarks.h"
34
35
36
37 class BookmarkTranslation : public Translation
38 {
39 public:
40     BookmarkTranslation(QString key, Bookmarks* bookmarks, QString dbName) {
41         _key = key;
42         _dictionaryInfo = dbName;
43         _bookmarks = bookmarks;
44         _bookmark = 1;
45     }
46
47     //! \return word to be translated
48     QString key() const {
49         return _key;
50     }
51
52     /*! \returns dictionary information (plugin name, languages, <logo> etc)\
53         to be displayed in translation table header*/
54     QString dictionaryInfo() const {
55         return _dictionaryInfo;
56     }
57
58     //! \return parsed raw format into html
59     QString toHtml() const {
60         if(!_key.size() || !_bookmarks)
61             return "";
62         qDebug() << ">toHtml";
63
64         QStringList list = _bookmarks->search(_key, _dictionaryInfo);
65         qDebug() << "toHtml" << list.size();
66         QString result;
67         foreach(QString translation, list)
68             result += translation + "\n";
69         qDebug() << "<toHtml";
70         return result;
71
72     }
73
74     /*! sets the word for which we want to find a translation
75         \param word for which we want to find a translation */
76     void setKey(QString key) {
77         _key = key;
78     };
79
80     //! sets information about dictionary
81     void setDictionaryInfo(QString dictionaryInfo) {
82         _dictionaryInfo = dictionaryInfo;
83     }
84
85
86 private:
87     QString _key;
88     QString _dictionaryInfo;
89     Bookmarks* _bookmarks;
90
91 };
92
93 #endif // HISTORYTRANSLATION_H