aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-12-07 06:23:58 +0000
committerSaturneric <[email protected]>2021-12-07 06:23:58 +0000
commit49556f2d87a72f888512552f446665e01e6c1abd (patch)
tree725830826078fd29bea74907c09f6943dbc6636f
parentAdd Translate & Fix Bugs. (diff)
downloadGpgFrontend-49556f2d87a72f888512552f446665e01e6c1abd.tar.gz
GpgFrontend-49556f2d87a72f888512552f446665e01e6c1abd.zip
Support Windows Build
-rw-r--r--CMakeLists.txt7
-rw-r--r--src/main.cpp38
-rw-r--r--src/ui/keypair_details/KeyPairDetailTab.cpp2
-rw-r--r--src/ui/keypair_details/KeyPairUIDTab.cpp13
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);