Add comments and translations for xdxf downloading dialog
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Fri, 1 Oct 2010 09:29:47 +0000 (11:29 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Fri, 1 Oct 2010 09:29:47 +0000 (11:29 +0200)
13 files changed:
src/plugins/xdxf/DictsModel.cpp
src/plugins/xdxf/DictsProxyModel.h
src/plugins/xdxf/XdxfDictDialog.cpp
src/plugins/xdxf/XdxfDictDialog.h
src/plugins/xdxf/XdxfDictDownloadProgressDialog.cpp
src/plugins/xdxf/XdxfDictDownloadProgressDialog.h
src/plugins/xdxf/XdxfDictDownloader.cpp
src/plugins/xdxf/XdxfDictDownloader.h
src/plugins/xdxf/XdxfDictSelectDialog.cpp
src/plugins/xdxf/XdxfDictSelectDialog.h
src/plugins/xdxf/en_US.ts
src/plugins/xdxf/pl_PL.ts
src/plugins/xdxf/translations/pl_PL.qm

index c92ed57..68987d0 100644 (file)
@@ -24,6 +24,8 @@
  \author Mateusz Półrola <mateusz.polrola@comarch.pl>
 */
 
+#include "DictsModel.h"
+
 
 DictsModel::DictsModel(QList<DownloadDict> dicts, QObject *parent) :
     QAbstractItemModel(parent)
index 79804a7..7f99271 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file DictsProxyModel.h
+  \author Mateusz Półrola <mateusz.polrola@gmail.com>
+  */
 
 #ifndef DICTSPROXYMODEL_H
 #define DICTSPROXYMODEL_H
 #include <QSortFilterProxyModel>
 #include <QDebug>
 
+
+/*!
+  Proxy model used for filtering and sorting informations about xdxf dictionaries.
+It allow to filter dictionaries based on their langages
+*/
 class DictsProxyModel : public QSortFilterProxyModel
 {
     Q_OBJECT
@@ -35,13 +43,21 @@ public:
 
     }
 
+    /*! Returns currently setted language used to filter dictionaries based on dictionarie's language from*/
     QString from() { return _from;}
+
+        /*! Returns currently setted language used to filter dictionaries based on dictionarie's language to*/
     QString to() {return _to;}
 
+
+        /*! Sets currently setted language used to filter dictionaries based on dictionarie's language from*/
     void setFrom(QString from) { _from = from; invalidateFilter(); }
+
+        /*! Sets currently setted language used to filter dictionaries based on dictionarie's language to*/
     void setTo(QString to) {_to = to; invalidateFilter();}
 
 protected:
+        /*! Filtering passed row*/
     bool filterAcceptsRow(int source_row, const QModelIndex&) const {
         QString sourceFrom = sourceModel()->data(
                 sourceModel()->index(source_row, 0)).toString();
@@ -52,6 +68,7 @@ protected:
                 (_to.isEmpty() || sourceTo == _to));
     }
 
