Review Request: Usability: Add keyboard navigation to Kickoff GUI (within and among all Views)

Richard Stockton rickstockton at reno-computerhelp.com
Sun Aug 26 17:11:58 UTC 2012



> On Aug. 26, 2012, 7:44 a.m., Greg T wrote:
> > Review: This doesn't really fix 297842, or does it? If I understand the reporter correctly, he wants to move with Up/Down keys in the search view as soon as he enters a search query. With your patch applied I still have to hit the tab key first. Can you set the focus automatically on the view?

Per my unhappy code comment, we don't actually know the 'currently focused view' OR the view which is currently in the middle area (flipScrollView versus search results). AFAIK, and I'm a very _weak_ programmer, I would need to introduce some kind of mostRecentActiveView variable/property or a "nextViewRequested" API, in order to make errors work everywhere.

Tab will always work, while up/down arrows might not. They will not, for example, abandon the flipScrollView of applications, or the Search results View, if you happen to press "Down" one extra time: That's because down arrows need to be sent back into that view, in case there *is* another item within the column. And so, without making more information available to "launcher", it sits there in a loop. (Key_Down -> back into flipScrollView -> don't move, I'm at the bottom, but push the Key_Down Evt. back up to the launcher -> back into flipScrollView, doesn't move, back up to launcher, and etc.) Without a property or new Method, Search Results behaves the same.

Please feel free to take over the bug and fixup along those lines (or another way which you can make to work.) But, since we have 4 views in which arrow keys are applicable (flipScrollView, tabView, Search Bar, and Search results, I prefered to implement movement between views as a Tab function. It's reliable and testable, bcause function of the Key is unique. Up/Down arrows _must_ be made to do different things within different views.

The "key problem" ;) in the bug is that they're trapped in the search TextEdit, with absolutely no way out. I'm nearly certain that they don't require Down Arrow - and in fact, Key_Tab is traditionally used for moves of "larger scope". Implementing Key_Tab is a good scheme, IMO, although some doco might be relevant (somewhere -- I don't know where GUI launcer documentation even exists.)

Good question, and feel free to take over for 9.1 I can't review, unfortunately, leaving on vacation in minutes.


- Richard


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106125/#review18014
-----------------------------------------------------------


On Aug. 26, 2012, 3:52 p.m., Richard Stockton wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106125/
> -----------------------------------------------------------
> 
> (Updated Aug. 26, 2012, 3:52 p.m.)
> 
> 
> Review request for Plasma, Ivan Čukić and Lamarque Vieira Souza.
> 
> 
> Description
> -------
> 
> Keyboard control of Kickoff-Widget GUI, using arrow keys and Qt::Key_Tab. This version combines https://git.reviewboard.kde.org/r/104422/ and https://git.reviewboard.kde.org/r/106123/, preventing a repeat of bug 297842 when the feature (RFE bug 276932) is added to 4.9 and Trunk.
> 
> 
> This addresses bugs 276932 and 297842.
>     http://bugs.kde.org/show_bug.cgi?id=276932
>     http://bugs.kde.org/show_bug.cgi?id=297842
> 
> 
> Diffs
> -----
> 
>   plasma/desktop/applets/kickoff/ui/launcher.cpp 3662ef0 
>   plasma/desktop/applets/kickoff/ui/searchbar.cpp 6937f93 
> 
> Diff: http://git.reviewboard.kde.org/r/106125/diff/
> 
> 
> Testing
> -------
> 
> #1 Arrow key movement among programs in the flipscrollview (Right, back to Left, and Up/Down). Activbation of highlighted/selected programs.
> #2 Search bar entry, movement into View of matches using the Tab key. Move among multiple matching prgrams via arrow keys. Tab goes back to the search TextEdit field, allowing the search to be modified; and it is highlighted, allowing the search text to be deleted.
> #3 an empty search text field re-shows the tab bar and flipscrollview; tab selection is again enabled via left/right arrow keys.
> 
> NOTE: It requires 2, even 3 Tabs to get exactly where you want to be via keyboard. Up/Down arrows are sometimes ignored, because the MVC Controller has insufficient knowledge of where you came from, and often tries to send your keystroke to an invisible, non-responsive View. IMO, Re-design or total replacement (Kickoff-QML) IS appropriate.
> 
> But it works.... sort of.
> 
> 
> Thanks,
> 
> Richard Stockton
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120826/ecca4ade/attachment-0001.html>


More information about the Plasma-devel mailing list