Network error handling to RemoteDBMgr and SelectRemoteDlg
[irwi] / src / selectremotedlg.h
index 532759d..3fdeb6c 100644 (file)
@@ -5,47 +5,60 @@
 #include <QString>
 #include <QMap>
 
+#include "remotedb.h"
+#include "remotedbmgr.h"
+
 class QHBoxLayout;
 class QListWidget;
 class QListWidgetItem;
+class RemoteTable;
 class QSettings;
 class QNetworkAccessManager;
 class QNetworkReply;
 class QWidget;
+class QPushButton;
+class QLabel;
+class QShowEvent;
+class OnlinePollerThread;
 
 class SelectRemoteDlg : public QDialog
 {
     Q_OBJECT
+
 public:
     SelectRemoteDlg(QWidget *parent = 0);
     ~SelectRemoteDlg();
 
-public signals:
-    void remoteDownloaded();
+public slots:
+    void refreshDB();
+    void getDB();
 
 private slots:
-    void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    
+    void alphabetItemChanged(QListWidgetItem *current,
+                             QListWidgetItem *previous);
     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void mfgListDownloadFinished(QNetworkReply *reply);
+    void downloadRemote();
+    void setDB(RemoteDB *db);
+    void onDBError(int error);
 
-    void modelItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void modelListDownloadFinished(QNetworkReply *reply);
+signals:
+    void remoteChanged(Remote);
 
-    void remoteDownloadFinished(QNetworkReply *reply);
+protected slots:
+    void showEvent(QShowEvent*);
 
 private:
+    RemoteDBMgr remoteDBMgr;
+
+    QLabel *remoteNameLabel;
     QHBoxLayout *layout;
     QListWidget *alphabetList;
     QListWidget *mfgList;
-    QListWidget *modelList;
-    QSettings *settings;
-    QNetworkAccessManager *mfgNetAM;
-    QNetworkAccessManager *modelNetAM;
-    QNetworkAccessManager *remoteNetAM;
-    QMap<QString, QString> *deviceNameMap;
-
-    void beginDownload(const QString &url, QNetworkAccessManager *nam);
+    RemoteTable *modelList;
+    QPushButton *downloadBtn;
+    RemoteDB *remoteDB;
+    OnlinePollerThread *onlinePollerThread;
+
     void setBusy(bool busy = true);
 };