diff options
author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-07 17:42:11 +0800 |
---|---|---|
committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-07 17:42:11 +0800 |
commit | e04036b24aef79b9b7eb370c35c9f7b8ade77846 (patch) | |
tree | 3a3855d902a1f6f13c36ae2c82bcb5ff9b05635a | |
parent | 129d7c1a7962e3552983e11593f764906994f1dc (diff) |
The worker cannot have a parent
because it has to be moved to a different thread
-rw-r--r-- | controller.cxx | 2 | ||||
-rw-r--r-- | worker.cxx | 12 | ||||
-rw-r--r-- | worker.hxx | 6 |
3 files changed, 7 insertions, 13 deletions
diff --git a/controller.cxx b/controller.cxx index 4962072..7f8d2a0 100644 --- a/controller.cxx +++ b/controller.cxx @@ -4,7 +4,7 @@ Controller::Controller(QObject* parent) : QObject{parent} { - Worker* worker = new Worker{parent}; + Worker* worker = new Worker; worker->moveToThread(&thread); connect(&thread, &QThread::finished, worker, &QObject::deleteLater); @@ -3,27 +3,21 @@ #include "user.hxx" #include "worker.hxx" -Worker::Worker(QObject* parent) : - QObject{parent} +Worker::Worker() { rtclient_init("https://darapsa.co.id/rt"); } void Worker::logIn(QString const& name, QString const& password) { - auto engine = dynamic_cast<QQmlApplicationEngine*>(this->parent()); - auto user = engine->singletonInstance<User*>(User::typeId); - user->setName(name); rtclient_login(name.toLatin1().constData(), password.toLatin1().constData()); rtclient_user(name.toLatin1().constData()); } -void Worker::getTaskList() +void Worker::search(QString const& owner) { - auto engine = dynamic_cast<QQmlApplicationEngine*>(this->parent()); - auto user = engine->singletonInstance<User*>(User::typeId); QString query{"Owner='"}; - query.append(user->name()); + query.append(owner); query.append("'"); rtclient_search(query.toLatin1().constData()); } @@ -8,12 +8,12 @@ class Worker : public QObject Q_OBJECT public: - explicit Worker(QObject* parent = nullptr); - virtual ~Worker(); + Worker(); + ~Worker(); public slots: void logIn(QString const& name, QString const& password); - void getTaskList(); + void search(QString const& owner); }; #endif // WORKER_HXX |