@@ -48,6 +48,17 @@ Item {
48 return session;
48 return session;
53+ // Track if the session has changed and the list is still shown.
54+ // This is currently only possible/reasonable with keyboard navigation
55+ property bool sessionChanged: false
56+ function sessionSelected(currentKey) {
57+ d.sessionChanged = true;
58+ root.sessionSelected(currentKey)
51 Keys.onEnterPressed: {
62 Keys.onEnterPressed: {
52 showLoginList(); // Session is already selected
63 showLoginList(); // Session is already selected
53 event.accepted = true;
64 event.accepted = true;
@@ -66,14 +77,14 @@ Item {
66 Keys.onDownPressed: {
77 Keys.onDownPressed: {
67 if (sessionsList.currentIndex < sessionsList.model.count - 1)
78 if (sessionsList.currentIndex < sessionsList.model.count - 1)
68 sessionsList.currentIndex++;
79 sessionsList.currentIndex++;
69− sessionSelected(currentKey());
80+ d.sessionSelected(currentKey());
70 event.accepted = true;
81 event.accepted = true;
73 Keys.onUpPressed: {
84 Keys.onUpPressed: {
74 if (sessionsList.currentIndex > 0)
85 if (sessionsList.currentIndex > 0)
75 sessionsList.currentIndex--;
86 sessionsList.currentIndex--;
76− sessionSelected(currentKey());
87+ d.sessionSelected(currentKey());
77 event.accepted = true;
88 event.accepted = true;
@@ -161,7 +172,8 @@ Item {
161 width: parent.width
172 width: parent.width
162 color: "transparent"
173 color: "transparent"
175+ color: d.sessionChanged ? theme.palette.normal.focus
164− color: theme.palette.normal.positionText
176+ : theme.palette.normal.positionText
165 width: units.gu(0.2)
177 width: units.gu(0.2)