Network error handling to RemoteDBMgr and SelectRemoteDlg
authorJari Jarvi <t7jaja00@students.oamk.fi>
Mon, 12 Jul 2010 10:23:43 +0000 (13:23 +0300)
committerJari Jarvi <t7jaja00@students.oamk.fi>
Mon, 12 Jul 2010 10:23:43 +0000 (13:23 +0300)
src/remotedbmgr.cpp
src/remotedbmgr.h
src/selectremotedlg.cpp
src/selectremotedlg.h

index f824c79..fdbb04e 100644 (file)
@@ -51,7 +51,10 @@ void RemoteDBMgr::dbDownloadFinished(QNetworkReply *reply)
         if (!db.isEmpty()) {
             emit dbReady(&db);
         }
+    } else {
+        emit downloadFailed(reply->error());
     }
+
     processing = false;
 }
 
index 4d1ec7e..bd5e86a 100644 (file)
@@ -20,6 +20,7 @@ public slots:
 
 signals:
     void dbReady(RemoteDB *);
+    void downloadFailed(int error);
 
 private slots:
     void dbDownloadFinished(QNetworkReply *reply);
index 28e13b0..d13fb92 100644 (file)
@@ -52,6 +52,8 @@ SelectRemoteDlg::SelectRemoteDlg(QWidget *parent)
     this->setLayout(layout);
     connect(&remoteDBMgr, SIGNAL(dbReady(RemoteDB*)),
             this, SLOT(setDB(RemoteDB*)));
+    connect(&remoteDBMgr, SIGNAL(downloadFailed(int)),
+            this, SLOT(onDBError(int)));
 }
 
 SelectRemoteDlg::~SelectRemoteDlg()
@@ -141,3 +143,10 @@ void SelectRemoteDlg::showEvent(QShowEvent *event)
     QDialog::showEvent(event);
 }
 
+void SelectRemoteDlg::onDBError(int error)
+{
+    this->setWindowTitle(tr("Network error") + " " + QString::number(error));
+    setBusy(false);
+    downloadBtn->setVisible(false);
+}
+
index 90170cd..3fdeb6c 100644 (file)
@@ -39,6 +39,7 @@ private slots:
     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
     void downloadRemote();
     void setDB(RemoteDB *db);
+    void onDBError(int error);
 
 signals:
     void remoteChanged(Remote);