diff options
author | saturneric <[email protected]> | 2024-07-29 19:29:56 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-07-29 19:29:56 +0000 |
commit | fa90ec4b5315b9e70a44a9625c143ce253f0e885 (patch) | |
tree | 8ffa82e33522de03974d6d0289aa831b4fd6ebdf /src/ui/GpgFrontendUIInit.cpp | |
parent | fix: correct urls at appdata.xml (diff) | |
parent | Merge branch 'develop' of github.com:saturneric/GpgFrontend into develop (diff) | |
download | GpgFrontend-fa90ec4b5315b9e70a44a9625c143ce253f0e885.tar.gz GpgFrontend-fa90ec4b5315b9e70a44a9625c143ce253f0e885.zip |
Merge branch 'develop'
Diffstat (limited to '')
-rw-r--r-- | src/ui/GpgFrontendUIInit.cpp | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/src/ui/GpgFrontendUIInit.cpp b/src/ui/GpgFrontendUIInit.cpp index 046c25d7..b779c335 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,11 +43,12 @@ namespace GpgFrontend::UI { QList<QTranslator*> registered_translators; +QList<QByteArray> loaded_qm_datum; extern void InitUITranslations(); void WaitEnvCheckingProcess() { - GF_UI_LOG_DEBUG("need to waiting for env checking process"); + qCDebug(ui, "need to waiting for env checking process"); // create and show loading window before starting the main window auto* waiting_dialog = new QProgressDialog(); @@ -65,7 +67,6 @@ void WaitEnvCheckingProcess() { QApplication::connect(CoreSignalStation::GetInstance(), &CoreSignalStation::SignalGoodGnupgEnv, waiting_dialog, [=]() { - GF_UI_LOG_DEBUG("gpg env loaded successfuly"); waiting_dialog->finished(0); waiting_dialog->deleteLater(); }); @@ -77,19 +78,19 @@ void WaitEnvCheckingProcess() { &QEventLoop::quit); QApplication::connect(waiting_dialog, &QProgressDialog::canceled, [=]() { - GF_UI_LOG_DEBUG("cancel clicked on waiting dialog"); + qCDebug(ui, "cancel clicked on waiting dialog"); QApplication::quit(); exit(0); }); auto env_state = Module::RetrieveRTValueTypedOrDefault<>("core", "env.state.basic", 0); - GF_UI_LOG_DEBUG("ui is ready to waiting for env initialized, env_state: {}", - env_state); + qCDebug(ui, "ui is ready to waiting for env initialized, env_state: %d", + env_state); // check twice to avoid some unlucky sitations if (env_state == 1) { - GF_UI_LOG_DEBUG("env state turned initialized before the looper start"); + qCDebug(ui, "env state turned initialized before the looper start"); waiting_dialog->finished(0); waiting_dialog->deleteLater(); return; @@ -104,7 +105,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 @@ -151,8 +158,6 @@ void InitGpgFrontendUI(QApplication* /*app*/) { settings.value("proxy/username", QString{}).toString(); QString const proxy_password = settings.value("proxy/password", QString{}).toString(); - GF_UI_LOG_DEBUG("proxy settings: type {}, host {}, port: {}", proxy_type, - proxy_host, proxy_port); QNetworkProxy::ProxyType proxy_type_qt = QNetworkProxy::NoProxy; if (proxy_type == "HTTP") { @@ -181,7 +186,7 @@ void InitGpgFrontendUI(QApplication* /*app*/) { QNetworkProxy::setApplicationProxy(proxy); } catch (...) { - GF_UI_LOG_ERROR("setting operation error: proxy setings"); + qCWarning(ui, "setting operation error: proxy setings"); // no proxy by default QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy); } @@ -202,7 +207,7 @@ auto RunGpgFrontendUI(QApplication* app) -> int { // pre-check, if application need to restart if (CommonUtils::GetInstance()->isApplicationNeedRestart()) { - GF_UI_LOG_DEBUG("application need to restart, before main window init"); + qCDebug(ui, "application need to restart, before main window init."); return kDeepRestartCode; } @@ -210,7 +215,6 @@ auto RunGpgFrontendUI(QApplication* app) -> int { main_window->Init(); // show main windows - GF_UI_LOG_DEBUG("main window is ready to show"); main_window->show(); // start the main event loop @@ -228,13 +232,11 @@ 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("_"), QLatin1String(":/i18n_qt"), QLatin1String(".qm"))) { - GF_UI_LOG_DEBUG("load qt translation file done, locale: {}", - QLocale().name()); - QCoreApplication::installTranslator(translator); registered_translators.append(translator); } @@ -242,8 +244,6 @@ void InitUITranslations() { translator = new QTranslator(QCoreApplication::instance()); if (translator->load(QLocale(), QLatin1String("qtbase"), QLatin1String("_"), QLatin1String(":/i18n_qt"), QLatin1String(".qm"))) { - GF_UI_LOG_DEBUG("load qtbase translation file done, locale: {}", - QLocale().name()); QCoreApplication::installTranslator(translator); registered_translators.append(translator); } @@ -252,11 +252,24 @@ void InitUITranslations() { if (translator->load(QLocale(), QLatin1String(PROJECT_NAME), QLatin1String("."), QLatin1String(":/i18n"), QLatin1String(".qm"))) { - GF_UI_LOG_DEBUG("load target translation file done, locale: {}", - QLocale().name()); QCoreApplication::installTranslator(translator); registered_translators.append(translator); } } +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())) { + QCoreApplication::installTranslator(translator); + registered_translators.append(translator); + loaded_qm_datum.append(data); + + return true; + } + + return false; +} + } // namespace GpgFrontend::UI |