/* * @RDE_HEADER@ * * $Id$ * $HeadURL$ * $Author$ * Created by Malte Schröder, SLSE, 2016-06-08 */ #include "aar_application.h" #include #include #include #include #include class CmdLineParser : public LtsCommandLineParser::LtsCommandLineParser { public: CmdLineParser() : LtsCommandLineParser(ProvideCommandLineParameterOptions::None) { addOption({{QStringLiteral("l"), QStringLiteral("lang")}, QStringLiteral("Language iso code to use (de_DE, en_GB, en_US)"), QStringLiteral("") }); } QString langIsoCode() const { return value(QStringLiteral("l")); } }; int main(int argc, char *argv[]) { int retval = -1; bool bHeadless = false; for (int i = 1; i < argc; ++i) { if (strcmp(argv[i], "-e") == 0) { bHeadless = true; break; } } QScopedPointer app; app.reset(bHeadless ? dynamic_cast(new NGLCoreApplication(argc, argv)) : dynamic_cast(new NGLApplication(argc, argv))); QCoreApplication::setApplicationName(QLatin1String("AarApplication")); QCoreApplication::setOrganizationName(QLatin1String("RME")); if (!bHeadless) app->setAttribute(Qt::AA_UseHighDpiPixmaps); NGL::LoggerHandler *lh = dynamic_cast(app.data()); lh->createLogger("AarApp", "log4cxx_aarApp.props"); NGL::INGLLogger &logger = lh->baseLogger(); // Parse Options CmdLineParser options; if (!options.init()) return retval; // Set Translation QString langIsoCode = options.langIsoCode(); if (langIsoCode.isEmpty()) langIsoCode = QLocale::system().name(); NGL::setTranslationLocale(langIsoCode.toLatin1()); AARApplication::AarApplication * w = new AARApplication::AarApplication; if (!w->init()) return -2; STARTUP_LOG(logger); w->show(); QGuiApplication::setQuitOnLastWindowClosed(true); retval = QCoreApplication::exec(); SHUTDOWN_LOG(logger); return retval; }