Copyright 2010 Comarch S.A.
*******************************************************************************/
+/*!
+ \file XdxfDictDownloader.h
+ \brief XdxfDictDownloader is responsible for getting dict list from XDXF website
+ and other actions necessary to download and add dictionary
-//Created by Mateusz Półrola
+ \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
#ifndef XDXFDICTDOWNLOADER_H
#define XDXFDICTDOWNLOADER_H
#include <QNetworkReply>
#include <DownloadDict.h>
#include "XdxfDictDownloadProgressDialog.h"
+#include "../../include/Notify.h"
+#include "HttpDownloader.h"
+#include <string.h>
+#include <errno.h>
-/** XdxfDictDownloader is responsible for getting dict list from XDXF website
+/*!
+ XdxfDictDownloader is responsible for getting dict list from XDXF website
and other actions necessary to download and add dictionary
When user want to add dictionary he may choose "browse" or "download",
Q_OBJECT
public:
XdxfDictDownloader(QObject *parent = 0);
+
//! \return name of downloaded file
QString downloadedFile();
//! emmited when file download precess is complete
void fileDownloaded(QString);
+ //! emitted to inform user about errors and warnings
+ void notify(Notify::NotifyType, QString);
+
+ //! emmited what is update Download Progress
+ void downloadProgress(float);
+
private Q_SLOTS:
+ //! obtained list of dictionaries from website
void dictListReceived(QNetworkReply*);
- void processFinished(int);
+
+ //! one of system processes finished
+ void processFinished();
+
+ //! user cancel downloading
+ void breakDownloading();
+
+ //! handling a download error
+ void downloadingError(QString);
+
+ /*!
+ function divide two qint64 and result emmit in
+ signals downloadProgress(float)
+ */
+ void updateDownloadProgress(qint64, qint64);
private:
+ //! dict is downloaded and unpacked
void downloadComplete();
+
QList<DownloadDict> dicts;
QWidget* parentDialog;
QString _downloadedFile;
int currentCommand;
QProcess* process;
QString _fileName;
+ bool downloadError;
+ bool aborted;
+ QNetworkAccessManager *manager;
+ bool extract(QString file);
+ HttpDownloader http;
};
#endif // XDXFDICTDOWNLOADER_H