Keyboard navigation
Closed, ResolvedPublic

Description

Make Kube navigatable by keyboard. Completely.

We should do this early to figure out what we have to put in place to get keyboard navigation working.

Related Objects

StatusAssignedTask
Resolvedmbohlender
Resolvedcmollekopf
cmollekopf moved this task from Backlog to Milestore: MailClient on the Kube board.Nov 1 2016, 8:58 PM
mbohlender moved this task from Milestore: MailClient to 0.2 on the Kube board.Nov 8 2016, 1:27 PM
mbohlender edited projects, added Kube (0.2); removed Kube.

Some basic shortcuts have been defined in main.qml

cmollekopf triaged this task as Normal priority.Feb 10 2017, 2:20 PM
cmollekopf moved this task from 0.2 to Backlog on the Kube board.Feb 21 2017, 12:43 PM
cmollekopf edited projects, added Kube; removed Kube (0.2).
cmollekopf moved this task from Backlog to Sprint on the Kube board.Apr 17 2017, 10:22 AM
cmollekopf moved this task from Sprint to 0.3 on the Kube board.Apr 20 2017, 8:43 AM
cmollekopf edited projects, added Kube (0.3); removed Kube.

The basics are in place. What still needs to happen is:

  • Keep webengineview from stealing focus. This will require qt 5.8 unfortunately.
  • We need a concept on how to deal with list/tree views. I'm not sure the view itself needs to acquire focus itself, perhaps it is enough if the first delegate (or the currently active) immediately gains focus. There is however currently no visual indicator that the delegate now has focus, in addition to being selected (meaning the focus just disappears when tabbing through).

Switching between items is then done using the arrow keys (for as long as the view has focus).
Essentially we therefore need a way to distinguish whether the focus is on the folder list, the mail list, the conversation, or one of the visible buttons.

  • Shortcuts are not handled yet. We probably want some window-specific shortcuts for common actions such as:
    • Go to folder (with search)
    • got to next/prev folder in list
    • go to next/prev conversation in list
    • go to next/prev mail in conversation (perhaps this one is not necessary as it can be solved over focus + normal keyboard navigation)a
  • The shortcuts are there to trigger actions even if the qml item doesn't have active focus.
  • Keyboard navigation with arrows needs to be manually implemented. I.e. pressing right in the folder list should probably throw you into the maillist
cmollekopf moved this task from Backlog to In Progress on the Kube (0.3) board.Apr 26 2017, 7:39 AM

One of the open problems is that there is no highlighting for the column you in. Additionally it's not always possible to distinguish between a list item that is selected and one that has focuse.

Case in point:
If you have mail A selected in the maillistview and shift the focus from the folderview over to the maillistview, which results in the first delegate (mail A) being selected, then you won't see any difference as mail A is already selected. This gives the impression that the focus is lost.

The same goes for the folderview, the only thing that does have a clear highlight is the "New Mail" button

Other problems:

  • Accountswitcher shows no highlight
  • View switcher buttons are not selectable
cmollekopf edited projects, added Kube (0.4); removed Kube (0.3).Jun 28 2017, 1:50 PM

Moving to 0.4, this is too much effort for now and qt 5.9 should at least resolve the focus stealing.

This is largely resolved by now I think. I don't have webengine 5.9 available yet, so the webview still keeps stealing the focus, but keyboard navigation and focus highlighting is quite usable by now.

cmollekopf moved this task from Backlog to Done on the Kube (0.4) board.Jul 27 2017, 5:00 PM
cmollekopf lowered the priority of this task from Normal to Low.
mbohlender closed this task as Resolved.Aug 23 2017, 12:21 PM
mbohlender claimed this task.