1 /*******************************************************************************
3 This file is part of mDictionary.
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.
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.
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/>.
18 Copyright 2010 Comarch S.A.
20 *******************************************************************************/
22 /*! \file GooglePlugin.h
24 \author Jakub Jaszczynski <j.j.jaszczynski@gmail.com>
27 #ifndef GOOGLEPLUGIN_H
28 #define GOOGLEPLUGIN_H
37 #include "../../../includes/CommonDictInterface.h"
38 #include "../../../includes/settings.h"
39 #include "../../../includes/DictDialog.h"
40 #include "TranslationGoogle.h"
41 #include "GoogleDictDialog.h"
43 class GoogleDictDialog;
45 class GooglePlugin : public CommonDictInterface
48 Q_INTERFACES(CommonDictInterface)
50 GooglePlugin(QObject *parent=0);
53 //! returns source language code iso 639-2
54 QString langFrom() const;
56 //! returns destination language code iso 639-2
57 QString langTo() const;
59 //! returns dictionary name (like "old english" or so)
62 //! returns dictionary type (xdxf, google translate, etc)
65 //! returns information about dictionary in html (name, authors, etc)
66 QString infoNote() const;
68 void setLangTo(QString langTo);
70 void setLangFrom(QString langFrom);
72 /*! returns DictDialog object that creates dialogs
73 for adding new dictionary and change plugin tings
75 DictDialog* dictDialog();
77 //! returns new, clean copy of plugin with setting set as in Settings*
78 CommonDictInterface* getNew(const Settings*) const;
80 //! returns whether plugin can start searching
81 bool isAvailable() const;
83 void setConnectionAccept(QString connectionAcepted);
85 bool isConnectionAccept();
87 //! returns a description of a word given by a QString
88 QString search(QString key);
90 //! returns a unique hash for a dictionary
93 //! set unique value (unique for every dictionary not plugin)
96 //! returns current plugin settings
100 void setSettings(Settings*);
102 //! returns plugin icon
105 Translation* getTranslationFor(QString key);
107 static QMap<QString, QString> initLanguages();
110 /*! performs search in dictionary
111 \param word word to search in dictionary
112 \param limit limit on number of results
114 After finishing search it has to emit
115 \see CommonDictInterface:finalTranslation finalTranslation
117 QList<Translation*> searchWordList(QString word, int limit=0);
119 //! stop current operation
125 QString jsonParse(QString result);
126 void getDictionaryInfo();
128 QMap<QString, QString> languages;
129 //! language from which we translate
131 //! language to which we translate
133 //! name of a dictionary
135 //! type of a dictionary
137 //! information about dictionary
143 bool _connectionAccept;
146 GoogleDictDialog *_dictDialog;
149 #endif // GOOGLEPLUGIN_H