diff options
author | saturneric <[email protected]> | 2024-07-12 18:38:16 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-07-12 18:38:16 +0000 |
commit | d1d6859e2a50a78f57388ebf0a06f0636d4d0910 (patch) | |
tree | 5ac6a57abc73902aba8979ed9b67816b1e85fb9a /src/ui/GpgFrontendUIInit.cpp | |
parent | feat: adjust modules loading path (diff) | |
download | GpgFrontend-d1d6859e2a50a78f57388ebf0a06f0636d4d0910.tar.gz GpgFrontend-d1d6859e2a50a78f57388ebf0a06f0636d4d0910.zip |
feat: add some ui apis to sdk
Diffstat (limited to 'src/ui/GpgFrontendUIInit.cpp')
-rw-r--r-- | src/ui/GpgFrontendUIInit.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/ui/GpgFrontendUIInit.cpp b/src/ui/GpgFrontendUIInit.cpp index 046c25d7..b0b9c28e 100644 --- a/src/ui/GpgFrontendUIInit.cpp +++ b/src/ui/GpgFrontendUIInit.cpp @@ -30,6 +30,7 @@ #include <QtNetwork> +#include "UIModuleManager.h" #include "core/GpgConstants.h" #include "core/function/CoreSignalStation.h" #include "core/function/GlobalSettingStation.h" @@ -42,6 +43,7 @@ namespace GpgFrontend::UI { QList<QTranslator*> registered_translators; +QList<QByteArray> loaded_qm_datum; extern void InitUITranslations(); @@ -104,7 +106,13 @@ void WaitEnvCheckingProcess() { looper.exec(); } -void PreInitGpgFrontendUI() { CommonUtils::GetInstance(); } +void PreInitGpgFrontendUI() { + CommonUtils::GetInstance(); + + // declare module ui entry mount points + UIModuleManager::GetInstance().DeclareMountPoint("AboutDialogTabs", "QWidget", + {}); +} void InitGpgFrontendUI(QApplication* /*app*/) { // init locale @@ -228,6 +236,7 @@ void InitUITranslations() { QCoreApplication::removeTranslator(translator); } registered_translators.clear(); + loaded_qm_datum.clear(); auto* translator = new QTranslator(QCoreApplication::instance()); if (translator->load(QLocale(), QLatin1String("qt"), QLatin1String("_"), @@ -259,4 +268,20 @@ void InitUITranslations() { } } +auto InstallTranslatorFromQMData(const QByteArray& data) -> bool { + auto* translator = new QTranslator(QCoreApplication::instance()); + if (translator->load(reinterpret_cast<uchar*>(const_cast<char*>(data.data())), + data.size())) { + GF_UI_LOG_DEBUG("load target translation file done, locale: {}", + QLocale().name()); + QCoreApplication::installTranslator(translator); + registered_translators.append(translator); + loaded_qm_datum.append(data); + + return true; + } + + return false; +} + } // namespace GpgFrontend::UI |