843331894b8d12bbb6c4d4c8927e95d816792bab
[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
33 private slots:
34     void alphabetItemChanged(QListWidgetItem *current,
35                              QListWidgetItem *previous);
36     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
37     void downloadRemote();
38     void setDB(RemoteDB *db);
39
40 signals:
41     void remoteChanged(Remote);
42
43 protected slots:
44     void showEvent(QShowEvent*);
45
46 private:
47     RemoteDBMgr remoteDBMgr;
48
49     QLabel *remoteNameLabel;
50     QHBoxLayout *layout;
51     QListWidget *alphabetList;
52     QListWidget *mfgList;
53     QListWidget *modelList;
54     QPushButton *downloadBtn;
55     RemoteDB *remoteDB;
56
57     void setBusy(bool busy = true);
58 };
59
60 #endif
61