1 #include "selectremotedlg.h"
3 #include "remotedbparser.h"
12 #include <QListWidget>
13 #include <QListWidgetItem>
15 #include <QtNetwork/QNetworkAccessManager>
16 #include <QtNetwork/QNetworkReply>
22 #include <QMessageBox>
23 #include <QPushButton>
24 #include <QListWidgetItem>
25 #include <QDomDocument>
27 SelectRemoteDlg::SelectRemoteDlg(QWidget *parent)
30 // this->setWindowTitle(tr("Select remote"));
31 // this->setMinimumHeight(320);
33 // deviceNameMap = new QMap<QString, QString>();
34 // settings = new QSettings(this);
37 // layout = new QHBoxLayout(this);
39 // alphabetList = new QListWidget(this);
40 // alphabetList->setMaximumWidth(96);
41 // layout->addWidget(alphabetList);
42 // connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
43 // this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*)));
45 // mfgList = new QListWidget(this);
46 // layout->addWidget(mfgList);
47 // connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
48 // this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*)));
50 // modelList = new QListWidget(this);
51 // layout->addWidget(modelList);
53 // downloadBtn = new QPushButton(tr("Download"), this);
54 // layout->addWidget(downloadBtn);
55 // connect(downloadBtn, SIGNAL(clicked()),
56 // this, SLOT(downloadRemote()));
58 // this->setLayout(layout);
61 // listNetAM = new QNetworkAccessManager(this);
62 // connect(listNetAM, SIGNAL(finished(QNetworkReply*)),
63 // this, SLOT(listDownloadFinished(QNetworkReply*)));
65 // remoteNetAM = new QNetworkAccessManager(this);
66 // connect(remoteNetAM, SIGNAL(finished(QNetworkReply*)),
67 // this, SLOT(remoteDownloadFinished(QNetworkReply*)));
68 // beginDownload(settings->value("dbUrl",
69 // "http://mercury.wipsl.com/irwi/db.xml").toString(), listNetAM);
73 SelectRemoteDlg::~SelectRemoteDlg()
78 // delete remoteNetAM;
79 // delete deviceNameMap;
86 void SelectRemoteDlg::setBusy(bool busy)
88 // setAttribute(Qt::WA_Maemo5ShowProgressIndicator, busy);
92 void SelectRemoteDlg::beginDownload(const QString &url,
93 QNetworkAccessManager *nam)
95 nam->get(QNetworkRequest(QUrl(url)));
99 void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current,
100 QListWidgetItem * /*previous*/)
103 // modelList->clear();
106 // mfgList->addItems(remoteList->manufacturers(current->text()));
110 void SelectRemoteDlg::listDownloadFinished(QNetworkReply *reply)
112 // if (reply->error() == QNetworkReply::NoError) {
113 // QByteArray ba = reply->readAll();
114 // QBuffer buf(&ba, this);
115 // buf.open(QIODevice::ReadOnly);
118 // doc.setContent(&buf);
119 // remoteList = new RemoteList(doc);
120 // QStringList alist = remoteList->letters();
121 // for (int i = 0; i < alist.size(); ++i)
123 // alphabetList->addItem(QString(alist[i]));
126 // //qDebug() << (int)reply->error();
129 // reply->deleteLater();
133 void SelectRemoteDlg::mfgItemChanged(QListWidgetItem *current,
134 QListWidgetItem * /*previous*/)
136 // modelList->clear();
137 // deviceNameMap->clear();
140 // QList<Model> models = remoteList->models(current->text());
141 // for (int i = 0; i < models.size(); ++i)
143 // modelList->addItem(models[i].name);
144 // deviceNameMap->insert(models[i].name, models[i].file);
150 void SelectRemoteDlg::downloadRemote()
152 // QListWidgetItem *currentModel = modelList->currentItem();
155 // QString name = currentModel->text();
156 // if (!name.isEmpty()) {
157 // QString url = settings->value(
159 // "http://mercury.wipsl.com/irwi/uploaded/").toString()
160 // + (*deviceNameMap)[name];
161 // beginDownload(url, remoteNetAM);
162 // settings->setValue("remoteName", name);
167 void SelectRemoteDlg::remoteDownloadFinished(QNetworkReply *reply)
169 // if (reply->error() == QNetworkReply::NoError) {
170 // QFile file(settings->value("lircConf", "/etc/lircd.conf").toString());
171 // if(file.open(QIODevice::WriteOnly))
173 // file.write(reply->readAll());
178 // reply->deleteLater();
180 // std::system("sudo /etc/init.d/lirc reload");
182 // emit remoteDownloaded();
184 // QMessageBox mbox(QMessageBox::Information, tr("Success"),
185 // tr("Remote downloaded"), QMessageBox::Ok, this);