Skip to content
  • Tavmjong Bah's avatar
    Use Gtk::ShortcutControllers for shortcuts · c9a16e82
    Tavmjong Bah authored and PBS's avatar PBS committed
    Shortcuts are stored in a Gio::ListStore<Gtk::Shortcut>.
    The ListStore is shared with the ShortcutController in each InkscapeWindow.
    Shortcuts are triggered in bubble phase so as not to interfere with input
    to widgets and canvas (problem of single key shortcuts).
    
    Problems:
      * Cannot create shortcuts for actions with parameters. No work around yet.
      * Only two shortcuts per action allowed. Used in a handful of places.
        Most places it is probablly not necessary. Work around for others
        is to create duplicate actions and assigned surplus shortcuts to them
        (app.delete, win.canvas-zoom-in/out, app.path-difference).
      * If an action has two shortcuts, neither is shown in menus. Will fix
        when icons in menus added.
      * Menus not updated when shortcuts are changed. Work around is to
        remove and re-add shortcut controller to window.
    
    Original code from Daniel.
    c9a16e82