From: Jari Jarvi Date: Fri, 18 Jun 2010 13:18:17 +0000 (+0300) Subject: Error fixes. Now it compiles. X-Git-Url: https://vcs.maemo.org/git/?p=irwi;a=commitdiff_plain;h=c7502c3cbc6d1bb4819b9af9300c09a986a2eebb Error fixes. Now it compiles. --- diff --git a/src/rating.cpp b/src/rating.cpp new file mode 100644 index 0000000..69c2677 --- /dev/null +++ b/src/rating.cpp @@ -0,0 +1,6 @@ +#include "rating.h" + +namespace Rating { + Rating Up = true; + Rating Down = false; +} diff --git a/src/rating.h b/src/rating.h new file mode 100644 index 0000000..650b73d --- /dev/null +++ b/src/rating.h @@ -0,0 +1,11 @@ +#ifndef RATING_H +#define RATING_H + +namespace Rating { + typedef bool Rating; + extern Rating Up; + extern Rating Down; +} + +#endif + diff --git a/src/remote.cpp b/src/remote.cpp index 9e9f80e..a545f6c 100644 --- a/src/remote.cpp +++ b/src/remote.cpp @@ -3,7 +3,6 @@ #include #include -#include #include #include #include @@ -25,6 +24,26 @@ Remote::Remote(const QString &name, const QString &mfg, init(); } +Remote::Remote(const Remote &r) + : m_name(r.m_name) + , m_mfg(r.m_mfg) + , m_rating(r.m_rating) + , m_voteCount(r.m_voteCount) +{ + init(); +} + +Remote &Remote::operator=(const Remote &other) +{ + if (this != &other) { + m_name = other.m_name; + m_mfg = other.m_mfg; + m_rating = other.m_rating; + m_voteCount = other.m_voteCount; + } + return *this; +} + void Remote::init() { connect(&m_remoteNAM, SIGNAL(finished(QNetworkReply*)), @@ -35,21 +54,19 @@ void Remote::init() void Remote::saveToFile() { - QSettings settings; if (!m_name.isEmpty()) { - QString url = settings.value("remoteUrl", + QString url = m_settings.value("remoteUrl", "http://mercury.wipsl.com/irwi/uploaded/").toString() + m_name; m_remoteNAM.get(QNetworkRequest(QUrl(url))); - settings.setValue("remoteName", m_name); + m_settings.setValue("remoteName", m_name); } } void Remote::updateInfo() { - QSettings settings; if (!m_name.isEmpty()) { - QString url = settings.value("baseUrl", + QString url = m_settings.value("baseUrl", "http://mercury.wipsl.com/irwi/").toString() + "vote/get?name=" + m_name; @@ -59,10 +76,9 @@ void Remote::updateInfo() void Remote::sendRating(Rating::Rating r) { - QSettings settings; if (m_name != "") { m_ratingNAM.get(QNetworkRequest(QUrl( - settings.value("baseUrl", + m_settings.value("baseUrl", "http://mercury.wipsl.com/irwi/db.xml").toString() + "vote/" + ((r == Rating::Up) ? "up" : "down") @@ -74,7 +90,7 @@ void Remote::sendRating(Rating::Rating r) void Remote::remoteDownloadFinished(QNetworkReply *reply) { if (reply->error() == QNetworkReply::NoError) { - QFile file(settings->value("lircConf", "/etc/lircd.conf").toString()); + QFile file(m_settings.value("lircConf", "/etc/lircd.conf").toString()); if(file.open(QIODevice::WriteOnly)) { file.write(reply->readAll()); @@ -92,8 +108,8 @@ void Remote::remoteDownloadFinished(QNetworkReply *reply) void Remote::infoRequestFinished(QNetworkReply *reply) { if (reply->error() == QNetworkReply::NoError) { - m_rating = QString(reply->readline(20)).toInt(); - m_voteCount = QString(reply->readline(20)).toInt(); + m_rating = QString(reply->readLine(20)).toInt(); + m_voteCount = QString(reply->readLine(20)).toInt(); } reply->close(); reply->deleteLater(); diff --git a/src/remote.h b/src/remote.h index 4619246..9f23019 100644 --- a/src/remote.h +++ b/src/remote.h @@ -5,12 +5,9 @@ #include #include #include +#include -namespace Rating { - typedef bool Rating; - Rating Up = true; - Rating Down = false; -} +#include "rating.h" class Remote : public QObject { @@ -19,6 +16,8 @@ public: Remote(const QString &name); Remote(const QString &name, const QString &mfg, int rating, int voteCount); + Remote(const Remote &); + Remote &operator=(const Remote &); //getters QString name() const { return m_name; } @@ -40,12 +39,12 @@ private: int m_rating; int m_voteCount; + QSettings m_settings; QNetworkAccessManager m_infoNAM; QNetworkAccessManager m_remoteNAM; QNetworkAccessManager m_ratingNAM; void init(); - void remoteDownloadFinished(QNetworkReply *reply); void infoRequestFinished(QNetworkReply *reply); }; diff --git a/src/remotedbmgr.cpp b/src/remotedbmgr.cpp index 6a4865d..3e517e4 100644 --- a/src/remotedbmgr.cpp +++ b/src/remotedbmgr.cpp @@ -7,10 +7,12 @@ #include #include #include +#include +#include RemoteDBMgr::RemoteDBMgr() { - connect(netAM, SIGNAL(finished(QNetworkReply *)), + connect(&netAM, SIGNAL(finished(QNetworkReply *)), this, SLOT(dbDownloadFinished(QNetworkReply *))); } diff --git a/src/remotedbmgr.h b/src/remotedbmgr.h index 7d5a99e..8bb607a 100644 --- a/src/remotedbmgr.h +++ b/src/remotedbmgr.h @@ -5,6 +5,9 @@ #include #include "remotedb.h" +class QDomDocument; +class QDomElement; + class RemoteDBMgr : public QObject { Q_OBJECT @@ -17,10 +20,19 @@ public: signals: void dbReady(RemoteDB *); +private slots: + void dbDownloadFinished(QNetworkReply *reply); + private: + void parse(QDomDocument &doc); + MfgMap parseMfgMap(QDomElement &charEl); + RemoteList parseRemotes(QDomElement &mfgEl); + RemoteDB db; QNetworkAccessManager netAM; + }; #endif + diff --git a/src/remotelistwidgetitem.cpp b/src/remotelistwidgetitem.cpp index 616c6a3..ac2b00e 100644 --- a/src/remotelistwidgetitem.cpp +++ b/src/remotelistwidgetitem.cpp @@ -1,14 +1,15 @@ +#include #include "remotelistwidgetitem.h" -RemoteListWidgetItem::RemoteListWidgetItem(Remote remote, QWidget *parent = 0) - : m_remote(remote), QListWidgetItem(parent, 1337) +RemoteListWidgetItem::RemoteListWidgetItem(Remote remote, QListWidget *parent) + : QListWidgetItem(parent, 1337), m_remote(remote) { } //overrides QListWidgetItem::data QVariant RemoteListWidgetItem::data(int role) const { - QString str = remote.name() + remote.rating(); + QString str = m_remote.name() + m_remote.rating(); switch (role) { case Qt::DecorationRole: return QVariant(); diff --git a/src/remotelistwidgetitem.h b/src/remotelistwidgetitem.h index 363584c..c23ba4a 100644 --- a/src/remotelistwidgetitem.h +++ b/src/remotelistwidgetitem.h @@ -7,10 +7,12 @@ #include "remote.h" +class QListWidget; + class RemoteListWidgetItem : public QListWidgetItem { public: - RemoteListWidgetItem(Remote remote, QWidget *parent = 0); + RemoteListWidgetItem(Remote remote, QListWidget *parent = 0); Remote remote() const { return m_remote; } //overrides QListWidgetItem::data diff --git a/src/selectremotedlg.cpp b/src/selectremotedlg.cpp index 3074d79..e4f1b74 100644 --- a/src/selectremotedlg.cpp +++ b/src/selectremotedlg.cpp @@ -1,6 +1,7 @@ #include "selectremotedlg.h" #include "remote.h" +#include "remotelistwidgetitem.h" #include #include @@ -24,13 +25,17 @@ SelectRemoteDlg::SelectRemoteDlg(QWidget *parent) alphabetList = new QListWidget(this); alphabetList->setMaximumWidth(96); layout->addWidget(alphabetList); - connect(alphabetList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), - this, SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*))); + connect(alphabetList, + SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), + this, + SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*))); mfgList = new QListWidget(this); layout->addWidget(mfgList); - connect(mfgList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), - this, SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*))); + connect(mfgList, + SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), + this, + SLOT(mfgItemChanged(QListWidgetItem*, QListWidgetItem*))); modelList = new QListWidget(this); layout->addWidget(modelList); @@ -41,9 +46,9 @@ SelectRemoteDlg::SelectRemoteDlg(QWidget *parent) this, SLOT(downloadRemote())); this->setLayout(layout); - connect(&remoteDbMgr, SIGNAL(RemoteDBMgr::dbReady(RemoteDB*)), - this, SLOT(setDb(RemoteDB*))); - remoteDbMgr.getDbAsync(); + connect(&remoteDBMgr, SIGNAL(RemoteDBMgr::dbReady(RemoteDB*)), + this, SLOT(setDB(RemoteDB*))); + remoteDBMgr.getDBAsync(); setBusy(true); } @@ -53,9 +58,9 @@ SelectRemoteDlg::~SelectRemoteDlg() delete layout; } -SelectRemoteDlg::setDb(RemoteDB *db) +void SelectRemoteDlg::setDB(RemoteDB *db) { - remoteDb = db; + remoteDB = db; setBusy(false); } @@ -72,7 +77,7 @@ void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current, modelList->clear(); if (current) { - mfgList->addItems(remoteDb[current->text()].keys()); + mfgList->addItems((*remoteDB)[current->text()].keys()); } } @@ -83,19 +88,19 @@ void SelectRemoteDlg::mfgItemChanged(QListWidgetItem *current, if (current) { QList remotes = - remoteDb[alphabetList->currentItem()->text()][current->text()]; + (*remoteDB)[alphabetList->currentItem()->text()][current->text()]; foreach(Remote remote, remotes) { - modelList.addItem(RemoteListWidgetItem(remote)); + modelList->addItem(new RemoteListWidgetItem(remote)); } } } void SelectRemoteDlg::downloadRemote() { - RemoteListWidgetItem *currentModel = modelList->currentItem(); + RemoteListWidgetItem *currentModel = static_cast(modelList->currentItem()); if (currentModel) { - currentModel->remote().saveFile(); + currentModel->remote().saveToFile(); } } diff --git a/src/selectremotedlg.h b/src/selectremotedlg.h index 5eda71e..792814a 100644 --- a/src/selectremotedlg.h +++ b/src/selectremotedlg.h @@ -17,7 +17,6 @@ class QNetworkReply; class QWidget; class QPushButton; class QLabel; -class RemoteList; class SelectRemoteDlg : public QDialog { @@ -32,6 +31,7 @@ private slots: QListWidgetItem *previous); void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void downloadRemote(); + void setDB(RemoteDB *db); private: QLabel *remoteNameLabel; @@ -40,8 +40,8 @@ private: QListWidget *mfgList; QListWidget *modelList; QPushButton *downloadBtn; - RemoteDBMgr remoteDbMgr; - RemoteDB *remoteDb; + RemoteDBMgr remoteDBMgr; + RemoteDB *remoteDB; void setBusy(bool busy = true); }; diff --git a/src/src.pro b/src/src.pro index 8614642..03bd6fd 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,24 +1,30 @@ TEMPLATE = app TARGET = irwi +SOURCES += rating.cpp SOURCES += settingsdlg.cpp SOURCES += main.cpp SOURCES += mainwidget.cpp SOURCES += irctrl.cpp SOURCES += remote.cpp +SOURCES += remotedbmgr.cpp SOURCES += selectremotedlg.cpp SOURCES += advsettingsdlg.cpp SOURCES += settingstable.cpp SOURCES += aboutdlg.cpp +SOURCES += remotelistwidgetitem.cpp +HEADERS += rating.h HEADERS += settingsdlg.h HEADERS += mainwidget.h HEADERS += irctrl.h HEADERS += remote.h +HEADERS += remotedbmgr.h HEADERS += selectremotedlg.h HEADERS += advsettingsdlg.h HEADERS += settingstable.h HEADERS += aboutdlg.h +HEADERS += remotelistwidgetitem.h include(qmaemo5homescreenadaptor/qmaemo5homescreenadaptor.pri)