1 #include "selectremotedlg.h"
3 #include "remotedbparser.h"
10 #include <QHBoxLayout>
13 #include <QListWidget>
14 #include <QListWidgetItem>
16 #include <QtNetwork/QNetworkAccessManager>
17 #include <QtNetwork/QNetworkReply>
23 #include <QMessageBox>
24 #include <QPushButton>
25 #include <QListWidgetItem>
26 #include <QDomDocument>
28 SelectRemoteDlg::SelectRemoteDlg(QWidget *parent, IEngine *engine)
31 // this->setWindowTitle(tr("Select remote"));
32 // this->setMinimumHeight(320);
34 // deviceNameMap = new QMap<QString, QString>();
35 // settings = new QSettings(this);
38 // layout = new QHBoxLayout(this);
40 // alphabetList = new QListWidget(this);
41 // alphabetList->setMaximumWidth(96);
42 // layout->addWidget(alphabetList);
43 // connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
44 // this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*)));
46 // mfgList = new QListWidget(this);
47 // layout->addWidget(mfgList);
48 // connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
49 // this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*)));
51 // modelList = new QListWidget(this);
52 // layout->addWidget(modelList);
54 // downloadBtn = new QPushButton(tr("Download"), this);
55 // layout->addWidget(downloadBtn);
56 // connect(downloadBtn, SIGNAL(clicked()),
57 // this, SLOT(downloadRemote()));
59 // this->setLayout(layout);
62 // listNetAM = new QNetworkAccessManager(this);
63 // connect(listNetAM, SIGNAL(finished(QNetworkReply*)),
64 // this, SLOT(listDownloadFinished(QNetworkReply*)));
66 // remoteNetAM = new QNetworkAccessManager(this);
67 // connect(remoteNetAM, SIGNAL(finished(QNetworkReply*)),
68 // this, SLOT(remoteDownloadFinished(QNetworkReply*)));
69 // beginDownload(settings->value("dbUrl",
70 // "http://mercury.wipsl.com/irwi/db.xml").toString(), listNetAM);
74 SelectRemoteDlg::~SelectRemoteDlg()
79 // delete remoteNetAM;
80 // delete deviceNameMap;
87 void SelectRemoteDlg::setBusy(bool busy)
89 // setAttribute(Qt::WA_Maemo5ShowProgressIndicator, busy);
93 void SelectRemoteDlg::beginDownload(const QString &url,
94 QNetworkAccessManager *nam)
96 nam->get(QNetworkRequest(QUrl(url)));
100 void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current,
101 QListWidgetItem * /*previous*/)
104 // modelList->clear();
107 // mfgList->addItems(remoteList->manufacturers(current->text()));
111 void SelectRemoteDlg::listDownloadFinished(QNetworkReply *reply)
113 // if (reply->error() == QNetworkReply::NoError) {
114 // QByteArray ba = reply->readAll();
115 // QBuffer buf(&ba, this);
116 // buf.open(QIODevice::ReadOnly);
119 // doc.setContent(&buf);
120 // remoteList = new RemoteList(doc);
121 // QStringList alist = remoteList->letters();
122 // for (int i = 0; i < alist.size(); ++i)
124 // alphabetList->addItem(QString(alist[i]));
127 // //qDebug() << (int)reply->error();
130 // reply->deleteLater();
134 void SelectRemoteDlg::mfgItemChanged(QListWidgetItem *current,
135 QListWidgetItem * /*previous*/)
137 // modelList->clear();
138 // deviceNameMap->clear();
141 // QList<Model> models = remoteList->models(current->text());
142 // for (int i = 0; i < models.size(); ++i)
144 // modelList->addItem(models[i].name);
145 // deviceNameMap->insert(models[i].name, models[i].file);
151 void SelectRemoteDlg::downloadRemote()
153 // QListWidgetItem *currentModel = modelList->currentItem();
156 // QString name = currentModel->text();
157 // if (!name.isEmpty()) {
158 // QString url = settings->value(
160 // "http://mercury.wipsl.com/irwi/uploaded/").toString()
161 // + (*deviceNameMap)[name];
162 // beginDownload(url, remoteNetAM);
163 // settings->setValue("remoteName", name);
168 void SelectRemoteDlg::remoteDownloadFinished(QNetworkReply *reply)
170 // if (reply->error() == QNetworkReply::NoError) {
171 // QFile file(settings->value("lircConf", "/etc/lircd.conf").toString());
172 // if(file.open(QIODevice::WriteOnly))
174 // file.write(reply->readAll());
179 // reply->deleteLater();
181 // std::system("sudo /etc/init.d/lirc reload");
183 // emit remoteDownloaded();
185 // QMessageBox mbox(QMessageBox::Information, tr("Success"),
186 // tr("Remote downloaded"), QMessageBox::Ok, this);