From: Torste Aikio Date: Wed, 7 Jul 2010 07:55:38 +0000 (+0300) Subject: Revert "Removed onlinepollerthread" X-Git-Url: https://vcs.maemo.org/git/?p=irwi;a=commitdiff_plain;h=b101a833aec8a49ba19743222bcb85d56d68433b Revert "Removed onlinepollerthread" This reverts commit 2fd880d1c64dfb6beb787c3ec4a6613926b9fd83. Conflicts: src/onlinepollerthread.cpp src/selectremotedlg.cpp --- diff --git a/src/onlinepollerthread.cpp b/src/onlinepollerthread.cpp index 89cc31a..7513b8d 100644 --- a/src/onlinepollerthread.cpp +++ b/src/onlinepollerthread.cpp @@ -18,11 +18,18 @@ void OnlinePollerThread::run() if (!qncm.isOnline()) { msleep(250); } else { +<<<<<<< HEAD +======= + emit online(); +>>>>>>> 2fd880d... Removed onlinepollerthread break; } } } +<<<<<<< HEAD emit online(); +======= +>>>>>>> 2fd880d... Removed onlinepollerthread exec(); } diff --git a/src/onlinepollerthread.h b/src/onlinepollerthread.h new file mode 100644 index 0000000..9c4c521 --- /dev/null +++ b/src/onlinepollerthread.h @@ -0,0 +1,23 @@ +#ifndef ONLINEPOLLERTHREAD_H +#define ONLINEPOLLERTHREAD_H + +#include + +class OnlinePollerThread : public QThread +{ + Q_OBJECT +public: + //overrides QThread::run() + void run(); + +signals: + void online(); + +public: + void stop(); + +private: + bool running; +}; + +#endif //ONLINEPOLLERTHREAD_H diff --git a/src/remotedbmgr.cpp b/src/remotedbmgr.cpp index 14f9eaa..f824c79 100644 --- a/src/remotedbmgr.cpp +++ b/src/remotedbmgr.cpp @@ -10,8 +10,6 @@ #include #include -#include - RemoteDBMgr::RemoteDBMgr() { connect(&netAM, SIGNAL(finished(QNetworkReply *)), @@ -53,8 +51,6 @@ void RemoteDBMgr::dbDownloadFinished(QNetworkReply *reply) if (!db.isEmpty()) { emit dbReady(&db); } - } else { - qDebug() << reply->error(); } processing = false; } diff --git a/src/selectremotedlg.cpp b/src/selectremotedlg.cpp index 3f83249..dbc8115 100644 --- a/src/selectremotedlg.cpp +++ b/src/selectremotedlg.cpp @@ -2,6 +2,7 @@ #include "remote.h" #include "remotelistwidgetitem.h" +#include "onlinepollerthread.h" #include #include @@ -17,6 +18,7 @@ SelectRemoteDlg::SelectRemoteDlg(QWidget *parent) : QDialog(parent) { + onlinePollerThread = NULL; this->setWindowTitle(tr("Select remote")); this->setMinimumHeight(320); @@ -53,6 +55,12 @@ SelectRemoteDlg::SelectRemoteDlg(QWidget *parent) SelectRemoteDlg::~SelectRemoteDlg() { delete layout; + if (onlinePollerThread != NULL) { + onlinePollerThread->stop(); + onlinePollerThread->wait(); + delete onlinePollerThread; + onlinePollerThread = NULL; + } } void SelectRemoteDlg::setDB(RemoteDB *db) @@ -108,11 +116,25 @@ void SelectRemoteDlg::downloadRemote() } } +void SelectRemoteDlg::getDB() +{ + if (onlinePollerThread != NULL) { + onlinePollerThread->stop(); + onlinePollerThread->wait(); + delete onlinePollerThread; + onlinePollerThread = NULL; + } + remoteDBMgr.getDBAsync(); +} + void SelectRemoteDlg::refreshDB() { setBusy(true); if (onlinePollerThread != NULL) { + onlinePollerThread->stop(); + onlinePollerThread->wait(); delete onlinePollerThread; + onlinePollerThread = NULL; } onlinePollerThread = new OnlinePollerThread(); connect(onlinePollerThread, SIGNAL(online()), diff --git a/src/selectremotedlg.h b/src/selectremotedlg.h index cf76d17..c4821f2 100644 --- a/src/selectremotedlg.h +++ b/src/selectremotedlg.h @@ -30,6 +30,7 @@ public: public slots: void refreshDB(); + void getDB(); private slots: void alphabetItemChanged(QListWidgetItem *current, @@ -54,6 +55,7 @@ private: QListWidget *modelList; QPushButton *downloadBtn; RemoteDB *remoteDB; + OnlinePollerThread *onlinePollerThread; void setBusy(bool busy = true); }; diff --git a/src/src.pro b/src/src.pro index 4399b6c..b0592ad 100644 --- a/src/src.pro +++ b/src/src.pro @@ -15,6 +15,7 @@ SOURCES += advsettingsdlg.cpp SOURCES += settingstable.cpp SOURCES += aboutdlg.cpp SOURCES += remotelistwidgetitem.cpp +SOURCES += onlinepollerthread.cpp HEADERS += rating.h HEADERS += settingsdlg.h @@ -27,6 +28,7 @@ HEADERS += advsettingsdlg.h HEADERS += settingstable.h HEADERS += aboutdlg.h HEADERS += remotelistwidgetitem.h +HEADERS += onlinepollerthread.h include(qmaemo5homescreenadaptor/qmaemo5homescreenadaptor.pri) @@ -35,6 +37,7 @@ MOC_DIR = moc QT += network QT += xml +QT += dbus CONFIG += mobility MOBILITY += bearer