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>
This commit is contained in:
Kevin Ottens 2012-04-30 17:10:06 +02:00 committed by Qt by Nokia
parent 9c75a547a0
commit f74e5a0359
4 changed files with 46 additions and 0 deletions

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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);
}
}