summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2017-09-29 13:32:06 +0200
committerHolger Freyther <holger+qt@freyther.de>2017-11-09 13:04:04 +0000
commitc22860511e43ac88a2bad398a0dfcea537501e16 (patch)
tree2ec221b353f24263de6583b6e3d141e3e334c396
parente5047dc19d84dc45eef92c2c59bab52637f092d6 (diff)
democompositor: Store the AppEntry in the Chrome
Keep the AppEntry in the Chrome and set it when a new surface is created. Handle the situation when an external application is launched and check for null. Change-Id: Ib327ec266587bba9a2c48eacbcb79c508b2066d0 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r--wayland/democompositor/qml/Chrome.qml2
-rw-r--r--wayland/democompositor/qml/Screen.qml2
-rw-r--r--wayland/democompositor/qml/main.qml6
3 files changed, 8 insertions, 2 deletions
diff --git a/wayland/democompositor/qml/Chrome.qml b/wayland/democompositor/qml/Chrome.qml
index 33a5b99..9c21cd1 100644
--- a/wayland/democompositor/qml/Chrome.qml
+++ b/wayland/democompositor/qml/Chrome.qml
@@ -65,6 +65,8 @@ Rectangle {
property int marginWidth : 5
property int titlebarHeight : 5
+ property var appEntry
+
function requestSize(w, h) {
surfaceItem.requestSize(Qt.size(w - 2 * marginWidth, h - titlebarHeight - marginWidth))
}
diff --git a/wayland/democompositor/qml/Screen.qml b/wayland/democompositor/qml/Screen.qml
index 7ab7481..ef3be4d 100644
--- a/wayland/democompositor/qml/Screen.qml
+++ b/wayland/democompositor/qml/Screen.qml
@@ -189,7 +189,7 @@ WaylandOutput {
pressedColor: pressedCol
text.maximumLineCount: 1
- text.text: modelData.shellSurface.title.length > 0 ? modelData.shellSurface.title : "Untitled"
+ text.text: winItem.appEntry === null ? "Untitled" : winItem.appEntry.appName
text.elide: Text.ElideRight
text.color: textCol
onTriggered: {
diff --git a/wayland/democompositor/qml/main.qml b/wayland/democompositor/qml/main.qml
index 75d1adc..3947b52 100644
--- a/wayland/democompositor/qml/main.qml
+++ b/wayland/democompositor/qml/main.qml
@@ -72,12 +72,16 @@ WaylandCompositor {
onWlShellSurfaceCreated: {
const pid = shellSurface.surface.client.processId;
const appState = mainScreen.appLauncher.appStateForPid(pid);
+ var appEntry;
if (!appState) {
console.log("shellSurface of unknown application. Continuing. PID=" + pid);
} else {
console.log("shellSurface belonging to " + appState.appEntry.executableName);
+ appEntry = appState.appEntry;
}
- chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
+ chromeComponent.createObject(defaultOutput.surfaceArea, {
+ "shellSurface": shellSurface,
+ "appEntry": appEntry } );
defaultOutput.relayout();
}
}