aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/GpgFrontendUIInit.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-07-12 18:38:16 +0000
committersaturneric <[email protected]>2024-07-12 18:38:16 +0000
commitd1d6859e2a50a78f57388ebf0a06f0636d4d0910 (patch)
tree5ac6a57abc73902aba8979ed9b67816b1e85fb9a /src/ui/GpgFrontendUIInit.cpp
parentfeat: adjust modules loading path (diff)
downloadGpgFrontend-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.cpp27
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