aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-12-13 15:49:05 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-12-13 15:49:05 +0100
commit64e765111dde29e7464ba49ec6185ef0d35077c8 (patch)
tree5e8f87f480973675a2accae1147bff06d941b539 /src/main.cpp
parentMainWindow: rework menu bar (diff)
downloadsmolbote-64e765111dde29e7464ba49ec6185ef0d35077c8.tar.xz
Add translations meson option to build and install translations
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp31
1 files changed, 13 insertions, 18 deletions
diff --git a/src/main.cpp b/src/main.cpp
index d9e1c6a..04ce57a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -65,6 +65,10 @@ int main(int argc, char **argv)
// create and load configuration
std::unique_ptr<Configuration> config = std::make_unique<Configuration>(argc, argv, cmd->value<std::string>("config").value());
+ QTranslator translator;
+ if(config->exists("browser.translation")) {
+ translator.load(config->value<QString>("browser.translation").value());
+ }
QVector<QPluginLoader *> plugins;
CommandHash_t pluginCommands;
@@ -88,13 +92,21 @@ int main(int argc, char **argv)
}
if(cmd->exists("help")) {
- return builtins::help(argv[0], cmd->description(), config->description(), pluginCommands);
+ return builtins::help(argv[0], cmd->description(), config->description(), pluginCommands, &translator);
}
// argc, argv, allowSecondary
Browser app(argc, argv);
// set this, otherwise the webview becomes black when using a stylesheet
app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
+ app.installTranslator(&translator);
+ if(config->exists("browser.locale")) {
+ auto *locale = new QTranslator(&app);
+ if(locale->load("qt_" + config->value<QString>("browser.locale").value(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
+ app.installTranslator(locale);
+ else
+ delete locale;
+ }
#ifdef CONFIG_USEBREAKPAD
const std::string crashpath = config->value<std::string>("browser.crash.path").value_or("/tmp");
@@ -119,23 +131,6 @@ int main(int argc, char **argv)
#endif
#endif // CONFIG_USEBREAKPAD
- // translator
- if(config->exists("browser.locale")) {
- auto *translator = new QTranslator(&app);
- if(translator->load("qt_" + config->value<QString>("browser.locale").value(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
- app.installTranslator(translator);
- else
- delete translator;
- }
-
- if(config->exists("browser.translation")) {
- auto *translator = new QTranslator(&app);
- if(translator->load(config->value<QString>("browser.translation").value()))
- app.installTranslator(translator);
- else
- delete translator;
- }
-
const bool isStandalone = cmd->exists("no-remote");
const auto profile = config->value<QString>("profile.default");