Added a download button to 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 class QHBoxLayout;
9 class QListWidget;
10 class QListWidgetItem;
11 class QSettings;
12 class QNetworkAccessManager;
13 class QNetworkReply;
14 class QWidget;
15 class QPushButton;
16
17 class SelectRemoteDlg : public QDialog
18 {
19     Q_OBJECT
20 public:
21     SelectRemoteDlg(QWidget *parent = 0);
22     ~SelectRemoteDlg();
23
24 signals:
25     void remoteDownloaded();
26
27 private slots:
28     void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
29     
30     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
31     void mfgListDownloadFinished(QNetworkReply *reply);
32
33     void modelListDownloadFinished(QNetworkReply *reply);
34
35     void downloadRemote();
36     void remoteDownloadFinished(QNetworkReply *reply);
37
38 private:
39     QHBoxLayout *layout;
40     QListWidget *alphabetList;
41     QListWidget *mfgList;
42     QListWidget *modelList;
43     QSettings *settings;
44     QNetworkAccessManager *mfgNetAM;
45     QNetworkAccessManager *modelNetAM;
46     QNetworkAccessManager *remoteNetAM;
47     QMap<QString, QString> *deviceNameMap;
48     QPushButton *downloadBtn;
49
50     void beginDownload(const QString &url, QNetworkAccessManager *nam);
51     void setBusy(bool busy = true);
52 };
53
54 #endif
55