Browse Source

pcbnew: Do not show dynamic ratsnest after most mods

Marking the selection modified should not show the local ratsnest unless
we are currently dragging

Fixes: lp:1809921
* https://bugs.launchpad.net/kicad/+bug/1809921
pull/13/head
Seth Hillbrand 7 years ago
parent
commit
daee58a0ab
  1. 14
      pcbnew/tools/edit_tool.cpp
  2. 5
      pcbnew/tools/pcb_actions.h
  3. 6
      pcbnew/tools/pcb_editor_control.cpp

14
pcbnew/tools/edit_tool.cpp

@ -496,6 +496,8 @@ int EDIT_TOOL::Main( const TOOL_EVENT& aEvent )
}
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, false );
m_toolMgr->RunAction( PCB_ACTIONS::updateLocalRatsnest, false );
}
else if( evt->IsCancel() || evt->IsActivate() )
@ -700,6 +702,9 @@ int EDIT_TOOL::Rotate( const TOOL_EVENT& aEvent )
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, true );
if( m_dragging )
m_toolMgr->RunAction( PCB_ACTIONS::updateLocalRatsnest, false );
return 0;
}
@ -817,6 +822,9 @@ int EDIT_TOOL::Mirror( const TOOL_EVENT& aEvent )
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, true );
if( m_dragging )
m_toolMgr->RunAction( PCB_ACTIONS::updateLocalRatsnest, false );
return 0;
}
@ -855,6 +863,9 @@ int EDIT_TOOL::Flip( const TOOL_EVENT& aEvent )
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, true );
if( m_dragging )
m_toolMgr->RunAction( PCB_ACTIONS::updateLocalRatsnest, false );
return 0;
}
@ -1027,6 +1038,9 @@ int EDIT_TOOL::MoveExact( const TOOL_EVENT& aEvent )
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, true );
if( m_dragging )
m_toolMgr->RunAction( PCB_ACTIONS::updateLocalRatsnest, false );
}
return 0;

5
pcbnew/tools/pcb_actions.h

@ -380,9 +380,12 @@ public:
static TOOL_ACTION crossProbeSchToPcb;
static TOOL_ACTION appendBoard;
static TOOL_ACTION showHelp;
static TOOL_ACTION toBeDone;
// Ratsnest
static TOOL_ACTION showLocalRatsnest;
static TOOL_ACTION hideLocalRatsnest;
static TOOL_ACTION toBeDone;
static TOOL_ACTION updateLocalRatsnest;
/// Find an item
static TOOL_ACTION find;

6
pcbnew/tools/pcb_editor_control.cpp

@ -152,6 +152,10 @@ TOOL_ACTION PCB_ACTIONS::hideLocalRatsnest( "pcbnew.Control.hideLocalRatsnest",
AS_GLOBAL, 0,
"", "" );
TOOL_ACTION PCB_ACTIONS::updateLocalRatsnest( "pcbnew.Control.updateLocalRatsnest",
AS_GLOBAL, 0,
"", "" );
class ZONE_CONTEXT_MENU : public CONTEXT_MENU
{
public:
@ -1246,10 +1250,10 @@ void PCB_EDITOR_CONTROL::setTransitions()
Go( &PCB_EDITOR_CONTROL::ClearHighlight, PCB_ACTIONS::clearHighlight.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::HighlightNetCursor, PCB_ACTIONS::highlightNetCursor.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::HighlightNetCursor, PCB_ACTIONS::highlightNetSelection.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::UpdateSelectionRatsnest, PCB_ACTIONS::selectionModified.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::ShowLocalRatsnest, PCB_ACTIONS::showLocalRatsnest.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::HideSelectionRatsnest, PCB_ACTIONS::hideLocalRatsnest.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::UpdateSelectionRatsnest, PCB_ACTIONS::updateLocalRatsnest.MakeEvent() );
}

Loading…
Cancel
Save