GSoC 2017: Accessibility - Week 9

Posted 5 years ago

This week I made changes to the palette navigation code and also worked on assigning shortcuts to palette elements.

Key accomplishments

  • 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


That to apply the currently selected palette element is a long-wished enhancement. But how to invoke it? Is this feature alvailable in the nighly builds?

In reply to by rmattes

The shortcut command to apply the currently selected palette element doesn't have a default shortcut right now. A shortcut can be set by editing preferences.
This feature isn't available in the nightly builds yet. I've opened a pull request which is under review. Hopefully it will get merged soon.

In reply to by divya-urs

Ah, thanks, too bad. This would solve a hughe problem for lute editions: pretty much every
second note needs a dot.
BTW, in the nightly build I just installed my custom workspace is empty and I can create a new pallet (since there is no existing pallet there is no place to click to get the context menu)

In reply to by rmattes

I'm also working on a way to set shortcuts for any palette element. I haven't submitted a pull request yet, but I will soon. These shortcuts get saved so they can be used in new sessions.
I'm not sure about custom workspaces in the nightly builds. In 3.0 dev, a custom workspace can be created by duplicating either basic or advanced workspace. Then, palettes can be deleted and new palette elements can be added.