109a7efe9d0d977982512625f402a4ebf4c74582
[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 QSettings;
15 class QNetworkAccessManager;
16 class QNetworkReply;
17 class QWidget;
18 class QPushButton;
19 class QLabel;
20 class QShowEvent;
21
22 class SelectRemoteDlg : public QDialog
23 {
24     Q_OBJECT
25
26 public:
27     SelectRemoteDlg(QWidget *parent = 0);
28     ~SelectRemoteDlg();
29
30 public slots:
31     void refreshDB();
32     void getDB();
33
34 private slots:
35     void alphabetItemChanged(QListWidgetItem *current,
36                              QListWidgetItem *previous);
37     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
38     void downloadRemote();
39     void setDB(RemoteDB *db);
40
41 signals:
42     void remoteChanged(Remote);
43
44 protected slots:
45     void showEvent(QShowEvent*);
46
47 private:
48     RemoteDBMgr remoteDBMgr;
49
50     QLabel *remoteNameLabel;
51     QHBoxLayout *layout;
52     QListWidget *alphabetList;
53     QListWidget *mfgList;
54     QListWidget *modelList;
55     QPushButton *downloadBtn;
56     RemoteDB *remoteDB;
57     OnlinePollerThread *onlinePollerThread;
58
59     void setBusy(bool busy = true);
60 };
61
62 #endif
63