view ui/administrator.cpp @ 964:706405a2f3e8

(issue89) Add help icon to help button
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 28 Aug 2014 12:55:19 +0200
parents 0051cb07da28
children f638eb1f3b0f
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#include "administratorwindow.h"
#include "util.h"

#include <QApplication>
#include <QtPlugin>
#include <QMessageBox>
#include <QSettings>
#include <QTranslator>
#include <QDebug>
#include <QTextCodec>
#include <QFontDatabase>

#ifndef VERSION
#define VERSION "0.0.1"
#endif

#ifndef APPNAME
#define APPNAME "trustbridge-admin"
#endif

#ifndef ORGANIZATION
#define ORGANIZATION "BSI"
#endif

#define COPYRIGHT "Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik \n" \
                  "Software engineering by Intevation GmbH \n\n" \
                  "This file is Free Software under the GNU GPL (v>=2)\n" \
                  "and comes with ABSOLUTELY NO WARRANTY!\n"

#ifdef Q_OS_WIN
 Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
#else
 Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
#endif

int main(int argc, char **argv)
{
    QApplication app (argc, argv);

    QStringList arguments = QApplication::arguments();

    QApplication::setOrganizationName(QString::fromLatin1(ORGANIZATION));
    QApplication::setApplicationName(QString::fromLatin1(APPNAME));
    QApplication::setApplicationVersion(QString::fromLatin1(VERSION));
    QSettings::setDefaultFormat(QSettings::IniFormat);

    if (QApplication::arguments().contains("--version")) {
        printf (APPNAME " Version: %s \n",
                QApplication::applicationVersion().toLocal8Bit().constData());
        printf (COPYRIGHT);
        return 0;
    }

    QTranslator translator;
    if (QLocale::system().name() == "C") {
        /* Useful for testing / development as the primary target is german */
        translator.load(":/l10n/administrator_de_DE");
    } else {
        translator.load(":/l10n/administrator_" + QLocale::system().name());
        qDebug() << "Loading translations for: " << "administrator_" +
            QLocale::system().name();
    }
    app.installTranslator(&translator);

    /* Out of process calls need to be encoded in latin-1 so that they
     * look decent on western europe's windows */
    QTextCodec::setCodecForLocale(QTextCodec::codecForName ("ISO-8859-1"));

    /* Install static fonts */

    /* The putenv here works around a bug in qt. Qt thinks it is a fatal
     * error if the font directory does not exist. */
    qputenv("QT_QPA_FONTDIR", get_install_dir());
    int fontId = QFontDatabase::addApplicationFont(":/fonts/DejaVuSans.ttf");
    if (fontId != -1)
    {
        QFont font("DejaVuSans");
        font.setPointSize(9);
        app.setFont(font);
    }

    AdministratorWindow adminWin;
    adminWin.show();

    return app.exec();
}

http://wald.intevation.org/projects/trustbridge/