on xenial help sign in
Handle key scrolling
commit87d63c5f09a39e34ba1ed7fe1687b37a521669ca authorJosh Arenson <joshua.arenson@canonical.com> dateMon 1 Aug 2016, 20:02 (10 years ago) parent7df2533
2 files changed+22−1
qml/Greeter/SessionsList.qml+19 qml/Greeter/WideView.qml+3−1
qml/Greeter/SessionsList.qml+19
@@ -42,6 +42,24 @@ Item {
4242 }
4343 }
4444
45+ function currentKey() {
46+ var session = LightDMService.sessions.data(
47+ sessionsList.currentIndex, LightDMService.sessionRoles.KeyRole)
48+ return session;
49+ }
50+
51+ Keys.onDownPressed: {
52+ if (sessionsList.currentIndex < sessionsList.model.count - 1)
53+ sessionsList.currentIndex++;
54+ sessionSelected(currentKey());
55+ }
56+
57+ Keys.onUpPressed: {
58+ if (sessionsList.currentIndex > 0)
59+ sessionsList.currentIndex--;
60+ sessionSelected(currentKey());
61+ }
62+
4563 LoginAreaContainer {
4664 readonly property real margins: sessionsList.anchors.margins
4765 readonly property real prefferedHeight: {
@@ -101,6 +119,7 @@ Item {
101119
102120 headerPositioning: ListView.OverlayHeader
103121 highlightFollowsCurrentItem: false
122+
104123 delegate: ListItem {
105124 id: delegate
106125 objectName: "sessionDelegate" + index
qml/Greeter/WideView.qml+3−1
@@ -131,11 +131,12 @@ FocusScope {
131131 }
132132
133133 model: root.userModel
134−
135134 currentSession: LightDMService.greeter.defaultSession
136135 onResponded: root.responded(response)
137136 onSelected: root.selected(index)
138137 onSessionChooserButtonClicked: parent.state = "SessionsList"
138+
139+ Keys.forwardTo: [sessionChooserLoader.item]
139140 }
140141
141142 Loader {
@@ -151,6 +152,7 @@ FocusScope {
151152
152153 active: false
153154
155+ onLoaded: sessionChooserLoader.item.focus = true;
154156 Binding {
155157 target: sessionChooserLoader.item
156158 property: "initiallySelectedSession"