Restructured the SqlEngine. Not yet finished (see "TODO" in the code).
[toast/confclerk.git] / src / app / main.cpp
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann, Stefan Stahl
4  *
5  * This file is part of ConfClerk.
6  *
7  * ConfClerk is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation, either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * ConfClerk is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #include "mainwindow.h"
21
22 #include "sqlengine.h"
23
24 #include "eventdialog.h"
25 #include "application.h"
26
27 #ifdef MAEMO
28 //#include "alarmdialog.h"
29 #include "alarmdbus.h"
30 #include "alarmdbusadaptorp.h"
31 #endif /* MAEMO */
32
33
34 int main(int argc, char *argv[])
35 {
36     Q_INIT_RESOURCE(icons);
37     Q_INIT_RESOURCE(db);
38     Q_INIT_RESOURCE(data);
39
40     Application a(argc, argv);
41     Application::setWindowIcon(QIcon(":/confclerk.svg"));
42
43     // needed by QDesktopServices
44     QCoreApplication::setOrganizationName("Toastfreeware");
45     QCoreApplication::setApplicationName("ConfClerk");
46     QCoreApplication::setApplicationVersion(VERSION);
47  
48     QWidget *window;
49     window = new MainWindow;
50
51
52 #ifdef MAEMO
53     // Alarm Dbus
54     CAlarmDBus *alarmDBus = new CAlarmDBus(window);
55     new AlarmDBusAdaptor(alarmDBus);
56     QDBusConnection connection = QDBusConnection::sessionBus();
57
58     if(connection.registerObject("/ConfClerk", alarmDBus) == true)
59     {
60         if( connection.registerService("at.priv.toastfreeware.confclerk") == false)
61         {
62                 if(argc>1)
63                 {
64                         QDBusInterface *interface = new QDBusInterface("at.priv.toastfreeware.confclerk",
65                                                                        "/ConfClerk",
66                                                                        "at.priv.toastfreeware.confclerk.AlarmInterface",
67                                                                        connection);
68                         interface->call("Alarm",atoi(argv[1]));
69                         return 0;
70                 }
71         }
72     }
73
74     if(argc > 1)
75     {
76         EventDialog dialog(atoi(argv[1]), window);
77         dialog.exec();
78     }
79 #endif
80
81     window->show();
82
83     return a.exec();
84 }
85