GSoC 2017: Accessibility - Week 9
This week I made changes to the palette navigation code and also worked on assigning shortcuts to palette elements.
Palette navigation: Added a shortcut command to apply the currently selected palette element:
This shortcut command works even if the search box doesn't have keyboard focus. Previously, to apply another palette element, the shortcut command to set focus to the search box had to be used, and then Enter had to be pressed. With the new shortcut command, the current palette element can be applied when the focus is on the score. There is no need to set focus to the search box first. This is especially useful when the same palette element needs to be applied to many score elements.
Palette navigation: Changed navigation state so that on applying a palette element keyboard navigation is still enabled:
On applying a palette element, focus shifts to the score. However, the palette element remains highlighted and it can be applied again by setting focus to the search box and pressing Enter, or by using the new shortcut command to apply the current palette element. Before, on applying a palette element, keyboard navigation was disabled. To apply the same palette element again, it had to be searched for using the arrow keys.
Made palette shortcuts get saved:
Palette shortcuts now get saved, so they can be used in new sessions. They are saved as part of the workspace. Currently, only shortcuts of palette box elements get saved, I still need to extend this to master palette shortcuts.
Added a clear shortcut option to the palette cell context menu:
A shortcut can be cleared using the "Clear Shortcut" option.
Key tasks that stalled
- Palette shortcuts:
I had to rewrite parts of the code because I added a shortcut member to the PaletteCell class.
Tasks for the upcoming week
- Make master palette shortcuts get saved
- Make palette shortcut manager show updated shortcuts