summaryrefslogtreecommitdiffstats
path: root/HomeScreen
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-07 13:40:36 +0100
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-07 13:40:36 +0100
commitef35ccbf522a2aaaece7625e9886bd910e3bd8b8 (patch)
tree6e117022ab2f1351c54ef318480bb92c1fe0543e /HomeScreen
parent5f64524d072abe75f4abb0730d37c0380f148fc1 (diff)
New HomeScreen API calls getSurfaceStatus and getAllSurfacesOfProcess.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'HomeScreen')
-rw-r--r--HomeScreen/src/homescreencontrolinterface.cpp12
-rw-r--r--HomeScreen/src/homescreencontrolinterface.h4
-rw-r--r--HomeScreen/src/layouthandler.cpp27
-rw-r--r--HomeScreen/src/layouthandler.h2
-rw-r--r--HomeScreen/src/mainwindow.cpp2
5 files changed, 47 insertions, 0 deletions
diff --git a/HomeScreen/src/homescreencontrolinterface.cpp b/HomeScreen/src/homescreencontrolinterface.cpp
index bc66e53..fae19a2 100644
--- a/HomeScreen/src/homescreencontrolinterface.cpp
+++ b/HomeScreen/src/homescreencontrolinterface.cpp
@@ -24,12 +24,24 @@ HomeScreenControlInterface::~HomeScreenControlInterface()
delete mp_homeScreenAdaptor;
}
+QList<int> HomeScreenControlInterface::getAllSurfacesOfProcess(int pid)
+{
+ qDebug("getAllSurfacesOfProcess %d", pid);
+ return newRequestGetAllSurfacesOfProcess(pid);
+}
+
QRect HomeScreenControlInterface::getLayoutRenderAreaForSurfaceId(int surfaceId)
{
qDebug("getLayoutRenderAreaForSurfaceId %d", surfaceId);
return newRequestGetLayoutRenderAreaForSurfaceId(surfaceId);
}
+int HomeScreenControlInterface::getSurfaceStatus(int surfaceId)
+{
+ qDebug("getSurfaceStatus %d", surfaceId);
+ return newRequestGetSurfaceStatus(surfaceId);
+}
+
void HomeScreenControlInterface::hardKeyPressed(int key)
{
int pid = -1;
diff --git a/HomeScreen/src/homescreencontrolinterface.h b/HomeScreen/src/homescreencontrolinterface.h
index 3203088..fb772db 100644
--- a/HomeScreen/src/homescreencontrolinterface.h
+++ b/HomeScreen/src/homescreencontrolinterface.h
@@ -17,13 +17,17 @@ public:
signals:
void newRequestsToBeVisibleApp(int pid);
+ QList<int> newRequestGetAllSurfacesOfProcess(int pid);
QRect newRequestGetLayoutRenderAreaForSurfaceId(int surfaceId);
+ int newRequestGetSurfaceStatus(int surfaceId);
void newRequestRenderSurfaceToArea(int surfaceId, const QRect &renderArea);
void newRequestSurfaceIdToFullScreen(int surfaceId);
//from homescreen_adapter.h
public Q_SLOTS: // METHODS
+ QList<int> getAllSurfacesOfProcess(int pid);
QRect getLayoutRenderAreaForSurfaceId(int surfaceId);
+ int getSurfaceStatus(int surfaceId);
void hardKeyPressed(int key);
void renderSurfaceToArea(int surfaceId, const QRect &renderArea);
void requestSurfaceIdToFullScreen(int surfaceId);
diff --git a/HomeScreen/src/layouthandler.cpp b/HomeScreen/src/layouthandler.cpp
index 5f52cd5..35304e6 100644
--- a/HomeScreen/src/layouthandler.cpp
+++ b/HomeScreen/src/layouthandler.cpp
@@ -175,6 +175,33 @@ void LayoutHandler::makeMeVisible(int pid)
}
}
+QList<int> LayoutHandler::requestGetAllSurfacesOfProcess(int pid)
+{
+ qDebug("requestGetAllSurfacesOfProcess %d", pid);
+
+ return mp_dBusWindowManagerProxy->getAllSurfacesOfProcess(pid);
+}
+
+int LayoutHandler::requestGetSurfaceStatus(int surfaceId)
+{
+ int result = -1;
+
+ if (-1 != m_visibleSurfaces.indexOf(surfaceId))
+ {
+ result = 0;
+ }
+ if (-1 != m_invisibleSurfaces.indexOf(surfaceId))
+ {
+ result = 1;
+ }
+ if (-1 != m_requestsToBeVisibleSurfaces.indexOf(surfaceId))
+ {
+ result = 1;
+ }
+
+ return result;
+}
+
void LayoutHandler::requestRenderSurfaceToArea(int surfaceId, const QRect &renderArea)
{
qDebug("requestRenderSurfaceToArea %d %d,%d,%d,%d", surfaceId, renderArea.x(), renderArea.y(), renderArea.width(), renderArea.height());
diff --git a/HomeScreen/src/layouthandler.h b/HomeScreen/src/layouthandler.h
index cc4b7ab..1ba270b 100644
--- a/HomeScreen/src/layouthandler.h
+++ b/HomeScreen/src/layouthandler.h
@@ -19,6 +19,8 @@ signals:
public slots:
void makeMeVisible(int pid);
+ QList<int> requestGetAllSurfacesOfProcess(int pid);
+ int requestGetSurfaceStatus(int surfaceId);
void requestRenderSurfaceToArea(int surfaceId, const QRect &renderArea);
void requestSurfaceIdToFullScreen(int surfaceId);
void setLayoutByName(QString layoutName);
diff --git a/HomeScreen/src/mainwindow.cpp b/HomeScreen/src/mainwindow.cpp
index f8dfe89..f4891b3 100644
--- a/HomeScreen/src/mainwindow.cpp
+++ b/HomeScreen/src/mainwindow.cpp
@@ -100,6 +100,8 @@ MainWindow::MainWindow(QWidget *parent) :
mp_layoutHandler->setUpLayouts();
mp_homeScreenControlInterface = new HomeScreenControlInterface(this);
+ QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetAllSurfacesOfProcess(int)), mp_layoutHandler, SLOT(requestGetAllSurfacesOfProcess(int)));
+ QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetSurfaceStatus(int)), mp_layoutHandler, SLOT(requestGetSurfaceStatus(int)));
QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestsToBeVisibleApp(int)), mp_layoutHandler, SLOT(makeMeVisible(int)));
QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestSurfaceIdToFullScreen(int)), mp_layoutHandler, SLOT(requestSurfaceIdToFullScreen(int)));
QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestRenderSurfaceToArea(int, QRect)), mp_layoutHandler, SLOT(requestRenderSurfaceToArea(int,QRect)));