From 818328b10565890813896256cf2c67ebc6393ecc Mon Sep 17 00:00:00 2001 From: Jari Jarvi Date: Mon, 24 May 2010 17:45:02 +0300 Subject: [PATCH] Fixed some bugs. Now it compiles. --- src/irctrl.cpp | 39 ++++++++++++++++++++++----------------- src/irctrl.h | 15 +++++++++------ src/settingsdlg.cpp | 25 +++++++++++++++++-------- 3 files changed, 48 insertions(+), 31 deletions(-) diff --git a/src/irctrl.cpp b/src/irctrl.cpp index 15ccc48..92b4942 100644 --- a/src/irctrl.cpp +++ b/src/irctrl.cpp @@ -1,5 +1,3 @@ -#include "irctrl.h" - #include #include @@ -8,60 +6,67 @@ #include #include #include +#include + +#include "irctrl.h" IrCtrl::IrCtrl() + : settings(NULL) { + settings = new QSettings(this); std::system("lircctl start"); } IrCtrl::~IrCtrl() { + delete settings; + settings = NULL; std::system("lircctl stop"); } void IrCtrl::genericSendCmd(const QString &commandName) { - QSettings settings(this); QTcpSocket sock(this); // sock.setSocketOption(QAbstractSocket::LowDelayOption, 1); sock.connectToHost(QHostAddress::LocalHost, - settings.value("lircPort", LIRC_PORT).toInt(), + settings->value("lircPort", LIRC_PORT).toInt(), QIODevice::WriteOnly|QIODevice::Unbuffered); sock.waitForConnected(); - QString remoteName = settings.value("remoteName", "REMOTE_NAME_MISSING").toString(); + QString remoteName = + settings->value("remoteName", "REMOTE_NAME_MISSING").toString(); QString cmd = "SEND_ONCE " + remoteName + " " + commandName + "\n"; sock.write(cmd.toAscii()); sock.waitForBytesWritten(); sock.close(); } -void IrCtrl::sendCmd0(bool) +void IrCtrl::sendCmd0() { - genericSendCmd(settings.value("cmd0", "VOL+").toString()); + genericSendCmd(settings->value("cmd0", "VOL+").toString()); } -void IrCtrl::sendCmd1(bool) +void IrCtrl::sendCmd1() { - genericSendCmd(settings.value("cmd1", "VOL-")); + genericSendCmd(settings->value("cmd1", "VOL-").toString()); } -void IrCtrl::sendCmd2(bool) +void IrCtrl::sendCmd2() { - genericSendCmd(settings.value("cmd2", "P+")); + genericSendCmd(settings->value("cmd2", "P+").toString()); } -void IrCtrl::sendCmd3(bool) +void IrCtrl::sendCmd3() { - genericSendCmd(settings.value("cmd3", "P-")); + genericSendCmd(settings->value("cmd3", "P-").toString()); } -void IrCtrl::sendCmd4(bool) +void IrCtrl::sendCmd4() { - genericSendCmd(settings.value("cmd4", "ON/OFF")); + genericSendCmd(settings->value("cmd4", "ON/OFF").toString()); } -void IrCtrl::sendCmd5(bool) +void IrCtrl::sendCmd5() { - genericSendCmd(settings.value("cmd5", "MUTE")); + genericSendCmd(settings->value("cmd5", "MUTE").toString()); } diff --git a/src/irctrl.h b/src/irctrl.h index 9c62368..69c699f 100644 --- a/src/irctrl.h +++ b/src/irctrl.h @@ -4,6 +4,8 @@ #include #include +class QSettings; + class IrCtrl : public QObject { Q_OBJECT @@ -12,14 +14,15 @@ public: ~IrCtrl(); public slots: - void sendCmd0(bool); - void sendCmd1(bool); - void sendCmd2(bool); - void sendCmd3(bool); - void sendCmd4(bool); - void sendCmd5(bool); + void sendCmd0(); + void sendCmd1(); + void sendCmd2(); + void sendCmd3(); + void sendCmd4(); + void sendCmd5(); private: + QSettings *settings; static const quint16 LIRC_PORT = 8765; void genericSendCmd(const QString &commandName); }; diff --git a/src/settingsdlg.cpp b/src/settingsdlg.cpp index 8ee261f..071c4b9 100644 --- a/src/settingsdlg.cpp +++ b/src/settingsdlg.cpp @@ -65,11 +65,17 @@ SettingsDlg::SettingsDlg(QWidget *parent) SettingsDlg::~SettingsDlg() { delete layout; + layout = NULL; delete settings; + settings = NULL; delete mfgNetAM; + mfgNetAM = NULL; delete modelNetAM; + modelNetAM = NULL; delete remoteNetAM; + remoteNetAM = NULL; delete deviceNameMap; + deviceNameMap = NULL; } void SettingsDlg::beginDownload(const QString &url, QNetworkAccessManager *nam) @@ -77,10 +83,12 @@ void SettingsDlg::beginDownload(const QString &url, QNetworkAccessManager *nam) nam->get(QNetworkRequest(QUrl(url))); } -void SettingsDlg::alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous) +void SettingsDlg::alphabetItemChanged(QListWidgetItem *current, + QListWidgetItem *previous) { - QString url = settings->value("remoteUrl", "http://mercury.wipsl.com/irwi/remotes/").toString() - + current->text() + ".txt"; + QString url = settings->value("remoteUrl", + "http://mercury.wipsl.com/irwi/remotes/").toString() + + current->text() + ".txt"; beginDownload(url, mfgNetAM); } @@ -148,10 +156,11 @@ void SettingsDlg::modelItemChanged(QListWidgetItem *current, QListWidgetItem *pr { if (!current->text().isEmpty()) { QString url = settings->value( - "remoteUrl", "http://mercury.wipsl.com/irwi/remotes/").toString() - + alphabetList->currentItem()->text() - + "/" + mfgList->currentItem()->text() - + "/" + (*deviceNameMap)[current->text()]; + "remoteUrl", + "http://mercury.wipsl.com/irwi/remotes/").toString() + + alphabetList->currentItem()->text() + + "/" + mfgList->currentItem()->text() + + "/" + (*deviceNameMap)[current->text()]; beginDownload(url, remoteNetAM); settings->setValue("remoteName", current->text()); } @@ -161,7 +170,7 @@ void SettingsDlg::modelItemChanged(QListWidgetItem *current, QListWidgetItem *pr void SettingsDlg::remoteDownloadFinished(QNetworkReply *reply) { if (reply->error() == QNetworkReply::NoError) { - QFile file(settings->value("lircConf", "/etc/lircd.conf")); + QFile file(settings->value("lircConf", "/etc/lircd.conf").toString()); if(file.open(QIODevice::WriteOnly)) { file.write(reply->readAll()); -- 1.7.9.5