Translate mod flags between wx and Kicad.
Also we have to use wxEVT_CHAR_HOOK instead of wxEVT_CHAR or up/down end up getting handed to COMMON_TOOLS. Fixes https://gitlab.com/kicad/code/kicad/issues/11034
This commit is contained in:
parent
2422b9a7c8
commit
230762053d
|
@ -140,7 +140,7 @@ LIB_TREE::LIB_TREE( wxWindow* aParent, const wxString& aRecentSearchesKey, LIB_T
|
|||
this );
|
||||
|
||||
// Process hotkeys when the tree control has focus:
|
||||
m_tree_ctrl->Bind( wxEVT_CHAR, &LIB_TREE::onTreeCharHook, this );
|
||||
m_tree_ctrl->Bind( wxEVT_CHAR_HOOK, &LIB_TREE::onTreeCharHook, this );
|
||||
|
||||
Bind( SYMBOL_PRESELECTED, &LIB_TREE::onPreselect, this );
|
||||
|
||||
|
@ -540,7 +540,16 @@ void LIB_TREE::onTreeCharHook( wxKeyEvent& aKeyStroke )
|
|||
{
|
||||
if( TOOL_INTERACTIVE* tool = m_adapter->GetContextMenuTool() )
|
||||
{
|
||||
int hotkey = aKeyStroke.GetModifiers() | aKeyStroke.GetKeyCode();
|
||||
int hotkey = aKeyStroke.GetKeyCode();
|
||||
|
||||
if( aKeyStroke.ShiftDown() )
|
||||
hotkey |= MD_SHIFT;
|
||||
|
||||
if( aKeyStroke.AltDown() )
|
||||
hotkey |= MD_ALT;
|
||||
|
||||
if( aKeyStroke.ControlDown() )
|
||||
hotkey |= MD_CTRL;
|
||||
|
||||
if( tool->GetManager()->GetActionManager()->RunHotKey( hotkey ) )
|
||||
aKeyStroke.Skip( false );
|
||||
|
|
Loading…
Reference in New Issue