aboutsummaryrefslogtreecommitdiffstats
path: root/src/sdk
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-07-31 06:13:26 +0000
committersaturneric <[email protected]>2024-07-31 06:13:26 +0000
commit081147d65fcb0a20818bbfb43f6ec4f5ddf59581 (patch)
treef6ec05666acb98da46b4cb0dfc0871225f4ad388 /src/sdk
parentfix: dealing with unknown compiler (diff)
downloadGpgFrontend-081147d65fcb0a20818bbfb43f6ec4f5ddf59581.tar.gz
GpgFrontend-081147d65fcb0a20818bbfb43f6ec4f5ddf59581.zip
fix: addressing some of the significant deficiencies identified
Diffstat (limited to 'src/sdk')
-rw-r--r--src/sdk/GFSDKBasic.cpp15
-rw-r--r--src/sdk/GFSDKBasic.h6
2 files changed, 11 insertions, 10 deletions
diff --git a/src/sdk/GFSDKBasic.cpp b/src/sdk/GFSDKBasic.cpp
index 906f9baf..32076cd0 100644
--- a/src/sdk/GFSDKBasic.cpp
+++ b/src/sdk/GFSDKBasic.cpp
@@ -32,7 +32,7 @@
#include "core/function/gpg/GpgCommandExecutor.h"
#include "core/utils/BuildInfoUtils.h"
#include "sdk/private/CommonUtils.h"
-#include "ui/GpgFrontendUIInit.h"
+#include "ui/UIModuleManager.h"
auto GFAllocateMemory(uint32_t size) -> void* {
return GpgFrontend::SecureMemoryAllocator::Allocate(size);
@@ -110,11 +110,10 @@ auto GFModuleStrDup(const char* src) -> char* {
auto GFAppActiveLocale() -> char* { return GFStrDup(QLocale().name()); }
-auto GFAppRegisterTranslator(char* data, int size) -> int {
- auto b = QByteArray(data, size);
- QMetaObject::invokeMethod(QApplication::instance()->thread(), [b]() {
- GpgFrontend::UI::InstallTranslatorFromQMData(b);
- });
- GFFreeMemory(data);
- return 0;
+auto GFAppRegisterTranslatorReader(const char* id,
+ GFTranslatorDataReader reader) -> int {
+ return GpgFrontend::UI::UIModuleManager::GetInstance()
+ .RegisterTranslatorDataReader(GFUnStrDup(id), reader)
+ ? 0
+ : -1;
}
diff --git a/src/sdk/GFSDKBasic.h b/src/sdk/GFSDKBasic.h
index aba4d2e0..f6c80287 100644
--- a/src/sdk/GFSDKBasic.h
+++ b/src/sdk/GFSDKBasic.h
@@ -48,6 +48,8 @@ using GFCommandExecuteContext = struct {
void* data;
};
+using GFTranslatorDataReader = int (*)(const char* locale, char** data);
+
/**
* @brief
*
@@ -129,6 +131,6 @@ auto GPGFRONTEND_MODULE_SDK_EXPORT GFAppActiveLocale() -> char*;
* @param size
* @return auto
*/
-auto GPGFRONTEND_MODULE_SDK_EXPORT GFAppRegisterTranslator(char* data,
- int size) -> int;
+auto GPGFRONTEND_MODULE_SDK_EXPORT
+GFAppRegisterTranslatorReader(const char* id, GFTranslatorDataReader reader) -> int;
} \ No newline at end of file