@@ -107,6 +107,7 @@ Rectangle {
107107 sourceComponent: Component {
108108 Shell {
109109 id: __shell
110+ objectName: "shell"
110111 usageScenario: usageScenarioSelector.model[usageScenarioSelector.selectedIndex]
111112 nativeWidth: width
112113 nativeHeight: height
@@ -183,22 +184,44 @@ Rectangle {
183184 callManager.foregroundCall = callManager.foregroundCall ? null : phoneCall;
184185 }
185186 }
186− }
187− Button {
188− text: "Show Launcher"
189− activeFocusOnPress: false
190− onClicked: {
191− if (shellLoader.status !== Loader.Ready)
192− return;
187+ Button {
188+ text: "Show Launcher"
189+ activeFocusOnPress: false
190+ onClicked: {
191+ if (shellLoader.status !== Loader.Ready)
192+ return;
193193
194− var launcher = testCase.findChild(shellLoader.item, "launcher");
195− launcher.state = "visible";
194+ var launcher = testCase.findChild(shellLoader.item, "launcher");
195+ launcher.state = "visible";
196+ }
196197 }
198+ Button {
199+ text: "Print focused"
200+ activeFocusOnPress: false
201+ onClicked: {
202+ var childs = new Array(0);
203+ childs.push(shellLoader.item)
204+ while (childs.length > 0) {
205+ if (childs[0].activeFocus && childs[0].focus && childs[0].objectName != "shell") {
206+ print("Active focus is on item:", childs[0]);
207+ return;
208+ }
209+ for (var i in childs[0].children) {
210+ childs.push(childs[0].children[i])
211+ }
212+ childs.splice(0, 1);
213+ }
214+ print("No active focused item found within shell.")
215+ }
216+ }
217+ }
218+ Label {
219+ text: "LightDM mock mode"
197220 }
221+
198222 ListItem.ItemSelector {
199223 anchors { left: parent.left; right: parent.right }
200224 activeFocusOnPress: false
201− text: "LightDM mock mode"
202225 model: ["single", "single-passphrase", "single-pin", "full"]
203226 onSelectedIndexChanged: {
204227 shellLoader.active = false;
@@ -207,11 +230,14 @@ Rectangle {
207230 shellLoader.active = true;
208231 }
209232 }
233+ Label {
234+ text: "Size"
235+ }
236+
210237 ListItem.ItemSelector {
211238 id: sizeSelector
212239 anchors { left: parent.left; right: parent.right }
213240 activeFocusOnPress: false
214− text: "Size"
215241 model: ["phone", "tablet", "desktop"]
216242 onSelectedIndexChanged: {
217243// shellLoader.active = false;
@@ -219,22 +245,28 @@ Rectangle {
219245// shellLoader.active = true;
220246 }
221247 }
248+ Label {
249+ text: "Usage scenario"
250+ }
251+
222252 ListItem.ItemSelector {
223253 id: usageScenarioSelector
224254 anchors { left: parent.left; right: parent.right }
225255 activeFocusOnPress: false
226− text: "Usage scenario"
227256 model: ["phone", "tablet", "desktop"]
228257 }
229258 MouseTouchEmulationCheckbox {
230259 id: mouseEmulation
231260 checked: true
232261 }
262+ Label {
263+ text: "Ctrl key as"
264+ }
265+
233266 ListItem.ItemSelector {
234267 id: ctrlModifier
235268 anchors { left: parent.left; right: parent.right }
236269 activeFocusOnPress: false
237− text: "Ctrl key as"
238270 model: ["Ctrl", "Alt", "Super"]
239271 onSelectedIndexChanged: {
240272 var keyMapper = testCase.findChild(shellContainer, "physicalKeysMapper");