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