#include "remote.h"
+ #include <cstdlib>
+
#include <QString>
#include <QSettings>
+ #include <QFile>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
+ #include <QNetworkReply>
#include <QUrl>
-Remote::Remote(const Remote::QString &name)
+Remote::Remote(const QString &name)
: m_name(name)
{
+ init();
+ updateInfo();
}
Remote::Remote(const QString &name, const QString &mfg,
void Remote::saveToFile()
{
+ QSettings settings;
+ if (!m_name.isEmpty()) {
- QString url = settings.value("remoteUrl", "http://mercury.wipsl.com/irwi/uploaded/").toString() + m_name;
++ QString url = settings.value("remoteUrl",
++ "http://mercury.wipsl.com/irwi/uploaded/").toString()
++ + m_name;
+ m_remoteNAM.get(QNetworkRequest(QUrl(url)));
+ settings.setValue("remoteName", m_name);
+ }
}
void Remote::updateInfo()
{
QSettings settings;
- if (m_name != "") {
- m_infoNAM.get(QNetworkRequest(QUrl(
- settings.value("baseUrl").toString()
- + "vote/get?name="
- + m_name )));
+ if (!m_name.isEmpty()) {
- QString url = settings.value("baseUrl", "http://mercury.wipsl.com/irwi/").toString() + "vote/get?name=" + m_name;
++ QString url = settings.value("baseUrl",
++ "http://mercury.wipsl.com/irwi/").toString()
++ + "vote/get?name="
++ + m_name;
+ m_infoNAM.get(QNetworkRequest(QUrl(url)));
}
}
void Remote::sendRating(Rating::Rating r)
{
QSettings settings;
- if (!m_name.isEmpty()) {
+ if (m_name != "") {
m_ratingNAM.get(QNetworkRequest(QUrl(
- settings.value("baseUrl").toString()
- + "vote/"
- + r == Rating::Up ? "up" : "down"
- + "?name="
- + m_name )));
- }
+ settings.value("baseUrl",
+ "http://mercury.wipsl.com/irwi/db.xml").toString()
+ + "vote/"
+ + ((r == Rating::Up) ? "up" : "down")
+ + "?name="
+ + m_name)));
++ }
+ }
+
+ void Remote::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();
+ }
+
+ void Remote::infoRequestFinished(QNetworkReply *reply)
+ {
+ if (reply->error() == QNetworkReply::NoError) {
+ m_rating = QString(reply->readline(20)).toInt();
+ m_voteCount = QString(reply->readline(20)).toInt();
}
+ reply->close();
+ reply->deleteLater();
+
+ emit infoUpdated();
}