From db6374681a2bc35671fa0c25fc740888a869ccd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Sat, 14 Sep 2019 07:02:48 +0800 Subject: User singleton instantiation can be moved to Controller like the rest --- controller.cxx | 9 ++++++++- kelakon.pro | 2 -- main.cxx | 11 ----------- 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::typeId); + auto typeId = qmlRegisterSingletonType("KelakonUser", 0, 1, "User" + , [](QQmlEngine *engine, + QJSEngine *scriptEngine) -> QObject* { + Q_UNUSED(engine) + Q_UNUSED(scriptEngine) + return new User; + }); + auto user = engine->singletonInstance(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 += \ diff --git a/main.cxx b/main.cxx index 1ae0467..23f9e4d 100644 --- a/main.cxx +++ b/main.cxx @@ -1,6 +1,5 @@ #include #include -#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("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(); } diff --git a/user.hxx b/user.hxx index a870852..2b9a356 100644 --- a/user.hxx +++ b/user.hxx @@ -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; } -- cgit v1.2.3