Collection list should be usable by keyboard

Bug #136067 reported by Adam Olsen
4
Affects Status Importance Assigned to Milestone
Exaile
Fix Released
Medium
Exaile Bug Day Events

Bug Description

Currently there is no way (at least no one that I've found) to add music in the music collection list to the playlist without using a pointer device.

My suggestion is that the selected artist/album/track should be added by pressing enter. Expanding and collapsing of artists and albums is already possible with + and -.

(Possibly this approach could be considered even for the mouse events - a double click could add to playlist leaving the arrow on the left for expanding/collapsing.)

There are lots of other things (some quite obvious) that could be easily done to make Exaile usable without the need of a pointer device - I will think a little and come back later :P

This ticket was migrated from the old trac: re #506

Changed in exaile:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Ovidiu Gheorghioiu (ovy) wrote :

I'm a new user of Exaile, and I too found this limiting. I do my collection selection through search, though, so I've approached the problem from that angle.

The patch below partially addresses your problem, I think. The remainder, loading the selected item when keyboard-navigating through the collection box, is trivial and I can work on a quick follow-on patch.

Developers: I'm new to bzr/launchpad too. I don't know if the patch file contains the description from my local commit, so I'm pasting it below as well. Also, let me know if I should submit a follow-on patch that binds treelist activate to append_to_playlist as a separate one (bzr send ?what?), or as a new bigger patch.

   Improve keyboard navigation in the search filter box:
    * After doing a search, select the lowest unique path; for example,
    the only album that matches, or the only song.
    * When pressing Enter in the filter box, Do-What-I-Mean:
      * if the search is still pending, do the search now (current behaviour).
      * if the search has been displayed, and there is an item selected,
        append that item (e.g. album, song) to the playlist

    In practice, this works very well: you search, look, hit Enter, things
    start playing. It's roughly what Amarok does, although I actually noticed
    this after coding the change. It simply bothered me that it didn't work
    like I expected.

    Small related changes:
    * Improved some comments that would've made this change much easier
    * Replaced start_count'ing with explicitly passing the keyword to
    the append_info thread. This eliminates a race condition (songs and self.keyword
    don't match).

Revision history for this message
Ovidiu Gheorghioiu (ovy) wrote :

An updated patch is below, that also loads items to the playlist when navigating through the tree and pressing Enter/Space/Shift-Space. I concur about double-clicking. I need to test with a
device, but it should work.

The commit msg is below:

  Key navigation in the collection tree: on space, shift-space, enter (the
  tree's default row activation keys), append selected items to the playlist.

  Right now, that behaviour is different from double-clicking (which only
  appends album, or tree leaves, and expands anything else), but I think
  that behaviour is a bit sketchy to begin with.

Revision history for this message
Steve Dodier-Lazaro (sidi) wrote :

I believe someone with pygtk knowledge will be able to write a patch for this during the bug day event.

The behaviour I propose is as follows :
 * bottom / top / page up / page down -> browse up / down
 * right -> expand selected trees (not recursively)
 * left -> collapse selected trees
 * space / enter -> append to current playlist
 * 'menu' key -> show the menu

There are built-in functions for all of this, already.

Changed in exaile:
assignee: nobody → Exaile Bug Day Events (exaile-bugday)
milestone: none → 0.3.0
Revision history for this message
Steve Dodier-Lazaro (sidi) wrote :
Changed in exaile:
status: Confirmed → Fix Committed
reacocard (reacocard)
Changed in exaile:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.