X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fselectremotedlg.cpp;h=a74c8b5c126ab28282ba45dfd74b7b85797aa800;hb=ed7ff3a791bf0fe390fbc55e3a73b0a93cb6f8b8;hp=898c6e144a3b016c6d29dc361634320569e998b1;hpb=e31b792996b7d8586c5f16b246d8e46cfab657af;p=irwi diff --git a/src/selectremotedlg.cpp b/src/selectremotedlg.cpp index 898c6e1..a74c8b5 100644 --- a/src/selectremotedlg.cpp +++ b/src/selectremotedlg.cpp @@ -1,7 +1,8 @@ #include "selectremotedlg.h" -#include "remotelist.h" +#include "remotedbparser.h" #include "model.h" +#include "iengine.h" #include @@ -24,68 +25,69 @@ #include #include -SelectRemoteDlg::SelectRemoteDlg(QWidget *parent) +SelectRemoteDlg::SelectRemoteDlg(QWidget *parent, IEngine *engine) : QDialog(parent) { - this->setWindowTitle(tr("Select remote")); - this->setMinimumHeight(320); - - deviceNameMap = new QMap(); - settings = new QSettings(this); - remoteList = NULL; - - layout = new QHBoxLayout(this); - - alphabetList = new QListWidget(this); - alphabetList->setMaximumWidth(96); - layout->addWidget(alphabetList); - connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), - this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*))); - - mfgList = new QListWidget(this); - layout->addWidget(mfgList); - connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), - this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*))); - - modelList = new QListWidget(this); - layout->addWidget(modelList); - - downloadBtn = new QPushButton(tr("Download"), this); - layout->addWidget(downloadBtn); - connect(downloadBtn, SIGNAL(clicked()), - this, SLOT(downloadRemote())); - - this->setLayout(layout); - - //TODO caching? - listNetAM = new QNetworkAccessManager(this); - connect(listNetAM, SIGNAL(finished(QNetworkReply*)), - this, SLOT(listDownloadFinished(QNetworkReply*))); - - remoteNetAM = new QNetworkAccessManager(this); - connect(remoteNetAM, SIGNAL(finished(QNetworkReply*)), - this, SLOT(remoteDownloadFinished(QNetworkReply*))); - beginDownload(settings->value("dbUrl", - "http://mercury.wipsl.com/irwi/db.xml").toString(), listNetAM); +// this->setWindowTitle(tr("Select remote")); +// this->setMinimumHeight(320); +// +// deviceNameMap = new QMap(); +// settings = new QSettings(this); +// remoteList = NULL; +// +// layout = new QHBoxLayout(this); +// +// alphabetList = new QListWidget(this); +// alphabetList->setMaximumWidth(96); +// layout->addWidget(alphabetList); +// connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), +// this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*))); +// +// mfgList = new QListWidget(this); +// layout->addWidget(mfgList); +// connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), +// this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*))); +// +// modelList = new QListWidget(this); +// layout->addWidget(modelList); +// +// downloadBtn = new QPushButton(tr("Download"), this); +// layout->addWidget(downloadBtn); +// connect(downloadBtn, SIGNAL(clicked()), +// this, SLOT(downloadRemote())); +// +// this->setLayout(layout); +// +// //TODO caching? +// listNetAM = new QNetworkAccessManager(this); +// connect(listNetAM, SIGNAL(finished(QNetworkReply*)), +// this, SLOT(listDownloadFinished(QNetworkReply*))); +// +// remoteNetAM = new QNetworkAccessManager(this); +// connect(remoteNetAM, SIGNAL(finished(QNetworkReply*)), +// this, SLOT(remoteDownloadFinished(QNetworkReply*))); +// beginDownload(settings->value("dbUrl", +// "http://mercury.wipsl.com/irwi/db.xml").toString(), listNetAM); } + SelectRemoteDlg::~SelectRemoteDlg() { - delete layout; - delete settings; - delete listNetAM; - delete remoteNetAM; - delete deviceNameMap; - if (remoteList) - { - delete remoteList; - } +// delete layout; +// delete settings; +// delete listNetAM; +// delete remoteNetAM; +// delete deviceNameMap; +// if (remoteList) +// { +// delete remoteList; +// } } void SelectRemoteDlg::setBusy(bool busy) { - setAttribute(Qt::WA_Maemo5ShowProgressIndicator, busy); - setEnabled(!busy); +// setAttribute(Qt::WA_Maemo5ShowProgressIndicator, busy); +// setEnabled(!busy); } void SelectRemoteDlg::beginDownload(const QString &url, @@ -98,91 +100,92 @@ void SelectRemoteDlg::beginDownload(const QString &url, void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current, QListWidgetItem * /*previous*/) { - mfgList->clear(); - modelList->clear(); - if (current) - { - mfgList->addItems(remoteList->manufacturers(current->text())); - } +// mfgList->clear(); +// modelList->clear(); +// if (current) +// { +// mfgList->addItems(remoteList->manufacturers(current->text())); +// } } void SelectRemoteDlg::listDownloadFinished(QNetworkReply *reply) { - if (reply->error() == QNetworkReply::NoError) { - QByteArray ba = reply->readAll(); - QBuffer buf(&ba, this); - buf.open(QIODevice::ReadOnly); - buf.seek(0); - QDomDocument doc; - doc.setContent(&buf); - remoteList = new RemoteList(doc); - QStringList alist = remoteList->letters(); - for (int i = 0; i < alist.size(); ++i) - { - alphabetList->addItem(QString(alist[i])); - } - } else { - //qDebug() << (int)reply->error(); - } - reply->close(); - reply->deleteLater(); - setBusy(false); +// if (reply->error() == QNetworkReply::NoError) { +// QByteArray ba = reply->readAll(); +// QBuffer buf(&ba, this); +// buf.open(QIODevice::ReadOnly); +// buf.seek(0); +// QDomDocument doc; +// doc.setContent(&buf); +// remoteList = new RemoteList(doc); +// QStringList alist = remoteList->letters(); +// for (int i = 0; i < alist.size(); ++i) +// { +// alphabetList->addItem(QString(alist[i])); +// } +// } else { +// //qDebug() << (int)reply->error(); +// } +// reply->close(); +// reply->deleteLater(); +// setBusy(false); } void SelectRemoteDlg::mfgItemChanged(QListWidgetItem *current, QListWidgetItem * /*previous*/) { - modelList->clear(); - deviceNameMap->clear(); - if (current) - { - QList models = remoteList->models(current->text()); - for (int i = 0; i < models.size(); ++i) - { - modelList->addItem(models[i].name); - deviceNameMap->insert(models[i].name, models[i].file); - } - - } +// modelList->clear(); +// deviceNameMap->clear(); +// if (current) +// { +// QList models = remoteList->models(current->text()); +// for (int i = 0; i < models.size(); ++i) +// { +// modelList->addItem(models[i].name); +// deviceNameMap->insert(models[i].name, models[i].file); +// } +// +// } } void SelectRemoteDlg::downloadRemote() { - QListWidgetItem *currentModel = modelList->currentItem(); - if (currentModel) - { - QString name = currentModel->text(); - if (!name.isEmpty()) { - QString url = settings->value( - "remoteUrl", - "http://mercury.wipsl.com/irwi/uploaded/").toString() - + (*deviceNameMap)[name]; - beginDownload(url, remoteNetAM); - settings->setValue("remoteName", name); - } - } +// QListWidgetItem *currentModel = modelList->currentItem(); +// if (currentModel) +// { +// QString name = currentModel->text(); +// if (!name.isEmpty()) { +// QString url = settings->value( +// "remoteUrl", +// "http://mercury.wipsl.com/irwi/uploaded/").toString() +// + (*deviceNameMap)[name]; +// beginDownload(url, remoteNetAM); +// settings->setValue("remoteName", name); +// } +// } } void SelectRemoteDlg::remoteDownloadFinished(QNetworkReply *reply) { - if (reply->error() == QNetworkReply::NoError) { - QFile file(settings->value("lircConf", "/etc/lircd.conf").toString()); - if(file.open(QIODevice::WriteOnly)) - { - file.write(reply->readAll()); - file.close(); - } - } - reply->close(); - reply->deleteLater(); - - std::system("sudo /etc/init.d/lirc reload"); - - emit remoteDownloaded(); - setBusy(false); - QMessageBox mbox(QMessageBox::Information, tr("Success"), - tr("Remote downloaded"), QMessageBox::Ok, this); - mbox.exec(); - this->close(); +// if (reply->error() == QNetworkReply::NoError) { +// QFile file(settings->value("lircConf", "/etc/lircd.conf").toString()); +// if(file.open(QIODevice::WriteOnly)) +// { +// file.write(reply->readAll()); +// file.close(); +// } +// } +// reply->close(); +// reply->deleteLater(); +// +// std::system("sudo /etc/init.d/lirc reload"); +// +// emit remoteDownloaded(); +// setBusy(false); +// QMessageBox mbox(QMessageBox::Information, tr("Success"), +// tr("Remote downloaded"), QMessageBox::Ok, this); +// mbox.exec(); +// this->close(); } +