diff options
author | Kevin Ottens <kevin.ottens.qnx@kdab.com> | 2012-04-30 17:10:06 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-03 11:33:05 +0200 |
commit | f74e5a03598e102a1d81eb4fca58e41db713e5dc (patch) | |
tree | c6f5cb4e9c9b408e008f5ecb2961edb8f02e575f /src/plugins | |
parent | 9c75a547a0eddd8913ec5f1a49b5ba5749f50973 (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')
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); } } |