Initial upload
[quick-widgets] / main.cpp
diff --git a/main.cpp b/main.cpp
new file mode 100644 (file)
index 0000000..082d8b8
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,61 @@
+#include <QApplication>\r
+#include <q-extras/qemaemo5dynamicwidgethelper.h>\r
+#include <q-extras/qtsingleapplication.h>\r
+#include <q-extras/qesettingsmanager.h>\r
+#include "quickwidget.hpp"\r
+#include "quickwidgetsettings.hpp"\r
+#include "appeventlistener.hpp"\r
+\r
+int main(int argc, char *argv[])\r
+{\r
+    QApplication::setApplicationName("Quick Widgets");\r
+    QApplication::setOrganizationName("Marquarding");\r
+    // APP_VERSION and APP_BETA are defined in the .pro file\r
+    QApplication::setApplicationVersion(QString(APP_VERSION)\r
+#if APP_BETA\r
+        + " beta"\r
+#endif\r
+        );\r
+\r
+    QtSingleApplication app(argc, argv);\r
+    qDebug() << "Launched quick widgets app";\r
+\r
+    if (app.isRunning())\r
+    {\r
+        qDebug() << "Another instance of the app is running.";\r
+        if (app.arguments().contains("in-background"))\r
+        {\r
+            qDebug() << "Closing that other instance.";\r
+            app.sendMessage(APP_MESSAGE_CLOSE);\r
+        }\r
+        else\r
+        {\r
+            qDebug() << "Asking it to offer to create a new widget.";\r
+            app.sendMessage(APP_MESSAGE_ADDWIDGET);\r
+            return 0;\r
+        }\r
+    }\r
+\r
+    app.setQuitOnLastWindowClosed(false);\r
+    AppEventListener::instance();\r
+\r
+    if (app.arguments().contains("forget-widgets"))\r
+    {\r
+        qDebug() << "We were asked to forget all widgets!";\r
+        QeMaemo5DynamicWidgetHelper::globalInstance()->forgetAllWidgets();\r
+    }\r
+    else\r
+    {\r
+        qDebug() << "Restoring all widgets";\r
+        QeMaemo5DynamicWidgetHelper::globalInstance()->restoreWidgets<QuickWidget>();\r
+    }\r
+\r
+    if (!app.arguments().contains("in-background"))\r
+    {\r
+        // setting for new widget\r
+        QuickWidgetSettings settingsDialog;\r
+        settingsDialog.exec();\r
+        //app.sendMessage(APP_MESSAGE_ADDWIDGET);\r
+    }\r
+    return app.exec();\r
+}\r