Fixed canceling when dict download in progress
authorBartosz Szatkowski <bulislaw@linux.com>
Mon, 4 Oct 2010 11:42:43 +0000 (13:42 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Mon, 4 Oct 2010 11:42:43 +0000 (13:42 +0200)
src/plugins/xdxf/HttpDownloader.cpp
src/plugins/xdxf/HttpDownloader.h
src/plugins/xdxf/XdxfDictDownloader.cpp

index 652425f..5086c53 100644 (file)
@@ -67,3 +67,8 @@ void HttpDownloader::downloadFinished(QNetworkReply *reply) {
         Q_EMIT finished();
     }
 }
+
+
+void HttpDownloader::kill() {
+    http->abort();
+}
index 3a8c678..e9458b8 100644 (file)
@@ -41,6 +41,7 @@ class HttpDownloader : public QObject {
 public:
     HttpDownloader(QObject *parent = 0);
     void download(const QUrl, const QString);
+    void kill();
 
 public Q_SLOTS:
     void downloadFinished(QNetworkReply *);
index 3529873..6e96c98 100644 (file)
@@ -40,14 +40,11 @@ typedef void BZFILE;
 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)));
 
     progressDialog = 0;
     connect(&http, SIGNAL(finished()), this, SLOT(processFinished()));
@@ -75,9 +72,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();
-    }
+    http.kill();
 
     if(progressDialog && progressDialog->isVisible()) {
         progressDialog->accept();