90170cd2904370cd935e2c49c290bde8b3e0e54f
[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
43 signals:
44     void remoteChanged(Remote);
45
46 protected slots:
47     void showEvent(QShowEvent*);
48
49 private:
50     RemoteDBMgr remoteDBMgr;
51
52     QLabel *remoteNameLabel;
53     QHBoxLayout *layout;
54     QListWidget *alphabetList;
55     QListWidget *mfgList;
56     RemoteTable *modelList;
57     QPushButton *downloadBtn;
58     RemoteDB *remoteDB;
59     OnlinePollerThread *onlinePollerThread;
60
61     void setBusy(bool busy = true);
62 };
63
64 #endif
65