Error fixes. Now it compiles.
authorJari Jarvi <t7jaja00@students.oamk.fi>
Fri, 18 Jun 2010 13:18:17 +0000 (16:18 +0300)
committerJari Jarvi <t7jaja00@students.oamk.fi>
Fri, 18 Jun 2010 13:18:17 +0000 (16:18 +0300)
src/rating.cpp [new file with mode: 0644]
src/rating.h [new file with mode: 0644]
src/remote.cpp
src/remote.h
src/remotedbmgr.cpp
src/remotedbmgr.h
src/remotelistwidgetitem.cpp
src/remotelistwidgetitem.h
src/selectremotedlg.cpp
src/selectremotedlg.h
src/src.pro

diff --git a/src/rating.cpp b/src/rating.cpp
new file mode 100644 (file)
index 0000000..69c2677
--- /dev/null
@@ -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 (file)
index 0000000..650b73d
--- /dev/null
@@ -0,0 +1,11 @@
+#ifndef RATING_H
+#define RATING_H
+
+namespace Rating {
+    typedef bool Rating;
+    extern Rating Up;
+    extern Rating Down;
+}
+
+#endif
+
index 9e9f80e..a545f6c 100644 (file)
@@ -3,7 +3,6 @@
 #include <cstdlib>
 
 #include <QString>
-#include <QSettings>
 #include <QFile>
 #include <QNetworkAccessManager>
 #include <QNetworkRequest>
@@ -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();
index 4619246..9f23019 100644 (file)
@@ -5,12 +5,9 @@
 #include <QString>
 #include <QNetworkReply>
 #include <QNetworkAccessManager>
+#include <QSettings>
 
-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);
 };
index 6a4865d..3e517e4 100644 (file)
@@ -7,10 +7,12 @@
 #include <QNetworkReply>
 #include <QUrl>
 #include <QNetworkRequest>
+#include <QBuffer>
+#include <QByteArray>
 
 RemoteDBMgr::RemoteDBMgr()
 {
-    connect(netAM, SIGNAL(finished(QNetworkReply *)), 
+    connect(&netAM, SIGNAL(finished(QNetworkReply *)), 
             this,  SLOT(dbDownloadFinished(QNetworkReply *)));
 }
 
index 7d5a99e..8bb607a 100644 (file)
@@ -5,6 +5,9 @@
 #include <QNetworkAccessManager>
 #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
 
+
index 616c6a3..ac2b00e 100644 (file)
@@ -1,14 +1,15 @@
+#include <QListWidget>
 #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();
index 363584c..c23ba4a 100644 (file)
@@ -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
index 3074d79..e4f1b74 100644 (file)
@@ -1,6 +1,7 @@
 #include "selectremotedlg.h"
 
 #include "remote.h"
+#include "remotelistwidgetitem.h"
 
 #include <QHBoxLayout>
 #include <QLabel>
@@ -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 <Remote> 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<RemoteListWidgetItem *>(modelList->currentItem());
     if (currentModel)
     {
-        currentModel->remote().saveFile();
+        currentModel->remote().saveToFile();
     }
 }
 
index 5eda71e..792814a 100644 (file)
@@ -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);
 };
index 8614642..03bd6fd 100644 (file)
@@ -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)