DocsSite/Site/src/main.cpp

61 lines
1.5 KiB
C++
Raw Normal View History

2020-04-26 15:56:57 +03:00
#include <QGuiApplication>
#include <QQmlApplicationEngine>
2020-05-01 00:01:17 +03:00
#include <QQuickStyle>
2020-05-14 00:27:06 +03:00
#include <QQmlContext>
2020-05-14 23:05:26 +03:00
#include <QFont>
#include <QFontDatabase>
2020-05-01 00:01:17 +03:00
2020-05-14 00:27:06 +03:00
#include <BaseFront.h>
2020-04-29 21:27:30 +03:00
#include <viewsolutions.h>
2020-04-26 15:56:57 +03:00
2020-05-14 00:27:06 +03:00
#include "mainmodel.h"
2020-05-16 15:48:15 +03:00
#include "quasarapp.h"
2020-05-14 00:27:06 +03:00
2020-04-26 15:56:57 +03:00
int main(int argc, char *argv[])
{
2020-09-28 23:43:49 +03:00
QuasarAppUtils::Params::parseParams(argc, argv);
2020-04-26 15:56:57 +03:00
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
2020-05-14 23:05:26 +03:00
int id = QFontDatabase::addApplicationFont(":/fonts/fonts/Lato-Regular.ttf");
QFont appFont(QFontDatabase::applicationFontFamilies(id).at(0));
app.setFont(appFont);
2020-05-01 00:01:17 +03:00
QQuickStyle::setStyle("Material");
2020-04-29 21:27:30 +03:00
2020-04-26 15:56:57 +03:00
QQmlApplicationEngine engine;
2020-05-14 23:05:26 +03:00
2020-05-16 15:48:15 +03:00
QObject::connect(QuasarAppUtils::Locales::instance(), &QuasarAppUtils::Locales::sigTranslationChanged,
&engine, &QQmlApplicationEngine::retranslate);
2020-09-23 22:09:14 +03:00
bool fViewSolutionsIsInited;
INIT_VIEW_SOLUTIONS(fViewSolutionsIsInited, &engine);
if (!fViewSolutionsIsInited) {
2020-04-29 21:27:30 +03:00
return -1;
}
2020-05-14 00:27:06 +03:00
if (!BaseFront::init(&engine)) {
return -2;
}
auto root = engine.rootContext();
auto mainModel = MainModel();
root->setContextProperty("mainModel", &mainModel);
2020-04-26 16:07:10 +03:00
const QUrl url(QStringLiteral("qrc:/View/main.qml"));
2020-04-26 15:56:57 +03:00
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
2020-05-14 00:27:06 +03:00
QCoreApplication::exit(-3);
2020-04-26 15:56:57 +03:00
}, Qt::QueuedConnection);
engine.load(url);
return app.exec();
}