+        /*! Sorting, if sort column is set to column containing size of dictionary, string containing size of it is converted to fload and compared to other dict size*/
     bool lessThan(const QModelIndex &left, const QModelIndex &right) const {
         if(sortColumn() == 3) {
             QString l = left.model()->data(left).toString();
index 62e1f3d..6ba1e27 100644 (file)
@@ -20,8 +20,9 @@
 *******************************************************************************/
 
 /*! \file XdxfDictDialog.cpp
+  \author Mateusz Półrola <mateusz.polrola@comarch.pl>
 */
-//Created by Mateusz Półrola
+
 
 #include "XdxfDictDialog.h"
 #include "xdxfplugin.h"
index c34f211..92c30cc 100644 (file)
@@ -47,8 +47,14 @@ public:
       */
     void changeSettings(QWidget *parent);
 
+    /*!
+      Returns last parent of this dialog
+      */
     QWidget* lastDialogParent();
 
+    /*!
+      Sets last parent of this dialog
+      */
     void setLastDialogParent(QWidget*);
 
 private:
index 8a34fce..191ac97 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictDownloadProgressDialog.cpp
+  \author Mateusz Półrola <mateusz.polrola@comarch.com>
+  */
 
 #include "XdxfDictDownloadProgressDialog.h"
 
index 18be373..bce23c0 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictDownloadProgressDialog.h
+  \author Mateusz Półrola <mateusz.polrola@comarch.com>
+  */
 
 #ifndef XDXFDICTDOWNLOADPROGRESSDIALOG_H
 #define XDXFDICTDOWNLOADPROGRESSDIALOG_H
 #include <QDialog>
 #include <QtGui>
 
+/*!
+  Shows downloading progress bar. Currently it displays "busy bar".
+  User can cancel current download by pressing cancel button
+  */
 class XdxfDictDownloadProgressDialog : public QDialog {
     Q_OBJECT
 public:
     XdxfDictDownloadProgressDialog(QWidget *parent = 0);
 
 public Q_SLOTS:
+    //! Reimplemented to block rejecting on maemo. User must cancel.
     void reject();
+
+    //! Set text which will be displayed to user as info about current download
     void setText(QString);
 
 Q_SIGNALS:
@@ -45,7 +55,6 @@ private:
     QProgressBar* downloadProgressBar;
     QPushButton* cancelButton;
     QVBoxLayout* verticalLayout;
-    //! used to check the progress of dictionary downloading
 };
 
 #endif // XDXFDICTDOWNLOADPROGRESSDIALOG_H
index d65fbe9..2b62ff6 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictDownloader.cpp
+  \author Mateusz Półrola <mateusz.polrola@comarch.com>
+  */
 
 #include "XdxfDictDownloader.h"
 #include "XdxfDictDownloadProgressDialog.h"
@@ -30,7 +33,10 @@ XdxfDictDownloader::XdxfDictDownloader(QObject *parent) :
     QObject(parent) {
     parentDialog = 0;
     process = new QProcess(this);
+    manager = new QNetworkAccessManager(this);
 
+    connect(manager, SIGNAL(finished(QNetworkReply*)),
+            this, SLOT(dictListReceived(QNetworkReply*)));
 
     connect(process, SIGNAL(finished(int)),
             this, SLOT(processFinished(int)));
@@ -38,19 +44,9 @@ XdxfDictDownloader::XdxfDictDownloader(QObject *parent) :
     progressDialog = 0;
 }
 
-XdxfDictDownloader::~XdxfDictDownloader() {
-
-}
-
-
-
 void XdxfDictDownloader::download(QWidget *parent) {
     parentDialog = parent;
     aborted = false;
-    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
-
-    connect(manager, SIGNAL(finished(QNetworkReply*)),
-            this, SLOT(dictListReceived(QNetworkReply*)));
 
     manager->get(QNetworkRequest(QUrl("http://xdxf.revdanica.com/down/")));
 
@@ -68,6 +64,7 @@ QString XdxfDictDownloader::downloadedFile() {
 
 
 void XdxfDictDownloader::breakDownloading() {
+    //if user cancel downloading we kill all running processes, hide progress dialog and set flag that user cancel downloading.
     aborted = true;
     if(process->state() != QProcess::NotRunning) {
         process->kill();
@@ -77,14 +74,19 @@ void XdxfDictDownloader::breakDownloading() {
         progressDialog->accept();
     }
 
-    Q_EMIT notify(Notify::Info, tr("Downloading canceled"));
 }
 
 void XdxfDictDownloader::processFinished(int exitcode) {
+    //first check if user cancel downloading
     if(aborted) return;
+
+    //if error of proces, notify user about this
     if(exitcode != 0) {
         Q_EMIT notify(Notify::Error, tr("Error while downloading or processing dictionary"));
+        breakDownloading();
+        return;
     }
+    //if there are any left commands, execute next
     if(++currentCommand<commands.size()) {
         process->start(commands[currentCommand]);
     }
@@ -94,7 +96,6 @@ void XdxfDictDownloader::processFinished(int exitcode) {
 }
 
 void XdxfDictDownloader::downloadComplete() {
-<<<<<<< HEAD
     if(aborted) return;
     // Downloaded tar file name is different than extracted folder so we need
     // some clean directory to identify extracted files
@@ -163,6 +164,7 @@ void XdxfDictDownloader::dictListReceived(QNetworkReply *reply) {
         // to call commands via shell, each command from list is called after
         // previous call returns 0
 
+        currentCommand = 0;
         commands.clear();
         commands.push_back("rm -rf /tmp/mdict");
         commands.push_back("mkdir /tmp/mdict");
index 629f57d..3a74b20 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictDownloader.h
+  \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+ */
 
 #ifndef XDXFDICTDOWNLOADER_H
 #define XDXFDICTDOWNLOADER_H
@@ -47,7 +50,6 @@ public:
     XdxfDictDownloader(QObject *parent = 0);
     //! \return name of downloaded file
     QString downloadedFile();
-    ~XdxfDictDownloader();
 
 public Q_SLOTS:
     //! downloads dictionaries list from xdxf website
@@ -56,14 +58,21 @@ public Q_SLOTS:
 Q_SIGNALS:
     //! emmited when file download precess is complete
     void fileDownloaded(QString);
+    //! emitted to inform user about errors and warnings
     void notify(Notify::NotifyType, QString);
 
 private Q_SLOTS:
+    //! obtained list of dictionaries from website
     void dictListReceived(QNetworkReply*);
+
+    //! one of system processes finished
     void processFinished(int);
+
+    //! user cancel downloading
     void breakDownloading();
 
 private:
+    //! dict is downloaded and unpacked
     void downloadComplete();
     QList<DownloadDict> dicts;
     QWidget* parentDialog;
@@ -75,6 +84,7 @@ private:
     QString _fileName;
     bool downloadError;
     bool aborted;
+    QNetworkAccessManager *manager;
 };
 
 #endif // XDXFDICTDOWNLOADER_H
index db6505c..0ef30f2 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictSelectDialog.cpp
+  \author Mateusz Półrola <mateusz.polrola@comarch.com>
+  */
 
 #include "XdxfDictSelectDialog.h"
 
@@ -104,6 +107,7 @@ XdxfDictSelectDialog::XdxfDictSelectDialog(QList<DownloadDict> dicts,
 
 void XdxfDictSelectDialog::initializeDicts() {
 
+    //scan of all languages of dictionaries, using QSet to get only distinct languages
     QSet<QString> languagesFrom;
     QSet<QString> languagesTo;
 
@@ -114,15 +118,19 @@ void XdxfDictSelectDialog::initializeDicts() {
                 model->data(model->index(i, 1, QModelIndex())).toString());
     }
 
+    //removes one dictionary which from and to languages are empty....
+    //bug in site with dictionaries
     languagesFrom.remove(QString());
     languagesTo.remove(QString());
 
+    //sorting of found languages
     QList<QString> langFromList = languagesFrom.toList();
     qSort(langFromList);
 
     QList<QString> langToList = languagesTo.toList();
     qSort(langToList);
 
+    //and adding them to combobox, first item in each combobox is "Any"
     langFrom->addItem(tr("Any"));
     for(int i=0; i < langFromList.count(); i++) {
          langFrom->addItem(langFromList.at(i));
@@ -135,6 +143,7 @@ void XdxfDictSelectDialog::initializeDicts() {
 }
 
 void XdxfDictSelectDialog::refreshDictList() {
+    //if selected language is "Any"(index 0), from filter string is set to empty string, proxy model uses empty string as special case and don't filter by this field.
     if(langTo->currentIndex() == 0)
         proxyModel->setTo(QString());
     else
index 5f6dfcc..996cee8 100644 (file)
 
 *******************************************************************************/
 
-//Created by Mateusz Półrola
+/*!
+  \file XdxfDictSelectDialog.h
+  \author Mateusz Półrola <mateusz.polrola@comarch.com>
+  */
 
 #ifndef XDXFDICTSELECTDIALOG_H
 #define XDXFDICTSELECTDIALOG_H
 #include "DictsModel.h"
 #include "DictsProxyModel.h"
 
+
+/*!
+  Shows dialog with list of dictionaries and informations about them, allowing user to filter data based on dictionaries languages, and to select one of them.
+  */
 class XdxfDictSelectDialog : public QDialog {
     Q_OBJECT
 public:
-    explicit XdxfDictSelectDialog(QList<DownloadDict> dicts,
+    /*!
+      Constructor
+      \param dicts list of DownloadDict objects describing dictionaries.
+      */
+    XdxfDictSelectDialog(QList<DownloadDict> dicts,
                                   QWidget *parent = 0);
+
+    /*!
+      Returns download link of dictionary selected by user. This string is set
+      only when user select any dictionary (dialog was accepted), otherwise it
+     is empty.
+      */
     QString link() { return _link;}
 
 private:
     QTreeView* treeView;
     DictsModel* model;
+    //used by treeView to allow filtering and sorting
     DictsProxyModel *proxyModel;
     QVBoxLayout* layout;
     QHBoxLayout* checkBoxLayout;
@@ -49,8 +67,13 @@ private:
     QLabel* langToLabel;
 
 private Q_SLOTS:
+    //creates items for comboboxes and creates model with dicts info
     void initializeDicts();
+
+    //filters dicts after filtering settings change
     void refreshDictList();
+
+    //accept dialog and sets download link of clicked dictionary
     void itemClicked(QModelIndex);
 
 private:
index 64c07a0..ecd10d4 100644 (file)
@@ -2,6 +2,29 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="en_US">
 <context>
+    <name>DictsModel</name>
+    <message>
+        <location filename="DictsModel.cpp" line="84"/>
+        <source>From</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="86"/>
+        <source>To</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="88"/>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="90"/>
+        <source>Size</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>XdxfCachingDialog</name>
     <message>
         <location filename="XdxfCachingDialog.cpp" line="35"/>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="74"/>
+        <location filename="XdxfDialog.cpp" line="86"/>
         <source>Add new XDXF dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="77"/>
+        <location filename="XdxfDialog.cpp" line="91"/>
         <source>Browse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="78"/>
+        <location filename="XdxfDialog.cpp" line="94"/>
+        <source>Download</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDialog.cpp" line="97"/>
         <source>Dictionary file: not selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="86"/>
+        <location filename="XdxfDialog.cpp" line="108"/>
         <source>XDXF Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="88"/>
+        <location filename="XdxfDialog.cpp" line="110"/>
         <source>Plugin: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="89"/>
+        <location filename="XdxfDialog.cpp" line="111"/>
         <source>From: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="90"/>
+        <location filename="XdxfDialog.cpp" line="112"/>
         <source>To: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="91"/>
+        <location filename="XdxfDialog.cpp" line="113"/>
         <source>Description: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="97"/>
+        <location filename="XdxfDialog.cpp" line="119"/>
         <source>Strip accents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="107"/>
+        <location filename="XdxfDialog.cpp" line="129"/>
         <source>Optimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="153"/>
+        <location filename="XdxfDialog.cpp" line="175"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="156"/>
+        <location filename="XdxfDialog.cpp" line="178"/>
         <source>Save settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="210"/>
+        <location filename="XdxfDialog.cpp" line="232"/>
         <source>Select dictionary file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="212"/>
+        <location filename="XdxfDialog.cpp" line="234"/>
         <source>XDXF Files (*.xdxf)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="217"/>
+        <location filename="XdxfDialog.cpp" line="71"/>
+        <location filename="XdxfDialog.cpp" line="239"/>
         <source>Dictionary file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="246"/>
+        <location filename="XdxfDialog.cpp" line="272"/>
         <source>File path is not set</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>XdxfDictDownloadProgressDialog</name>
+    <message>
+        <location filename="XdxfDictDownloadProgressDialog.cpp" line="39"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>XdxfDictDownloader</name>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="57"/>
+        <source>Downloading dictionaries list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="85"/>
+        <source>Error while downloading or processing dictionary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="155"/>
+        <source>Downloading dictionary</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>XdxfDictSelectDialog</name>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="34"/>
+        <source>Select dictionary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="48"/>
+        <source>From </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="49"/>
+        <source>To </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="134"/>
+        <location filename="XdxfDictSelectDialog.cpp" line="139"/>
+        <source>Any</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>XdxfPlugin</name>
     <message>
-        <location filename="xdxfplugin.cpp" line="108"/>
-        <location filename="xdxfplugin.cpp" line="206"/>
-        <location filename="xdxfplugin.cpp" line="523"/>
+        <location filename="xdxfplugin.cpp" line="127"/>
+        <location filename="xdxfplugin.cpp" line="225"/>
+        <location filename="xdxfplugin.cpp" line="542"/>
         <source>Cache database cannot be opened for %1 dictionary. Searching in XDXF file. You may want to recache.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="157"/>
-        <location filename="xdxfplugin.cpp" line="237"/>
+        <location filename="xdxfplugin.cpp" line="176"/>
+        <location filename="xdxfplugin.cpp" line="256"/>
         <source>XDXF file cannot be read for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="365"/>
+        <location filename="xdxfplugin.cpp" line="384"/>
         <source>XDXF file is in wrong format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="407"/>
+        <location filename="xdxfplugin.cpp" line="426"/>
         <source>XDXF dictionary cannot be read from file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="455"/>
-        <location filename="xdxfplugin.cpp" line="514"/>
+        <location filename="xdxfplugin.cpp" line="474"/>
+        <location filename="xdxfplugin.cpp" line="533"/>
         <source>XDXF file cannot be read for %1 dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="605"/>
+        <location filename="xdxfplugin.cpp" line="624"/>
         <source>Database caching error, please try again.</source>
         <translation type="unfinished"></translation>
     </message>
index 9800a1c..3350b84 100644 (file)
@@ -2,6 +2,29 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="pl_PL">
 <context>
+    <name>DictsModel</name>
+    <message>
+        <location filename="DictsModel.cpp" line="84"/>
+        <source>From</source>
+        <translation>Z</translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="86"/>
+        <source>To</source>
+        <translation>Na</translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="88"/>
+        <source>Name</source>
+        <translation>Nazwa</translation>
+    </message>
+    <message>
+        <location filename="DictsModel.cpp" line="90"/>
+        <source>Size</source>
+        <translation>Rozmiar</translation>
+    </message>
+</context>
+<context>
     <name>XdxfCachingDialog</name>
     <message>
         <location filename="XdxfCachingDialog.cpp" line="35"/>
         <translation>Usuń akcenty (wyszukiwanie trwa dłużej, ale szukane słowo nie musi być wpisane dokładnie)</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="74"/>
+        <location filename="XdxfDialog.cpp" line="86"/>
         <source>Add new XDXF dictionary</source>
         <translation>Dodaj nowy słownik XDXF</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="77"/>
+        <location filename="XdxfDialog.cpp" line="91"/>
         <source>Browse</source>
         <translation>Przeglądaj</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="78"/>
+        <location filename="XdxfDialog.cpp" line="94"/>
+        <source>Download</source>
+        <translation>Pobierz</translation>
+    </message>
+    <message>
+        <location filename="XdxfDialog.cpp" line="97"/>
         <source>Dictionary file: not selected</source>
         <translation>Plik ze słownikiem nie został wybrany</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="86"/>
+        <location filename="XdxfDialog.cpp" line="108"/>
         <source>XDXF Settings</source>
         <translation>Ustawienia XDXF</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="88"/>
+        <location filename="XdxfDialog.cpp" line="110"/>
         <source>Plugin: </source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="89"/>
+        <location filename="XdxfDialog.cpp" line="111"/>
         <source>From: </source>
         <translation>Z: </translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="90"/>
+        <location filename="XdxfDialog.cpp" line="112"/>
         <source>To: </source>
         <translation>Na: </translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="91"/>
+        <location filename="XdxfDialog.cpp" line="113"/>
         <source>Description: </source>
         <translation>Opis: </translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="97"/>
+        <location filename="XdxfDialog.cpp" line="119"/>
         <source>Strip accents</source>
         <translation>Usuń akcenty</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="107"/>
+        <location filename="XdxfDialog.cpp" line="129"/>
         <source>Optimize</source>
         <translation>Optymalizuj</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="153"/>
+        <location filename="XdxfDialog.cpp" line="175"/>
         <source>Add</source>
         <translation>Dodaj</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="156"/>
+        <location filename="XdxfDialog.cpp" line="178"/>
         <source>Save settings</source>
         <translation>Zapisz ustawienia</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="210"/>
+        <location filename="XdxfDialog.cpp" line="232"/>
         <source>Select dictionary file</source>
         <translation>Wybierz plik ze słownikiem</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="212"/>
+        <location filename="XdxfDialog.cpp" line="234"/>
         <source>XDXF Files (*.xdxf)</source>
         <translation>Pliki XDXF (*.xdxf)</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="217"/>
+        <location filename="XdxfDialog.cpp" line="71"/>
+        <location filename="XdxfDialog.cpp" line="239"/>
         <source>Dictionary file: %1</source>
         <translation>Plik ze słownikiem: %1</translation>
     </message>
     <message>
-        <location filename="XdxfDialog.cpp" line="246"/>
+        <location filename="XdxfDialog.cpp" line="272"/>
         <source>File path is not set</source>
         <translation>Ścieżka do pliku nie jest ustawiona</translation>
     </message>
 </context>
 <context>
+    <name>XdxfDictDownloadProgressDialog</name>
+    <message>
+        <location filename="XdxfDictDownloadProgressDialog.cpp" line="39"/>
+        <source>Cancel</source>
+        <translation>Anuluj</translation>
+    </message>
+</context>
+<context>
+    <name>XdxfDictDownloader</name>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="57"/>
+        <source>Downloading dictionaries list</source>
+        <translation>Pobieranie listy słowników</translation>
+    </message>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="85"/>
+        <source>Error while downloading or processing dictionary</source>
+        <translation>Błąd podczas poierania lub przetwarzania słownika</translation>
+    </message>
+    <message>
+        <location filename="XdxfDictDownloader.cpp" line="155"/>
+        <source>Downloading dictionary</source>
+        <translation>Pobieranie słownika</translation>
+    </message>
+</context>
+<context>
+    <name>XdxfDictSelectDialog</name>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="34"/>
+        <source>Select dictionary</source>
+        <translation>Wybierz słownik</translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="48"/>
+        <source>From </source>
+        <translation>Z </translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="49"/>
+        <source>To </source>
+        <translation>Na </translation>
+    </message>
+    <message>
+        <location filename="XdxfDictSelectDialog.cpp" line="134"/>
+        <location filename="XdxfDictSelectDialog.cpp" line="139"/>
+        <source>Any</source>
+        <translation>Dowolny</translation>
+    </message>
+</context>
+<context>
     <name>XdxfPlugin</name>
     <message>
-        <location filename="xdxfplugin.cpp" line="108"/>
-        <location filename="xdxfplugin.cpp" line="206"/>
-        <location filename="xdxfplugin.cpp" line="523"/>
+        <location filename="xdxfplugin.cpp" line="127"/>
+        <location filename="xdxfplugin.cpp" line="225"/>
+        <location filename="xdxfplugin.cpp" line="542"/>
         <source>Cache database cannot be opened for %1 dictionary. Searching in XDXF file. You may want to recache.</source>
         <translation>Nie można otworzyć bazy danych dla słownika %1. Szukanie w pliku XDXF. Możesz spróbować ponownie włączyć optymalizację.</translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="157"/>
-        <location filename="xdxfplugin.cpp" line="237"/>
+        <location filename="xdxfplugin.cpp" line="176"/>
+        <location filename="xdxfplugin.cpp" line="256"/>
         <source>XDXF file cannot be read for %1</source>
         <translation>Nie można odczytać pliku XDXF dla %1</translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="365"/>
+        <location filename="xdxfplugin.cpp" line="384"/>
         <source>XDXF file is in wrong format</source>
         <translation>Niewłaściwy format pliku XDXF</translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="407"/>
+        <location filename="xdxfplugin.cpp" line="426"/>
         <source>XDXF dictionary cannot be read from file</source>
         <translation>Nie można odczytać słownika XDXF z pliku</translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="455"/>
-        <location filename="xdxfplugin.cpp" line="514"/>
+        <location filename="xdxfplugin.cpp" line="474"/>
+        <location filename="xdxfplugin.cpp" line="533"/>
         <source>XDXF file cannot be read for %1 dictionary</source>
         <translation>Nie mozna odczytać pliku XDXF dla słownika %1</translation>
     </message>
     <message>
-        <location filename="xdxfplugin.cpp" line="605"/>
+        <location filename="xdxfplugin.cpp" line="624"/>
         <source>Database caching error, please try again.</source>
         <translation>Błąd optymalizacji, proszę spróbować ponownie.</translation>
     </message>
index 07a9e30..4a74114 100644 (file)
Binary files a/src/plugins/xdxf/translations/pl_PL.qm and b/src/plugins/xdxf/translations/pl_PL.qm differ