summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens.qnx@kdab.com>2012-04-30 17:10:06 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-03 11:33:05 +0200
commitf74e5a03598e102a1d81eb4fca58e41db713e5dc (patch)
treec6f5cb4e9c9b408e008f5ecb2961edb8f02e575f /src/plugins
parent9c75a547a0eddd8913ec5f1a49b5ba5749f50973 (diff)
Emit signals to notify window (de)activation
The event notifier now deals also with the windowActive and windowInactive PPS messages. The event handler simply emit the corresponding signals. Change-Id: I1906a47a314bf81877e4dd3dc52c6463312f3aac Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/qnx/qqnxbpseventfilter.cpp20
-rw-r--r--src/plugins/platforms/qnx/qqnxnavigatoreventhandler.cpp18
-rw-r--r--src/plugins/platforms/qnx/qqnxnavigatoreventhandler.h4
-rw-r--r--src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.cpp4
4 files changed, 46 insertions, 0 deletions
diff --git a/src/plugins/platforms/qnx/qqnxbpseventfilter.cpp b/src/plugins/platforms/qnx/qqnxbpseventfilter.cpp
index 647e1a692f..089d5681d6 100644
--- a/src/plugins/platforms/qnx/qqnxbpseventfilter.cpp
+++ b/src/plugins/platforms/qnx/qqnxbpseventfilter.cpp
@@ -191,6 +191,26 @@ bool QQnxBpsEventFilter::handleNavigatorEvent(bps_event_t *event)
m_navigatorEventHandler->handleExit();
break;
+ case NAVIGATOR_WINDOW_ACTIVE: {
+ #if defined(QQNXBPSEVENTFILTER_DEBUG)
+ qDebug() << "QQNX: Navigator WINDOW ACTIVE event";
+ #endif
+
+ const QByteArray id(navigator_event_get_groupid(event));
+ m_navigatorEventHandler->handleWindowGroupActivated(id);
+ break;
+ }
+
+ case NAVIGATOR_WINDOW_INACTIVE: {
+ #if defined(QQNXBPSEVENTFILTER_DEBUG)
+ qDebug() << "QQNX: Navigator WINDOW INACTIVE event";
+ #endif
+
+ const QByteArray id(navigator_event_get_groupid(event));
+ m_navigatorEventHandler->handleWindowGroupDeactivated(id);
+ break;
+ }
+
default:
#if defined(QQNXBPSEVENTFILTER_DEBUG)
qDebug() << "QQNX: Unhandled navigator event. code=" << bps_event_get_code(event);
diff --git a/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.cpp b/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.cpp
index 72227c6089..41b4a2f301 100644
--- a/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.cpp
+++ b/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.cpp
@@ -95,4 +95,22 @@ void QQnxNavigatorEventHandler::handleExit()
QCoreApplication::quit();
}
+void QQnxNavigatorEventHandler::handleWindowGroupActivated(const QByteArray &id)
+{
+#if defined(QQNXNAVIGATOREVENTHANDLER_DEBUG)
+ qDebug() << Q_FUNC_INFO << id;
+#endif
+
+ Q_EMIT windowGroupActivated(id);
+}
+
+void QQnxNavigatorEventHandler::handleWindowGroupDeactivated(const QByteArray &id)
+{
+#if defined(QQNXNAVIGATOREVENTHANDLER_DEBUG)
+ qDebug() << Q_FUNC_INFO << id;
+#endif
+
+ Q_EMIT windowGroupDeactivated(id);
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.h b/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.h
index 58a1ac8cb3..363374153b 100644
--- a/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.h
+++ b/src/plugins/platforms/qnx/qqnxnavigatoreventhandler.h
@@ -56,9 +56,13 @@ public:
void handleOrientationChange(int angle);
void handleSwipeDown();
void handleExit();
+ void handleWindowGroupActivated(const QByteArray &id);
+ void handleWindowGroupDeactivated(const QByteArray &id);
Q_SIGNALS:
void rotationChanged(int angle);
+ void windowGroupActivated(const QByteArray &id);
+ void windowGroupDeactivated(const QByteArray &id);
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.cpp b/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.cpp
index d5220c936e..23e2167a25 100644
--- a/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.cpp
+++ b/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.cpp
@@ -197,6 +197,10 @@ void QQnxNavigatorEventNotifier::handleMessage(const QByteArray &msg, const QByt
m_eventHandler->handleSwipeDown();
} else if (msg == "exit") {
m_eventHandler->handleExit();
+ } else if (msg == "windowActive") {
+ m_eventHandler->handleWindowGroupActivated(dat);
+ } else if (msg == "windowInactive") {
+ m_eventHandler->handleWindowGroupDeactivated(dat);
}
}