FluentUI/example/src/AppInfo.cpp

38 lines
839 B
C++
Raw Normal View History

2023-05-22 16:17:51 +08:00
#include "AppInfo.h"
2023-05-25 17:00:48 +08:00
#include <QQmlContext>
#include <QDebug>
2023-04-14 17:07:54 +08:00
#include "lang/En.h"
#include "lang/Zh.h"
2023-08-10 16:08:27 +08:00
#include "Version.h"
2023-04-14 17:07:54 +08:00
2023-04-11 18:05:07 +08:00
AppInfo::AppInfo(QObject *parent)
: QObject{parent}
{
2023-08-10 16:08:27 +08:00
version(APPLICATION_VERSION);
2023-04-16 02:28:58 +08:00
lang(new En());
2023-04-14 17:07:54 +08:00
}
2023-05-25 17:00:48 +08:00
void AppInfo::init(QQmlApplicationEngine *engine){
QQmlContext * context = engine->rootContext();
Lang* lang = this->lang();
context->setContextProperty("lang",lang);
QObject::connect(this,&AppInfo::langChanged,this,[=]{
context->setContextProperty("lang",this->lang());
});
context->setContextProperty("appInfo",this);
}
2023-04-14 17:07:54 +08:00
void AppInfo::changeLang(const QString& locale){
if(_lang){
_lang->deleteLater();
}
if(locale=="Zh"){
lang(new Zh());
}else if(locale=="En"){
lang(new En());
}else {
lang(new En());
}
2023-04-11 18:05:07 +08:00
}