#include <QFile>
#include <QMap>
#include <QMessageBox>
+#include <QPushButton>
+#include <QListWidgetItem>
SelectRemoteDlg::SelectRemoteDlg(QWidget *parent)
: QDialog(parent)
{
this->setWindowTitle(tr("Select remote"));
+ this->setMinimumHeight(320);
deviceNameMap = new QMap<QString, QString>();
layout = new QHBoxLayout(this);
alphabetList = new QListWidget(this);
+ alphabetList->setMaximumWidth(96);
for (char c = 'a'; c <= 'z'; ++c)
{
alphabetList->addItem(QString(c));
modelList = new QListWidget(this);
layout->addWidget(modelList);
- connect(modelList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
- this, SLOT(modelItemChanged(QListWidgetItem*, QListWidgetItem*)));
+
+ downloadBtn = new QPushButton(tr("Download"), this);
+ layout->addWidget(downloadBtn);
+ connect(downloadBtn, SIGNAL(clicked()),
+ this, SLOT(downloadRemote()));
this->setLayout(layout);
}
deviceNameMap = NULL;
}
+void SelectRemoteDlg::setBusy(bool busy)
+{
+ setAttribute(Qt::WA_Maemo5ShowProgressIndicator, busy);
+ setEnabled(!busy);
+}
+
void SelectRemoteDlg::beginDownload(const QString &url, QNetworkAccessManager *nam)
{
nam->get(QNetworkRequest(QUrl(url)));
+ setBusy(true);
}
void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current,
}
reply->close();
reply->deleteLater();
+ setBusy(false);
}
void SelectRemoteDlg::mfgItemChanged(QListWidgetItem *current,
}
reply->close();
reply->deleteLater();
+ setBusy(false);
}
-void SelectRemoteDlg::modelItemChanged(QListWidgetItem *current,
- QListWidgetItem * /*previous*/)
+void SelectRemoteDlg::downloadRemote()
{
+ QListWidgetItem *current = modelList->currentItem();
if (current)
{
if (!current->text().isEmpty()) {
reply->close();
reply->deleteLater();
- std::system("lircctl restart");
+ std::system("sudo /etc/init.d/lirc restart");
+ emit remoteDownloaded();
+ setBusy(false);
QMessageBox mbox(QMessageBox::Information, tr("Success"),
- tr("Remote downloaded"), QMessageBox::Ok, this, Qt::Popup);
+ tr("Remote downloaded"), QMessageBox::Ok, this);
mbox.exec();
this->close();
}