082d8b863264df0700fe250b9725c7643f8f37cb
[quick-widgets] / main.cpp
1 #include <QApplication>\r
2 #include <q-extras/qemaemo5dynamicwidgethelper.h>\r
3 #include <q-extras/qtsingleapplication.h>\r
4 #include <q-extras/qesettingsmanager.h>\r
5 #include "quickwidget.hpp"\r
6 #include "quickwidgetsettings.hpp"\r
7 #include "appeventlistener.hpp"\r
8 \r
9 int main(int argc, char *argv[])\r
10 {\r
11     QApplication::setApplicationName("Quick Widgets");\r
12     QApplication::setOrganizationName("Marquarding");\r
13     // APP_VERSION and APP_BETA are defined in the .pro file\r
14     QApplication::setApplicationVersion(QString(APP_VERSION)\r
15 #if APP_BETA\r
16         + " beta"\r
17 #endif\r
18         );\r
19 \r
20     QtSingleApplication app(argc, argv);\r
21     qDebug() << "Launched quick widgets app";\r
22 \r
23     if (app.isRunning())\r
24     {\r
25         qDebug() << "Another instance of the app is running.";\r
26         if (app.arguments().contains("in-background"))\r
27         {\r
28             qDebug() << "Closing that other instance.";\r
29             app.sendMessage(APP_MESSAGE_CLOSE);\r
30         }\r
31         else\r
32         {\r
33             qDebug() << "Asking it to offer to create a new widget.";\r
34             app.sendMessage(APP_MESSAGE_ADDWIDGET);\r
35             return 0;\r
36         }\r
37     }\r
38 \r
39     app.setQuitOnLastWindowClosed(false);\r
40     AppEventListener::instance();\r
41 \r
42     if (app.arguments().contains("forget-widgets"))\r
43     {\r
44         qDebug() << "We were asked to forget all widgets!";\r
45         QeMaemo5DynamicWidgetHelper::globalInstance()->forgetAllWidgets();\r
46     }\r
47     else\r
48     {\r
49         qDebug() << "Restoring all widgets";\r
50         QeMaemo5DynamicWidgetHelper::globalInstance()->restoreWidgets<QuickWidget>();\r
51     }\r
52 \r
53     if (!app.arguments().contains("in-background"))\r
54     {\r
55         // setting for new widget\r
56         QuickWidgetSettings settingsDialog;\r
57         settingsDialog.exec();\r
58         //app.sendMessage(APP_MESSAGE_ADDWIDGET);\r
59     }\r
60     return app.exec();\r
61 }\r