aboutsummaryrefslogtreecommitdiffstats
path: root/HomeScreen
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-11 16:00:10 +0100
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-11 16:00:10 +0100
commit2044d95f928fa42beaa00f9cb30816b1f6f63552 (patch)
tree97e54ef96ad4a8eae023d426da34c1b1c412e30f /HomeScreen
parent337319e30026b0bae453dc7363f27469fa2ab526 (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.cpp19
-rw-r--r--HomeScreen/src/layouthandler.h6
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: