with active search [Library],MoveFocusForward can't focus tracks table

Bug #1840541 reported by ronso0
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
ronso0

Bug Description

When a search term is typed in the Search box I can't set the focus to tree or table anymore with
[Library],MoveFocus ..,MoveFocusForward ..,MoveFocusBackward

Reproduce:
* type a search term (Search box focused)
* issue any of the [Library],MoveFocus.. controls
= 'keyboard press: "Tab"' is printed twice in the log
= Clear button is focused
 (no visual feedabck, but reacts to Space key press)
= no way to focus the tree or table with [Library],MoveFocus..

* Tab on the keyboard still works to move focus
* the selection controls [Library],MoveVertical ..Scroll etc still move the focus

related: lp:1840540
make search box Clear button react to [Library],GoToItem

ronso0 (ronso0)
tags: added: lib
tags: added: controllers library
removed: lib
description: updated
Revision history for this message
ronso0 (ronso0) wrote :

I'd like to achieve a focus cycle for [Library],MoveFocus.. like it exist
when using Tab on the keyboard
1 sidebar
2 tracks table
(3 Clear button when a search term is entered)

I'll test if it's sufficient to change the Search box focus policy to
click & Tab by removing setFocusPolicy(Qt::ClickFocus) from WSearchLineEdit
https://github.com/mixxxdj/mixxx/blob/master/src/widget/wsearchlineedit.cpp#L74

Revision history for this message
ronso0 (ronso0) wrote :

> 'keyboard press: "Tab"' is printed twice in the log

this is because LibraryControl::emitKeyEvent tries to set the focus back to sidebar, then focus table from there (Tab1), then [Library],MoveFocus.. sends (Tab2), but it can't escape the Search box therefor we're in a focus loop with [Library],MoveFocus..

Revision history for this message
ronso0 (ronso0) wrote :

Recording, AutoDJ and other features with buttons, as well as the main page of Playlists and Crates are also affected:
We end up in a focus loop with the existing focus COs as soon as a feature button or hyperlink in the main pages has focus.

For the Tracks table and Clear button I have a PR prepared. The Clear button can be focused with existing focus controls and can be triggered with [Library],GoToItem

For [Enable AutoDJ] I'd implement the same solution, as well as for [Recording].
Focus cycle:
* tree
* table
* Record / Enable AutoDJ
* tree
* ...
Should the other AutoDJ buttons be focusable via focus COs, and buttons in Analyze, Hidden and Missing? I guess it would be a benefit being able to access those from a controller.

Revision history for this message
ronso0 (ronso0) wrote :
Changed in mixxx:
assignee: nobody → ronso0 (ronso0)
ronso0 (ronso0)
Changed in mixxx:
importance: Undecided → Low
summary: - inconsistent focus / MoveFocus behaviour in library
+ with active search [Library],MoveFocusForward can't focus tracks table
Revision history for this message
ronso0 (ronso0) wrote :
Changed in mixxx:
milestone: none → 2.3.0
ronso0 (ronso0)
Changed in mixxx:
status: New → In Progress
ronso0 (ronso0)
Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9721

lock status: Metadata changes locked and limited to project staff
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.