SelectRemoteDlg::~SelectRemoteDlg()
{
delete layout;
+ if (onlinePollerThread != NULL) {
+ onlinePollerThread->quit();
+ delete onlinePollerThread;
+ onlinePollerThread = NULL;
+ }
}
void SelectRemoteDlg::setDB(RemoteDB *db)
}
}
+void SelectRemoteDlg::getDB()
+{
+ if (onlinePollerThread != NULL) {
+ onlinePollerThread->quit();
+ delete onlinePollerThread;
+ onlinePollerThread = NULL;
+ }
+ remoteDBMgr.getDBAsync();
+}
+
void SelectRemoteDlg::refreshDB()
{
setBusy(true);
- remoteDBMgr.getDBAsync();
+ if (onlinePollerThread != NULL) {
+ delete onlinePollerThread;
+ }
+ onlinePollerThread = new OnlinePollerThread(this);
+ connect(onlinePollerThread, SIGNAL(online()),
+ this, SLOT(getDB()));
+ onlinePollerThread->run();
}
void SelectRemoteDlg::showEvent(QShowEvent *event)
public slots:
void refreshDB();
+ void getDB();
private slots:
void alphabetItemChanged(QListWidgetItem *current,
QListWidget *modelList;
QPushButton *downloadBtn;
RemoteDB *remoteDB;
+ OnlinePollerThread *onlinePollerThread;
void setBusy(bool busy = true);
};