summaryrefslogtreecommitdiffstats
path: root/sigmodr/Sigmodr.cpp
blob: 4530b3d07084ea1727259d4c1353c0a7eadafb51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// Sigmodr includes
#include "SigmodrUI.h"

// KDE includes
#include <KAboutData>
#include <KApplication>
#include <KCmdLineArgs>

static void messageHandler(QtMsgType type, const char* message)
{
    switch (type)
    {
        case QtDebugMsg:
            fprintf(stderr, "Debug: %s\n", message);
            break;
        case QtWarningMsg:
            fprintf(stderr, "Warning: %s\n", message);
            break;
        case QtCriticalMsg:
            fprintf(stderr, "Critical: %s\n", message);
            break;
        case QtFatalMsg:
            fprintf(stderr, "Fatal: %s\n", message);
            abort();
    }
}

int main(int argc, char* argv[])
{
    qInstallMsgHandler(messageHandler);
    
    KAboutData about("sigmodr", "sigmodr", ki18n("Sigmodr"), "0.0.2", ki18n(""), KAboutData::License_GPL_V3, ki18n("©2007-2008 Ben Boeckel"), ki18n("This program offers an easy interface so that Sigmods can be easily created."), "http://sourceforge.net/projects/sigen");
    about.setProgramName(ki18n("Sigmodr"));
    about.addAuthor(ki18n("Ben Boeckel"), ki18n("Lead Programmer"), "MathStuf@gmail.com", "");
    about.addCredit(ki18n("Peter Fernandes"), ki18n("Ideas"), "supersonicandtails@gmail.com", "http://www.hypersonicsoft.org");
    about.addCredit(ki18n("Kevin Kofler"), ki18n("Qt, KDE, debugging help"), "kevin.kofler@chello.at", "http://www.tigen.org/kevin.kofler");
    about.addCredit(ki18n("Luke Greco"), ki18n("Ideas, Tester"), "sirlewk@gmail.com", "");
    about.addCredit(ki18n("Mike Roberts"), ki18n("Tester"), "XavierMcF@gmail.com", "");
    about.setBugAddress("sigen-bugs@lists.sourceforge.net");
    about.setCopyrightStatement(ki18n("©2007-2008, Ben Boeckel"));
    about.setOrganizationDomain("");
    // TODO: Need one of these...
//     about.setProgramLogo();
    // TODO: And some of these...
    about.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails"));
    
    KCmdLineArgs::init(argc, argv, &about);
    KCmdLineOptions options;
    options.add("+[files]", ki18n("Files to open"));
    KCmdLineArgs::addCmdLineOptions(options);
    
    KApplication* app = new KApplication;
    
    Sigmodr::SigmodrUI* mainWindow = new Sigmodr::SigmodrUI;
    mainWindow->show();
    app->exec();
    return 0;
}