diff options
author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-14 07:02:48 +0800 |
---|---|---|
committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-14 07:02:48 +0800 |
commit | db6374681a2bc35671fa0c25fc740888a869ccd4 (patch) | |
tree | e2d52c6821356f7fa988470a9557af2966535deb | |
parent | 2f827a26779c83d7fbc8683d9d42f98a2fd45db1 (diff) |
User singleton instantiation can be moved to Controller
like the rest
-rw-r--r-- | controller.cxx | 9 | ||||
-rw-r--r-- | kelakon.pro | 2 | ||||
-rw-r--r-- | main.cxx | 11 | ||||
-rw-r--r-- | user.hxx | 1 |
4 files changed, 8 insertions, 15 deletions
diff --git a/controller.cxx b/controller.cxx index 6be4f40..2e562bf 100644 --- a/controller.cxx +++ b/controller.cxx @@ -21,7 +21,14 @@ Controller::Controller(QObject* parent) : QObject{parent} connect(worker, SIGNAL(logged(rt_user*)), loginView, SLOT(pushProfile())); connect(loginView, SIGNAL(search(QString)), worker, SLOT(search(QString))); - auto user = engine->singletonInstance<User*>(User::typeId); + auto typeId = qmlRegisterSingletonType<User>("KelakonUser", 0, 1, "User" + , [](QQmlEngine *engine, + QJSEngine *scriptEngine) -> QObject* { + Q_UNUSED(engine) + Q_UNUSED(scriptEngine) + return new User; + }); + auto user = engine->singletonInstance<User*>(typeId); connect(worker, SIGNAL(logged(rt_user*)), user, SLOT(update(rt_user*))); taskList = new TaskList; diff --git a/kelakon.pro b/kelakon.pro index 5a44cad..8a025a9 100644 --- a/kelakon.pro +++ b/kelakon.pro @@ -1,7 +1,5 @@ QT += quickcontrols2 -*-g++: QMAKE_CXXFLAGS += -std=gnu++17 -*-clang: QMAKE_CXXFLAGS += -std=c++17 debug: DEFINES += DEBUG HEADERS += \ @@ -1,6 +1,5 @@ #include <QGuiApplication> #include <QQmlApplicationEngine> -#include "user.hxx" #include "controller.hxx" int main(int argc, char* argv[]) @@ -8,17 +7,7 @@ int main(int argc, char* argv[]) QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; - - User::typeId = qmlRegisterSingletonType<User>("KelakonUser", 0, 1, "User" - , [](QQmlEngine *engine, - QJSEngine *scriptEngine) -> QObject* { - Q_UNUSED(engine) - Q_UNUSED(scriptEngine) - return new User; - }); - engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); Controller controller{&engine}; - return app.exec(); } @@ -57,7 +57,6 @@ class User : public QObject , m_loggedIn{false} {} ~User() {} - inline static int typeId; QString const& id() const { return m_id; } QString const& name() const { return m_name; } |