FluentUI/.template/AppInfo.cpp.in
yxdy a44db97aa3
Some checks failed
Gallery App Build / Windows (push) Has been cancelled
Gallery App Build / macOS (push) Has been cancelled
Gallery App Build / Ubuntu (push) Has been cancelled
init
2025-02-12 10:31:20 +08:00

30 lines
886 B
C++

#include "AppInfo.h"
#include <QQmlContext>
#include <QGuiApplication>
#include <QQmlApplicationEngine>
AppInfo::AppInfo(QObject *parent) : QObject{parent} {
version(PROJECT_VERSION);
m_locales << "en_US";
m_locales << "zh_CN";
m_locale = QLocale::system().name();
}
void AppInfo::init(QQmlApplicationEngine *engine) {
initTranslator();
if ("ON" == QString(PROJECT_HOTLOAD_ENABLED)) {
engine->setBaseUrl(QUrl(QString("file:///%1/").arg(PROJECT_SOURCE_DIR)));
} else {
engine->setBaseUrl(QUrl("qrc:/qt/qml/@{application_name}/"));
}
}
void AppInfo::initTranslator() {
if (m_translator.load(
QString::fromStdString("%1/%2_%3.qm").arg(":/qt/qml/@{application_name}", "@{application_name}", m_locale))) {
QGuiApplication::installTranslator(&m_translator);
}
QLocale::setDefault(QLocale(this->m_locale));
}