Skip to content

Shortcut handling for Gio::Actions. Also use actions for some GUI elements (zoom, canvas modes, snapping, etc.).

Tavmjong Bah requested to merge shortcuts into master

Rewrite shortcut code to handle accelerators for Gio::Actions. Use Zoom, Snap, Canvas transforms, and Canvas display mode actions in GUI. Demonstrate Application, Window, and Document level actions.

Shortcut code changes:

  • Convert to C++ class.
  • Removing duplicate code.
  • Removing dead code.
  • Fixing memory leak.
  • Eliminating improper use of GDK_MODIFIER_RESERVED_XXX values.
  • Show all accelerators in Inkscape Preferences dialog.
  • Distinguish Numeric Pad number keys and normal number keys.
  • Update GUI text when shortcuts changed.

GUI changes:

  • Use Action "Extra Data" to define tooltips in GUI (same string shared among command-line, menus, toolbars).

To do:

  • In the preference dialog:
    • Merge verbs and actions (they are in separate sections now, and maybe should stay that way).
    • Add an option to show all actions or only actions that can be assigned to shortcuts (example, it doesn't make sense to assign the object 'transform-translate' action to a shortcut).
    • Would be interesting to allow users to add "custom" shortcuts by being able to add extra parameters: 'transform-translate(10, 10)'. Would also be interesting to integrate with Command Dialog (assign shortcuts to particular macros).

Needs testing, particularly:

  • Non-latin based keyboards.
  • OSX, Windows
Edited by Tavmjong Bah

Merge request reports