Hi John, I am glad you like the idea. I agree it is better to wait until the legacy canvas removal, it feels like we are quite close to reaching that point.
Cheers, Orson On 11/23/18 10:04 PM, John Beard wrote: > Hi Orson, > > Thanks for the idea - seems like that could be a fairly flexible way > to generalise action shortcuts. > > Perhaps such a refactor would be better after the hotkeys aren't > synced with legacy, though. > > Cheers, > > John > On Fri, Nov 23, 2018 at 8:58 AM Maciej Sumiński <[email protected]> > wrote: >> >> Hi John, >> >> One possible way of solving the problem is to change the m_defaultHotkey >> in TOOL_ACTION class to a TOOL_EVENT field which says what triggers the >> action. Then ACTION_MANAGER instead of comparing hotkeys should run >> TOOL_EVENT::Matches() to check whether a processed TOOL_EVENT is >> supposed to fire an action. >> >> Cheers, >> Orson >> >> On 11/21/18 11:15 AM, John Beard wrote: >>> Hi, >>> >>> A little technical query provoked by someone else's question, which I >>> was unable to answer. >>> >>> Say one wanted to add a global mouse shortcut, for example, double >>> middle-click to do "zoom-to-fit" [1]. >>> >>> The current mouse events are handled on a contextual basis in the >>> event loops for each tool. Thus, each tool handles its own clicks, >>> drags, etc, which generally makes sense for the basic left/right >>> clicks as what that does is usually highly tool-dependent. Global key >>> shortcuts for ACTIONs are handled at a higher level and and either >>> trigger a transition set by setTransitions(), or translated to an >>> event and caught by the current tool's event loop as their own event >>> (checked with evt->IsAction()) >>> >>> However, there appears to be no way to add a mouse click pattern to an >>> ACTION, thus you can't have a global double-middle-click, unless you >>> add an "if( evt->IsDblClick( BTN_MIDDLE))" to every event loop. >>> >>> What would be the right way (if any) to approach this? I'm ignoring >>> for now the UI implications of presenting such a shortcut in the >>> hotkey dialog, implementing the "set hotkey" action, and any problems >>> that might arise in having it co-exist with legacy hotkeys. >>> >>> Cheers, >>> >>> John >>> >>> [1]: https://bugs.launchpad.net/kicad/+bug/1480868 >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

