Busy indicator for 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
16 class SelectRemoteDlg : public QDialog
17 {
18     Q_OBJECT
19 public:
20     SelectRemoteDlg(QWidget *parent = 0);
21     ~SelectRemoteDlg();
22
23 private slots:
24     void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
25     
26     void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
27     void mfgListDownloadFinished(QNetworkReply *reply);
28
29     void modelItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
30     void modelListDownloadFinished(QNetworkReply *reply);
31
32     void remoteDownloadFinished(QNetworkReply *reply);
33
34 private:
35     QHBoxLayout *layout;
36     QListWidget *alphabetList;
37     QListWidget *mfgList;
38     QListWidget *modelList;
39     QSettings *settings;
40     QNetworkAccessManager *mfgNetAM;
41     QNetworkAccessManager *modelNetAM;
42     QNetworkAccessManager *remoteNetAM;
43     QMap<QString, QString> *deviceNameMap;
44
45     void beginDownload(const QString &url, QNetworkAccessManager *nam);
46     void setBusy(bool busy = true);
47 };
48
49 #endif
50