Network error handling to RemoteDBMgr and SelectRemoteDlg
[irwi] / src / selectremotedlg.h
1 #ifndef SELECTREMOTEDLG_H
2 #define SELECTREMOTEDLG_H
3
4 #include <QDialog>
5 #include <QString>
6 #include <QMap>
7
8 #include "remotedb.h"
9 #include "remotedbmgr.h"
10
11 class QHBoxLayout;
12 class QListWidget;
13 class QListWidgetItem;
14 class RemoteTable;
15 class QSettings;
16 class QNetworkAccessManager;
17 class QNetworkReply;
18 class QWidget;
19 class QPushButton;
20 class QLabel;
21 class QShowEvent;
22 class OnlinePollerThread;
23
24 class SelectRemoteDlg : public QDialog
25 {
26     Q_OBJECT
27
28 public:
29     SelectRemoteDlg(QWidget *parent = 0);
30     ~SelectRemoteDlg();
31
32 public slots:
33     void refreshDB();
34     void getDB();
35
36 private slots:
37     void alphabetItemChanged(QListWidgetItem *current,
38                              QListWidgetItem *previous);
39     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
40     void downloadRemote();
41     void setDB(RemoteDB *db);
42     void onDBError(int error);
43
44 signals:
45     void remoteChanged(Remote);
46
47 protected slots:
48     void showEvent(QShowEvent*);
49
50 private:
51     RemoteDBMgr remoteDBMgr;
52
53     QLabel *remoteNameLabel;
54     QHBoxLayout *layout;
55     QListWidget *alphabetList;
56     QListWidget *mfgList;
57     RemoteTable *modelList;
58     QPushButton *downloadBtn;
59     RemoteDB *remoteDB;
60     OnlinePollerThread *onlinePollerThread;
61
62     void setBusy(bool busy = true);
63 };
64
65 #endif
66