diff options
author | Saturneric <[email protected]> | 2021-12-10 13:52:45 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-12-10 13:52:45 +0000 |
commit | 4bed34bc3144d324e39dd1e603de848f5c87c236 (patch) | |
tree | 68be3fda12f384d3125c981feabbd9e561dae552 /src/main.cpp | |
parent | Start to use .ui file (diff) | |
parent | Update CI for Release and Debug. (diff) | |
download | GpgFrontend-4bed34bc3144d324e39dd1e603de848f5c87c236.tar.gz GpgFrontend-4bed34bc3144d324e39dd1e603de848f5c87c236.zip |
Merge branch 'develop' into develop-ui
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp index 96d3c4d8..1dbf1d5e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -42,6 +42,11 @@ int main(int argc, char* argv[]) { QApplication app(argc, argv); QApplication::setWindowIcon(QIcon(":gpgfrontend.png")); +#ifdef MACOS + // support retina screen + QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); +#endif + // logging system init_logging(); @@ -142,13 +147,13 @@ void init_locale() { .GetLocaleDir() .c_str(); +#ifndef WINDOWS 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 auto language = getenv("LANGUAGE"); // set LANGUAGE std::string language_env = language == nullptr ? "en" : language; @@ -157,13 +162,32 @@ void init_locale() { if (setenv("LANGUAGE", language_env.c_str(), 1)) { LOG(WARNING) << "set LANGUAGE failed" << language_env; }; -#endif } +#else + if (!lang.empty()) { + std::string lc = lang.empty() ? "" : lang; + + // set LC_ALL + auto* locale_name = setlocale(LC_ALL, lc.c_str()); + if (locale_name == nullptr) LOG(WARNING) << "set LC_ALL failed" << lc; + + auto language = getenv("LANGUAGE"); + // set LANGUAGE + std::string language_env = language == nullptr ? "en" : language; + language_env.insert(0, lang + ":"); + language_env.insert(0, "LANGUAGE="); + LOG(INFO) << "language env" << language_env; + if (putenv(language_env.c_str())) { + LOG(WARNING) << "set LANGUAGE failed" << language_env; + }; + } +#endif bindtextdomain(PROJECT_NAME, GpgFrontend::UI::GlobalSettingStation::GetInstance() .GetLocaleDir() .string() .c_str()); + bind_textdomain_codeset(PROJECT_NAME, "utf-8"); textdomain(PROJECT_NAME); } |