#include <QBuffer>
#include <QByteArray>
#include <QFile>
+#include <QMap>
SettingsDlg::SettingsDlg(QWidget *parent)
: QDialog(parent)
{
this->setWindowTitle(tr("Settings"));
+ deviceNameMap = new QMap<QString, QString>();
+
//TODO caching?
mfgNetAM = new QNetworkAccessManager(this);
connect(mfgNetAM, SIGNAL(finished(QNetworkReply*)),
delete mfgNetAM;
delete modelNetAM;
delete remoteNetAM;
+ delete deviceNameMap;
}
void SettingsDlg::beginDownload(const QString &url, QNetworkAccessManager *nam)
QBuffer buf(&ba, this);
buf.open(QIODevice::ReadOnly);
buf.seek(0);
+ deviceNameMap->clear();
while (buf.canReadLine())
{
QString str(buf.readLine());
str.chop(1);
- modelList->addItem(str);
+ QStringList strlist = str.split(":");
+ if (strlist.count() == 2) {
+ modelList->addItem(strlist[1]);
+ deviceNameMap->insert(strlist[1], strlist[0]);
+ }
}
} else {
//qDebug() << (int)reply->error();
"remoteUrl", "http://mercury.wipsl.com/irwi/remotes/").toString()
+ alphabetList->currentItem()->text()
+ "/" + mfgList->currentItem()->text()
- + "/" + current->text();
+ + "/" + (*deviceNameMap)[current->text()];
beginDownload(url, remoteNetAM);
settings->setValue("remoteName", current->text());
}
#include <QDialog>
#include <QString>
+#include <QMap>
class QHBoxLayout;
class QListWidget;
QNetworkAccessManager *mfgNetAM;
QNetworkAccessManager *modelNetAM;
QNetworkAccessManager *remoteNetAM;
+ QMap<QString, QString> *deviceNameMap;
void beginDownload(const QString &url, QNetworkAccessManager *nam);
};