\author Mateusz Półrola <mateusz.polrola@comarch.pl>
*/
+#include "DictsModel.h"
+
DictsModel::DictsModel(QList<DownloadDict> dicts, QObject *parent) :
QAbstractItemModel(parent)
*******************************************************************************/
-//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
}
+ /*! 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();
(_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();
*******************************************************************************/
/*! \file XdxfDictDialog.cpp
+ \author Mateusz Półrola <mateusz.polrola@comarch.pl>
*/
-//Created by Mateusz Półrola
+
#include "XdxfDictDialog.h"
#include "xdxfplugin.h"
*/
void changeSettings(QWidget *parent);
+ /*!
+ Returns last parent of this dialog
+ */
QWidget* lastDialogParent();
+ /*!
+ Sets last parent of this dialog
+ */
void setLastDialogParent(QWidget*);
private:
*******************************************************************************/
-//Created by Mateusz Półrola
+/*!
+ \file XdxfDictDownloadProgressDialog.cpp
+ \author Mateusz Półrola <mateusz.polrola@comarch.com>
+ */
#include "XdxfDictDownloadProgressDialog.h"
*******************************************************************************/
-//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:
QProgressBar* downloadProgressBar;
QPushButton* cancelButton;
QVBoxLayout* verticalLayout;
- //! used to check the progress of dictionary downloading
};
#endif // XDXFDICTDOWNLOADPROGRESSDIALOG_H
*******************************************************************************/
-//Created by Mateusz Półrola
+/*!
+ \file XdxfDictDownloader.cpp
+ \author Mateusz Półrola <mateusz.polrola@comarch.com>
+ */
#include "XdxfDictDownloader.h"
#include "XdxfDictDownloadProgressDialog.h"
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)));
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/")));
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();
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]);
}
}
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
// 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");
*******************************************************************************/
-//Created by Mateusz Półrola
+/*!
+ \file XdxfDictDownloader.h
+ \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+ */
#ifndef XDXFDICTDOWNLOADER_H
#define XDXFDICTDOWNLOADER_H
XdxfDictDownloader(QObject *parent = 0);
//! \return name of downloaded file
QString downloadedFile();
- ~XdxfDictDownloader();
public Q_SLOTS:
//! downloads dictionaries list from xdxf website
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;
QString _fileName;
bool downloadError;
bool aborted;
+ QNetworkAccessManager *manager;
};
#endif // XDXFDICTDOWNLOADER_H
*******************************************************************************/
-//Created by Mateusz Półrola
+/*!
+ \file XdxfDictSelectDialog.cpp
+ \author Mateusz Półrola <mateusz.polrola@comarch.com>
+ */
#include "XdxfDictSelectDialog.h"
void XdxfDictSelectDialog::initializeDicts() {
+ //scan of all languages of dictionaries, using QSet to get only distinct languages
QSet<QString> languagesFrom;
QSet<QString> languagesTo;
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));
}
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
*******************************************************************************/
-//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;
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:
<!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>
<!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>