diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-11 16:00:10 +0100 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-11 16:00:10 +0100 |
commit | 2044d95f928fa42beaa00f9cb30816b1f6f63552 (patch) | |
tree | 97e54ef96ad4a8eae023d426da34c1b1c412e30f /HomeScreen | |
parent | 337319e30026b0bae453dc7363f27469fa2ab526 (diff) |
Add new layer WINDOWMANAGER_LAYER_HOMESCREEN_OVERLAY.
Add new signal surfaceVisibilityChanged to homescreen and windowmanager API.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'HomeScreen')
-rw-r--r-- | HomeScreen/src/layouthandler.cpp | 19 | ||||
-rw-r--r-- | HomeScreen/src/layouthandler.h | 6 |
2 files changed, 23 insertions, 2 deletions
diff --git a/HomeScreen/src/layouthandler.cpp b/HomeScreen/src/layouthandler.cpp index 58743d0..b2bfd17 100644 --- a/HomeScreen/src/layouthandler.cpp +++ b/HomeScreen/src/layouthandler.cpp @@ -27,6 +27,13 @@ LayoutHandler::LayoutHandler(QObject *parent) : "/Popup", QDBusConnection::sessionBus(), 0); + + QDBusConnection::sessionBus().connect("org.agl.windowmanager", + "/windowmanager", + "org.agl.windowmanager", + "surfaceVisibilityChanged", + this, + SLOT(surfaceVisibilityChanged(int,bool))); } LayoutHandler::~LayoutHandler() @@ -117,12 +124,14 @@ void LayoutHandler::setUpLayouts() void LayoutHandler::showAppLayer() { - mp_dBusWindowManagerProxy->showLayer(1); //1==app layer + // POPUP=0, HOMESCREEN_OVERLAY=1, APPS=2, HOMESCREEN=3 + mp_dBusWindowManagerProxy->showLayer(2); // TODO: enum } void LayoutHandler::hideAppLayer() { - mp_dBusWindowManagerProxy->hideLayer(1); //1==app layer + // POPUP=0, HOMESCREEN_OVERLAY=1, APPS=2, HOMESCREEN=3 + mp_dBusWindowManagerProxy->hideLayer(2); // TODO: enum } void LayoutHandler::makeMeVisible(int pid) @@ -265,6 +274,12 @@ void LayoutHandler::setLayoutByName(QString layoutName) } } +void LayoutHandler::requestSurfaceVisibilityChanged(int surfaceId, bool visible) +{ + qDebug("requestSurfaceVisibilityChanged %d %s", surfaceId, visible ? "true" : "false"); + surfaceVisibilityChanged(surfaceId, visible); +} + void LayoutHandler::timerEvent(QTimerEvent *e) { if (e->timerId() == m_secondsTimerId) diff --git a/HomeScreen/src/layouthandler.h b/HomeScreen/src/layouthandler.h index e51930b..54290ac 100644 --- a/HomeScreen/src/layouthandler.h +++ b/HomeScreen/src/layouthandler.h @@ -30,6 +30,12 @@ public slots: void requestSurfaceIdToFullScreen(int surfaceId); void setLayoutByName(QString layoutName); + // this will receive the surfaceVisibilityChanged signal of the windowmanager + void requestSurfaceVisibilityChanged(int surfaceId, bool visible); + +Q_SIGNALS: // SIGNALS + void surfaceVisibilityChanged(int surfaceId, bool visible); + protected: void timerEvent(QTimerEvent *e); private: |