Initial upload
[quick-widgets] / appeventlistener.cpp
diff --git a/appeventlistener.cpp b/appeventlistener.cpp
new file mode 100644 (file)
index 0000000..4dfdd81
--- /dev/null
@@ -0,0 +1,38 @@
+#include <QtCore>\r
+#include <QtGui>\r
+#include <q-extras/qtsingleapplication.h>\r
+\r
+#include "appeventlistener.hpp"\r
+#include "quickwidgetsettings.hpp"\r
+\r
+static AppEventListener *_instance = NULL;\r
+\r
+AppEventListener* AppEventListener::instance()\r
+{\r
+    if (_instance == NULL)\r
+        _instance = new AppEventListener(QCoreApplication::instance());\r
+\r
+    return _instance;\r
+}\r
+\r
+AppEventListener::AppEventListener(QObject *parent) :\r
+    QObject(parent)\r
+{\r
+    // Connect to the QtSingleApplication's event\r
+    QObject::connect(QtSingleApplication::instance(), SIGNAL(messageReceived(const QString&)), this, SLOT(receiveMessage(const QString&)));\r
+}\r
+\r
+void AppEventListener::receiveMessage(const QString& message)\r
+{\r
+    if (message == APP_MESSAGE_ADDWIDGET)\r
+    {\r
+        qDebug() << "TTTTTTEEEEST";\r
+        QuickWidgetSettings settings;\r
+        settings.exec();\r
+    }\r
+    else if (message == APP_MESSAGE_CLOSE)\r
+    {\r
+        ((QApplication*)sender())->quit();\r
+    }\r
+}\r
+\r