Add symlink to /usr/bin
[quick-widgets] / appeventlistener.cpp
1 #include <QtCore>\r
2 #include <QtGui>\r
3 #include <q-extras/qtsingleapplication.h>\r
4 \r
5 #include "appeventlistener.hpp"\r
6 #include "quickwidgetsettings.hpp"\r
7 #include "quickwidget.hpp"\r
8 \r
9 static AppEventListener *_instance = NULL;\r
10 \r
11 AppEventListener* AppEventListener::instance()\r
12 {\r
13     if (_instance == NULL)\r
14         _instance = new AppEventListener(QCoreApplication::instance());\r
15 \r
16     return _instance;\r
17 }\r
18 \r
19 AppEventListener::AppEventListener(QObject *parent) :\r
20     QObject(parent)\r
21 {\r
22     // Connect to the QtSingleApplication's event\r
23     QObject::connect(QtSingleApplication::instance(), SIGNAL(messageReceived(const QString&)), \r
24                      this, SLOT(receiveMessage(const QString&)));\r
25 }\r
26 \r
27 void AppEventListener::receiveMessage(const QString& message)\r
28 {\r
29     if (message.endsWith(".qml")) {\r
30       QuickWidget::createAndShowNew(message);\r
31       \r
32     } else if (message == APP_MESSAGE_SETWIDGET)\r
33     {\r
34         QuickWidgetSettings settings;\r
35         settings.exec();\r
36     }\r
37     else if (message == APP_MESSAGE_CLOSE)\r
38     {\r
39         ((QApplication*)sender())->quit();\r
40     }\r
41 }\r
42 \r