00001 #ifndef SELECTREMOTEDLG_H
00002 #define SELECTREMOTEDLG_H
00003
00004 #include <QDialog>
00005 #include <QString>
00006 #include <QMap>
00007
00008 class QHBoxLayout;
00009 class QListWidget;
00010 class QListWidgetItem;
00011 class QSettings;
00012 class QNetworkAccessManager;
00013 class QNetworkReply;
00014 class QWidget;
00015 class QPushButton;
00016 class QLabel;
00017
00018 class SelectRemoteDlg : public QDialog
00019 {
00020 Q_OBJECT
00021 public:
00022 SelectRemoteDlg(QWidget *parent = 0);
00023 ~SelectRemoteDlg();
00024
00025 signals:
00026 void remoteDownloaded();
00027
00028 private slots:
00029 void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
00030
00031 void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
00032 void mfgListDownloadFinished(QNetworkReply *reply);
00033
00034 void modelListDownloadFinished(QNetworkReply *reply);
00035
00036 void downloadRemote();
00037 void remoteDownloadFinished(QNetworkReply *reply);
00038
00039 private:
00040 QHBoxLayout *layout;
00041 QListWidget *alphabetList;
00042 QListWidget *mfgList;
00043 QListWidget *modelList;
00044 QSettings *settings;
00045 QNetworkAccessManager *mfgNetAM;
00046 QNetworkAccessManager *modelNetAM;
00047 QNetworkAccessManager *remoteNetAM;
00048 QMap<QString, QString> *deviceNameMap;
00049 QPushButton *downloadBtn;
00050 QLabel *remoteNameLabel;
00051
00052 void beginDownload(const QString &url, QNetworkAccessManager *nam);
00053 void setBusy(bool busy = true);
00054 };
00055
00056 #endif
00057