view ui/main.cpp @ 285:f23e0ccd5d14

Fix call to windows process. This now uses the correct parameters, emits the signals correctly as errors and waits for the process to finish instead of relying on NOASYNC which did not work for runas and also made it impossible to get the return code
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 02 Apr 2014 13:45:57 +0000
parents 3349c9596043
children 75f7288ad67b
line wrap: on
line source
#include "mainwindow.h"

#include <QApplication>
#include <QSystemTrayIcon>
#include <QtPlugin>
#include <QMessageBox>
#include <QSettings>

#ifndef VERSION
#define VERSION "0.0.1"
#endif

#ifndef APPNAME
#define APPNAME "m13ui"
#endif

#ifndef ORGANIZATION
#define ORGANIZATION "m13org"
#endif

#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();
    bool trayMode = arguments.contains("--tray");

    if (!QSystemTrayIcon::isSystemTrayAvailable() ||
            !QSystemTrayIcon::supportsMessages()) {
        QMessageBox::critical(0, QString::fromLatin1(APPNAME),
                              QObject::tr("Couldn't detect any system tray "
                                          "on this system. This software can only "
                                          "be used in a desktop environment."));
        return 1;
    }

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

    MainWindow mainWin;
    if (!trayMode) {
        mainWin.show();
    }

    return app.exec();
}

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