Copyright 2010 Comarch S.A.
*******************************************************************************/
+/*!
+ \file xdxfplugin.h
+ \brief Implementation of xdxf plugin's main class.
-
-/*! \file xdxfplugin.h
+ \author Jakub Jaszczynski <j.j.jaszczynski@gmail.com>
*/
+
#ifndef XDXFPLUGIN_H
#define XDXFPLUGIN_H
-
#include <QObject>
#include <QDialog>
#include <QRegExp>
#include "XdxfDictDialog.h"
#include "XdxfCachingDialog.h"
#include "TranslationXdxf.h"
+#include "XdxfDictDownloader.h"
class TranslationXdxf;
Q_INTERFACES(CommonDictInterface)
public:
XdxfPlugin(QObject *parent=0);
-
~XdxfPlugin();
//! \returns source language code iso 639-2
//! \returns dictionary type (xdxf, google translate, etc)
QString type() const;
- //! returns information about dictionary in xml (name, authors, etc)
+ //! \returns information about dictionary in xml (name, authors, etc)
QString infoNote() const;
- /*! \returns DictDialog object that creates dialogs
+ /*!
+ \returns DictDialog object that creates dialogs
for adding a new dictionary and changing plugin settings
- */
+ */
DictDialog* dictDialog();
//! \returns new, clean copy of plugin with settings set as in Settings*
//! \returns plugin icon
QIcon* icon();
- /*! plugin should delete any files (eg. cache) that have been created and are ready
+ /*!
+ plugin should delete any files (eg. cache) that have been created and are ready
to be deleted
- */
+ */
void clean();
-
+ static XdxfDictDownloader dictDownloader;
public Q_SLOTS:
- /*! performs search in a dictionary
- \param word word to search for in a dictionary
- \param limit limit on number of results
+ /*!
+ performs search in a dictionary
+ \param word word to search for in a dictionary
+ \param limit limit on number of results
- After finishing search it has to emit
- \see CommonDictInterface:finalTranslation finalTranslation
+ After finishing search it has to emit
+ \see CommonDictInterface:finalTranslation finalTranslation
*/
QList<Translation*> searchWordList(QString word, int limit=0);
//! last signal emit
void updateCachingProgress(int, int);
-
private:
-
- /*! \returns true or false depending on whether the dictionary is cached
+ /*!
+ \returns true or false depending on whether the dictionary is cached
or not
- */
+ */
bool isCached();
- /*! searches for a list of words similar to a word in a database file
- \param word key compared with keys in a database
- \param limit limits the number of translations in returned list,
- 0 means unlimited
- \returns list of translations
+ /*!
+ searches for a list of words similar to a word in a database file
+ \param word key compared with keys in a database
+ \param limit limits the number of translations in returned list,
+ 0 means unlimited
+ \returns list of translations
*/
QList<Translation*> searchWordListCache(QString word, int limit=0);
- /*! searches for a list of words similar to a word in a xdxf file
- \param word key compared with keys in a xdxf file
- \param limit limits the number of translations in returned list,
- 0 means unlimited
- \returns list of translations
+ /*!
+ searches for a list of words similar to a word in a xdxf file
+ \param word key compared with keys in a xdxf file
+ \param limit limits the number of translations in returned list,
+ 0 means unlimited
+ \returns list of translations
*/
QList<Translation*> searchWordListFile(QString word, int limit=0);
- /*! searches for a translation of a word which is exactly like a key
- in a xdxf file */
+ /*!
+ searches for a translation of a word which is exactly like a key
+ in a xdxf file
+ */
QString searchFile(QString key);
- /*! searches for a translation of a word which is exactly like a key
- in a database file */
+ /*!
+ searches for a translation of a word which is exactly like a key
+ in a database file
+ */
QString searchCache(QString key);
//! scans dictionary file to get information about it
//! counts the keys in a xdxf file
int countWords();
- /*! transforms xdxf files to database files (caching operation)
- \returns true on success, false on failure */
+ /*!
+ transforms xdxf files to database files (caching operation)
+ \returns true on success, false on failure
+ */
bool makeCache(QString dir);
- //! language from which we translate
+ static bool dictDownloaderInitialized;
+
QString _langFrom;
- //! language to which we translate
QString _langTo;
- //! name of a dictionary
QString _name;
- //! information about dictionary
QString _infoNote;
-
QString _dictionaryInfo;
-
- //! icon displayed during translations and when a dictionary is chosen
QIcon _icon;
QSqlDatabase db;
QString db_name;
- //! number of words in a dictionary
long _wordsCount;
- //! indicates if search is stopped
volatile bool stopped;
Settings *_settings;
XdxfDictDialog* _dictDialog;