- cliParser = std::make_shared<KCmdLineWrapper>();
-#elif defined HAVE_QT5
- cliParser = std::make_shared<Qt5CliParser>();
-#else
- cliParser = std::make_shared<CliParser>();
+ Quassel::setupBuildInfo();
+ QCoreApplication::setApplicationName(Quassel::buildInfo().applicationName);
+ QCoreApplication::setApplicationVersion(Quassel::buildInfo().plainVersionString);
+ QCoreApplication::setOrganizationName(Quassel::buildInfo().organizationName);
+ QCoreApplication::setOrganizationDomain(Quassel::buildInfo().organizationDomain);
+
+ // Migrate settings from KDE4 to KF5 if appropriate
+#ifdef HAVE_KF5
+ Kdelibs4ConfigMigrator migrator(QCoreApplication::applicationName());
+ migrator.setConfigFiles(QStringList() << "quasselrc" << "quassel.notifyrc");
+ migrator.migrate();
+#endif
+
+ //Setup the High-DPI settings
+# if QT_VERSION >= 0x050600 && defined(Q_OS_WIN)
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); //Added in Qt 5.6
+#endif
+ QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+
+ // Instantiate application
+#if defined BUILD_CORE
+ CoreApplication app(argc, argv);
+ const auto runMode = Quassel::RunMode::CoreOnly;
+#elif defined BUILD_QTUI
+ QtUiApplication app(argc, argv);
+ const auto runMode = Quassel::RunMode::ClientOnly;
+#elif defined BUILD_MONO
+ MonolithicApplication app(argc, argv);
+ const auto runMode = Quassel::RunMode::Monolithic;