View Issue Details

IDProjectCategoryView StatusLast Update
0001800OpenMPTAccessibilitypublic2024-07-25 18:29
Reportera11cf0 Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionopen 
Platformx64OSWindowsOS Version11
Target VersionOpenMPT 1.32 / libopenmpt 0.8 (goals)Fixed in VersionOpenMPT 1.32 / libopenmpt 0.8 (goals) 
Summary0001800: Restore last focus position when navigating to upper view halves
Description

It's currently somewhat tedious to edit many instrument parameters in a keyboard-only way. This is mainly because many of them shift the focus to the envelope editor on every change. However, this behavior is indeed quite useful for fast previewing especially (but not only) when using the mouse, so I don't request its removal.
The only non-intrusive way of overcoming this I could think of is to remember the last focus position for the upper half and restore it when going there. Off course the position should be reset to the first control when changing views.

Maybe there are other better ways around this issue. It would be great to have some sort of solution for this case.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

related to 0001799 resolvedSaga Musix More keyboard focus weirdness in OPL editor 
related to 0001795 resolvedSaga Musix Keyboard focus issues when switching from and back to OpenMPT in some cases 

Activities

Saga Musix

Saga Musix

2024-07-22 20:53

administrator   ~0006001

Please check out r21256, it should hopefully resolve all remaining focus issues with the editor windows.

a11cf0

a11cf0

2024-07-23 16:17

reporter   ~0006005

The feature is mostly working, but can behave weirdly in a few cases. Here's what I have found so far.

  1. Something needs to be done to prevent the focus from getting stuck when the control it wants to return to no longer exists. This happens, for instance, when switching or replacing instruments if the new instrument/sample lacks that control. Focusing the first control seems to be the right thing to do in this case.
  2. Last focus position is now restored even after switching between tabs. This is somewhat inconsistent with the behavior of lover halves (e.g. General tab/OPL editor), where it isn't restored after a tab switch. Also, resetting the focus to the first control in this case can actually be useful as a way of quickly getting back to the first control.
Saga Musix

Saga Musix

2024-07-23 19:28

administrator   ~0006007

Please check r21267.

a11cf0

a11cf0

2024-07-24 12:15

reporter   ~0006008

Everything is working great now! Thank you.

a11cf0

a11cf0

2024-07-24 16:37

reporter   ~0006010

Oops. There's still one very small and really insignificant quirk found during some further testing. Focus position isn't forgotten after switching from the general tab only if the focus was in the upper half before the switch.

Saga Musix

Saga Musix

2024-07-24 20:55

administrator   ~0006011

This should now be fixed in r21281.

a11cf0

a11cf0

2024-07-24 22:22

reporter   ~0006013

Just perfect. Many thanks again.

Saga Musix

Saga Musix

2024-07-25 18:29

administrator   ~0006017

FYI I will (at least for now) not backport these changes ot OpenMPT 1.31. Compared to the previous focus fixes, these are a lot more invasive and as we have seen during the process a lot can go wrong, so I would like this code to mature a bit more before it's thrown at regular users.

Issue History

Date Modified Username Field Change
2024-07-01 18:46 a11cf0 New Issue
2024-07-21 21:15 Saga Musix Relationship added related to 0001799
2024-07-21 21:15 Saga Musix Assigned To => Saga Musix
2024-07-21 21:15 Saga Musix Status new => assigned
2024-07-22 19:29 Saga Musix Relationship added related to 0001795
2024-07-22 20:53 Saga Musix Status assigned => feedback
2024-07-22 20:53 Saga Musix Note Added: 0006001
2024-07-22 21:03 Saga Musix Target Version => OpenMPT 1.32 / libopenmpt 0.8 (goals)
2024-07-23 16:17 a11cf0 Note Added: 0006005
2024-07-23 16:17 a11cf0 Status feedback => assigned
2024-07-23 19:28 Saga Musix Status assigned => feedback
2024-07-23 19:28 Saga Musix Note Added: 0006007
2024-07-24 12:15 a11cf0 Note Added: 0006008
2024-07-24 12:15 a11cf0 Status feedback => assigned
2024-07-24 16:37 a11cf0 Note Added: 0006010
2024-07-24 20:55 Saga Musix Status assigned => feedback
2024-07-24 20:55 Saga Musix Note Added: 0006011
2024-07-24 22:22 a11cf0 Note Added: 0006013
2024-07-24 22:22 a11cf0 Status feedback => assigned
2024-07-25 18:29 Saga Musix Status assigned => resolved
2024-07-25 18:29 Saga Musix Note Added: 0006017
2024-07-25 18:29 Saga Musix Fixed in Version => OpenMPT 1.32 / libopenmpt 0.8 (goals)