diff options
author | Saturneric <[email protected]> | 2021-12-07 06:23:58 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-12-07 06:23:58 +0000 |
commit | 49556f2d87a72f888512552f446665e01e6c1abd (patch) | |
tree | 725830826078fd29bea74907c09f6943dbc6636f | |
parent | Add Translate & Fix Bugs. (diff) | |
download | GpgFrontend-49556f2d87a72f888512552f446665e01e6c1abd.tar.gz GpgFrontend-49556f2d87a72f888512552f446665e01e6c1abd.zip |
Support Windows Build
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/main.cpp | 38 | ||||
-rw-r--r-- | src/ui/keypair_details/KeyPairDetailTab.cpp | 2 | ||||
-rw-r--r-- | src/ui/keypair_details/KeyPairUIDTab.cpp | 13 |
4 files changed, 26 insertions, 34 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0dc0449e..d9091340 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,7 +255,10 @@ elseif (STABLE_APPLICATION_BUILD) set(UI_CORE 1) set(APPLICATION_BUILD 1) set(BASIC_ENV_CONFIG 1) - set(MULTI_LANG_SUPPORT 1) + # MULTI_LANG_SUPPORT now work only on Linux and macOS + if (LINUX OR APPLE) + set(MULTI_LANG_SUPPORT 1) + endif () elseif (TEST_BUILD) message(STATUS "Build Test Cases") @@ -268,7 +271,7 @@ elseif (TEST_BUILD) endif () # Introduce boost -find_package(Boost COMPONENTS date_time filesystem locale REQUIRED) +find_package(Boost COMPONENTS date_time filesystem REQUIRED) if (QT5_ENV_SUPPORT) # Support Qt version Both 5.12.x and 5.15.x diff --git a/src/main.cpp b/src/main.cpp index ed78231d..faa19218 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,11 +22,7 @@ * */ -#include <stdlib.h> - -#include <boost/locale.hpp> -#include <clocale> -#include <locale> +#include <cstdlib> #include "GpgFrontendBuildInfo.h" #include "ui/MainWindow.h" @@ -146,22 +142,22 @@ void init_locale() { .GetLocaleDir() .c_str(); - if (lang.empty()) return; - std::string lc = lang.empty() ? "" : lang + ".UTF-8"; - - // set LC_ALL - auto* locale_name = setlocale(LC_ALL, lc.c_str()); - if (locale_name == nullptr) LOG(WARNING) << "set LC_ALL failed" << lc; - boost::locale::generator gen; - // Create locale generator - std::locale::global(gen(locale_name != nullptr ? lc : "")); - // set LANGUAGE - std::string language_env = getenv("LANGUAGE"); - language_env.insert(0, lang + ":"); - LOG(INFO) << "language env" << language_env; - if (setenv("LANGUAGE", language_env.c_str(), 1)) { - LOG(WARNING) << "set LANGUAGE failed" << language_env; - }; + if (!lang.empty()) { + std::string lc = lang.empty() ? "" : lang + ".UTF-8"; + + // set LC_ALL + auto* locale_name = setlocale(LC_ALL, lc.c_str()); + if (locale_name == nullptr) LOG(WARNING) << "set LC_ALL failed" << lc; +#ifndef WINDOWS + // set LANGUAGE + std::string language_env = getenv("LANGUAGE"); + language_env.insert(0, lang + ":"); + LOG(INFO) << "language env" << language_env; + if (setenv("LANGUAGE", language_env.c_str(), 1)) { + LOG(WARNING) << "set LANGUAGE failed" << language_env; + }; +#endif + } bindtextdomain(PROJECT_NAME, GpgFrontend::UI::GlobalSettingStation::GetInstance() diff --git a/src/ui/keypair_details/KeyPairDetailTab.cpp b/src/ui/keypair_details/KeyPairDetailTab.cpp index e01e21cb..de16ccf7 100644 --- a/src/ui/keypair_details/KeyPairDetailTab.cpp +++ b/src/ui/keypair_details/KeyPairDetailTab.cpp @@ -24,8 +24,6 @@ #include "ui/keypair_details/KeyPairDetailTab.h" -#include <boost/locale.hpp> - #include "gpg/function/GpgKeyGetter.h" #include "gpg/function/GpgKeyImportExportor.h" #include "gpg/function/GpgKeyOpera.h" diff --git a/src/ui/keypair_details/KeyPairUIDTab.cpp b/src/ui/keypair_details/KeyPairUIDTab.cpp index 8a58b270..b2aa8861 100644 --- a/src/ui/keypair_details/KeyPairUIDTab.cpp +++ b/src/ui/keypair_details/KeyPairUIDTab.cpp @@ -24,8 +24,6 @@ #include "ui/keypair_details/KeyPairUIDTab.h" -#include <boost/locale.hpp> - #include "gpg/function/GpgKeyGetter.h" #include "gpg/function/GpgKeyManager.h" #include "gpg/function/UidOperator.h" @@ -273,19 +271,16 @@ void KeyPairUIDTab::slotRefreshSigList() { sigList->setItem(sigRow, 2, tmp3); } - std::stringstream ss; - ss << boost::locale::as::datetime << sig.create_time(); - auto* tmp4 = new QTableWidgetItem(ss.str().c_str()); + auto* tmp4 = new QTableWidgetItem(QLocale::system().toString( + QDateTime::fromTime_t(to_time_t(sig.create_time())))); sigList->setItem(sigRow, 3, tmp4); - ss.str(std::string()); - ss << boost::locale::as::datetime << sig.expire_time(); - auto* tmp5 = new QTableWidgetItem( boost::posix_time::to_time_t( boost::posix_time::ptime(sig.expire_time())) == 0 ? _("Never Expires") - : ss.str().c_str()); + : QLocale::system().toString( + QDateTime::fromTime_t(to_time_t(sig.expire_time())))); tmp5->setTextAlignment(Qt::AlignCenter); sigList->setItem(sigRow, 4, tmp5); |