aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
authorSaturn&Eric <[email protected]>2021-12-08 15:32:41 +0000
committerGitHub <[email protected]>2021-12-08 15:32:41 +0000
commit6044d5706d88e3995ff2162d86e1f06bf70d0894 (patch)
treefa483d7d8e00d42ba77c43c1223b27793f20d0f9 /src/main.cpp
parentMerge pull request #28 from saturneric/develop (diff)
parentUpdate CI for Release and Debug. (diff)
downloadGpgFrontend-6044d5706d88e3995ff2162d86e1f06bf70d0894.tar.gz
GpgFrontend-6044d5706d88e3995ff2162d86e1f06bf70d0894.zip
Merge pull request #29 from saturneric/developv2.0.1
v2.0.1-beta.3
Diffstat (limited to '')
-rw-r--r--src/main.cpp30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index f4739767..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();
@@ -55,7 +60,7 @@ int main(int argc, char* argv[]) {
// unicode in source
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
-#ifdef WINDOWS
+#if !defined(RELEASE)
// css
QFile file(RESOURCE_DIR(qApp->applicationDirPath()) + "/css/default.qss");
file.open(QFile::ReadOnly);
@@ -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);
}