1 #include "settingsdlg.h"
7 #include <QListWidgetItem>
9 #include <QtNetwork/QNetworkAccessManager>
10 #include <QtNetwork/QNetworkReply>
13 SettingsDlg::SettingsDlg(QWidget *parent)
16 this->setWindowTitle(tr("Settings"));
19 netAM = new QNetworkAccessManager(this);
21 settings = new QSettings(this);
23 layout = new QHBoxLayout(this);
25 alphabetList = new QListWidget(this);
26 for (char c = 'a'; c <= 'z'; ++c)
28 alphabetList->addItem(QString(c));
30 layout->addWidget(alphabetList);
31 connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
32 this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*)));
34 mfgList = new QListWidget(this);
35 layout->addWidget(mfgList);
36 connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
37 this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*)));
39 modelList = new QListWidget(this);
40 layout->addWidget(modelList);
41 connect(modelList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
42 this, SLOT(modelItemChanged(QListWidgetItem*, QListWidgetItem*)));
44 this->setLayout(layout);
47 SettingsDlg::~SettingsDlg()
54 void SettingsDlg::alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
56 QNetworkReply* reply = netAM->get(
61 "http://mercury.wipsl.com/irwi/remotes/"
62 ).toString() + current->text() + ".txt"
66 connect(netAM, SIGNAL(finished(QNetworkReply*)),
67 this, SLOT(mfgListDownloadFinished(QNetworkReply*)));
70 void SettingsDlg::mfgListDownloadFinished(QNetworkReply *reply)
73 QBuffer buf(reply->readAll());
74 while (buf->canReadLine())
76 mfgList->addItem(QString(buf->readLine()));
81 void SettingsDlg::mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
85 void SettingsDlg::modelItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
89 settings->setValue("remoteName", current->text());
90 //TODO save remote from server to /etc/lircd.conf
91 //maybe lirc needs restart after that?