Added an about dialog
[irwi] / src / selectremotedlg.h
1 #ifndef SELECTREMOTEDLG_H
2 #define SELECTREMOTEDLG_H
3
4 #include <QDialog>
5 #include <QString>
6 #include <QMap>
7
8 class QHBoxLayout;
9 class QListWidget;
10 class QListWidgetItem;
11 class QSettings;
12 class QNetworkAccessManager;
13 class QNetworkReply;
14 class QWidget;
15 class QPushButton;
16 class QLabel;
17
18 class SelectRemoteDlg : public QDialog
19 {
20     Q_OBJECT
21 public:
22     SelectRemoteDlg(QWidget *parent = 0);
23     ~SelectRemoteDlg();
24
25 signals:
26     void remoteDownloaded();
27
28 private slots:
29     void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
30     
31     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
32     void mfgListDownloadFinished(QNetworkReply *reply);
33
34     void modelListDownloadFinished(QNetworkReply *reply);
35
36     void downloadRemote();
37     void remoteDownloadFinished(QNetworkReply *reply);
38
39 private:
40     QHBoxLayout *layout;
41     QListWidget *alphabetList;
42     QListWidget *mfgList;
43     QListWidget *modelList;
44     QSettings *settings;
45     QNetworkAccessManager *mfgNetAM;
46     QNetworkAccessManager *modelNetAM;
47     QNetworkAccessManager *remoteNetAM;
48     QMap<QString, QString> *deviceNameMap;
49     QPushButton *downloadBtn;
50     QLabel *remoteNameLabel;
51
52     void beginDownload(const QString &url, QNetworkAccessManager *nam);
53     void setBusy(bool busy = true);
54 };
55
56 #endif
57