qmlfrontend/main.cpp
author unC0Rr
Tue, 04 Feb 2025 17:31:55 +0100
branchqmlrenderer
changeset 16116 8da5a118120b
parent 16039 a73b9770467a
permissions -rw-r--r--
Modernize approach for building qmlfrontend

#include <QDebug>
#include <QGuiApplication>
#include <QLibrary>
#include <QQmlApplicationEngine>

int main(int argc, char* argv[]) {
  QGuiApplication app(argc, argv);

  QQmlApplicationEngine engine;
  /*
    qRegisterMetaType<Engine::SimpleEventType>();
    qRegisterMetaType<Engine::LongEventType>();
    qRegisterMetaType<Engine::LongEventState>();
    qRegisterMetaType<Engine::PositionedEventType>();

    qmlRegisterSingletonType<PreviewAcceptor>(
        "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
        previewacceptor_singletontype_provider);
    qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
    qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
    qmlRegisterType<NetSession>("Hedgewars.Engine", 1, 0, "NetSession");
    qmlRegisterUncreatableType<EngineInstance>(
        "Hedgewars.Engine", 1, 0, "EngineInstance",
        QStringLiteral("Create by HWEngine run methods"));

    qmlRegisterUncreatableMetaObject(Engine::staticMetaObject,
    "Hedgewars.Engine", 1, 0, "Engine", QStringLiteral("Namespace: only
    enums"));
  */
  engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
  if (engine.rootObjects().isEmpty()) {
    return -1;
  }

  return app.exec();
}