aheinecke@404: /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik aheinecke@404: * Software engineering by Intevation GmbH aheinecke@404: * aheinecke@404: * This file is Free Software under the GNU GPL (v>=2) aheinecke@404: * and comes with ABSOLUTELY NO WARRANTY! aheinecke@404: * See LICENSE.txt for details. aheinecke@404: */ aheinecke@0: #include "mainwindow.h" aheinecke@0: aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@0: #include aheinecke@17: #include aheinecke@423: #include aheinecke@423: #include aheinecke@0: aheinecke@16: #ifndef VERSION aheinecke@16: #define VERSION "0.0.1" aheinecke@16: #endif aheinecke@16: aheinecke@16: #ifndef APPNAME aheinecke@407: #define APPNAME "TrustBridge" aheinecke@16: #endif aheinecke@16: aheinecke@16: #ifndef ORGANIZATION aheinecke@409: #define ORGANIZATION "BSI" aheinecke@16: #endif aheinecke@0: aheinecke@0: #ifdef Q_OS_WIN aheinecke@0: Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) aheinecke@0: #else aheinecke@0: Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) aheinecke@0: #endif aheinecke@0: aheinecke@0: int main(int argc, char **argv) aheinecke@0: { aheinecke@0: QApplication app (argc, argv); aheinecke@0: rrenkert@154: QStringList arguments = QApplication::arguments(); rrenkert@154: bool trayMode = arguments.contains("--tray"); rrenkert@154: aheinecke@423: QTranslator translator; aheinecke@423: if (QLocale::system().name() == "C") { aheinecke@423: /* Useful for testing / development as the primary target is german */ aheinecke@423: translator.load(":/l10n/trustbridge_de_DE"); aheinecke@423: } else { aheinecke@423: translator.load(":/l10n/trustbridge_" + QLocale::system().name()); aheinecke@423: qDebug() << "Loading translations for: " << "trustbridge_" + aheinecke@423: QLocale::system().name(); aheinecke@423: } aheinecke@423: app.installTranslator(&translator); aheinecke@423: aheinecke@73: if (!QSystemTrayIcon::isSystemTrayAvailable() || aheinecke@73: !QSystemTrayIcon::supportsMessages()) { aheinecke@16: QMessageBox::critical(0, QString::fromLatin1(APPNAME), aheinecke@0: QObject::tr("Couldn't detect any system tray " aheinecke@0: "on this system. This software can only " aheinecke@0: "be used in a desktop environment.")); aheinecke@0: return 1; aheinecke@0: } aheinecke@16: aheinecke@0: QApplication::setQuitOnLastWindowClosed(false); aheinecke@16: QApplication::setOrganizationName(QString::fromLatin1(ORGANIZATION)); aheinecke@16: QApplication::setApplicationName(QString::fromLatin1(APPNAME)); aheinecke@16: QApplication::setApplicationVersion(QString::fromLatin1(VERSION)); aheinecke@17: QSettings::setDefaultFormat(QSettings::IniFormat); aheinecke@0: aheinecke@365: MainWindow mainWin(trayMode); aheinecke@0: aheinecke@0: return app.exec(); aheinecke@0: }