X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fselectremotedlg.cpp;h=dbc8115d3b84eac4e70a7d093192f64ab22c10dc;hb=b101a833aec8a49ba19743222bcb85d56d68433b;hp=3f832499c4d422571187fa07532314b1e079aa39;hpb=d9529c0b509758d2c9371b5a061e43a94af29cc2;p=irwi 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()),