Hook up delete to undo last segment when routing.

Fixes https://gitlab.com/kicad/code/kicad/issues/8362
This commit is contained in:
Jeff Young 2021-06-19 11:36:37 +01:00
parent d26449cc29
commit c6606a0582
3 changed files with 25 additions and 25 deletions

View File

@ -83,12 +83,6 @@ enum VIA_ACTION_FLAGS
#undef _
#define _(s) s
static const TOOL_ACTION ACT_UndoLastSegment( "pcbnew.InteractiveRouter.UndoLastSegment",
AS_CONTEXT,
WXK_BACK, "",
_( "Undo last segment" ), _( "Stops laying the current track." ),
BITMAPS::checked_ok );
static const TOOL_ACTION ACT_EndTrack( "pcbnew.InteractiveRouter.EndTrack",
AS_CONTEXT,
WXK_END, "",
@ -450,7 +444,7 @@ bool ROUTER_TOOL::Init()
menu.AddItem( PCB_ACTIONS::routeSingleTrack, notRoutingCond );
menu.AddItem( PCB_ACTIONS::routeDiffPair, notRoutingCond );
menu.AddItem( ACT_EndTrack, SELECTION_CONDITIONS::ShowAlways );
menu.AddItem( ACT_UndoLastSegment, SELECTION_CONDITIONS::ShowAlways );
menu.AddItem( PCB_ACTIONS::routerUndoLastSegment, SELECTION_CONDITIONS::ShowAlways );
menu.AddItem( PCB_ACTIONS::breakTrack, notRoutingCond );
menu.AddItem( PCB_ACTIONS::drag45Degree, notRoutingCond );
@ -1109,7 +1103,7 @@ void ROUTER_TOOL::performRouting()
updateEndItem( *evt );
m_router->Move( m_endSnapPoint, m_endItem );
}
else if( evt->IsAction( &ACT_UndoLastSegment ) )
else if( evt->IsAction( &PCB_ACTIONS::routerUndoLastSegment ) )
{
m_router->UndoLastSegment();
updateEndItem( *evt );

View File

@ -1711,7 +1711,7 @@ int EDIT_TOOL::Remove( const TOOL_EVENT& aEvent )
{
if( isRouterActive() )
{
wxBell();
m_toolMgr->RunAction( PCB_ACTIONS::routerUndoLastSegment, true );
return 0;
}

View File

@ -1349,6 +1349,12 @@ TOOL_ACTION PCB_ACTIONS::routerTuneDiffPairSkew( "pcbnew.LengthTuner.TuneDiffPai
TOOL_ACTION PCB_ACTIONS::routerInlineDrag( "pcbnew.InteractiveRouter.InlineDrag",
AS_CONTEXT );
TOOL_ACTION PCB_ACTIONS::routerUndoLastSegment( "pcbnew.InteractiveRouter.UndoLastSegment",
AS_CONTEXT,
WXK_BACK, "",
_( "Undo Last Segment" ), _( "Walks the current track back one segment." ),
BITMAPS::checked_ok );
TOOL_ACTION PCB_ACTIONS::inlineBreakTrack( "pcbnew.InteractiveRouter.InlineBreakTrack",
AS_GLOBAL, 0, "",
_( "Break Track" ),