Swap: disallow swapping tracks / wires
Also fix missed shortcut change for S -> Shift-S Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12538
This commit is contained in:
parent
979b4a4eb7
commit
c1da59b560
|
@ -990,9 +990,6 @@ const std::vector<KICAD_T> swappableItems = {
|
|||
SCH_SYMBOL_T,
|
||||
SCH_SHEET_T,
|
||||
SCH_BITMAP_T,
|
||||
SCH_BUS_BUS_ENTRY_T,
|
||||
SCH_BUS_WIRE_ENTRY_T,
|
||||
SCH_LINE_T,
|
||||
SCH_JUNCTION_T,
|
||||
SCH_NO_CONNECT_T
|
||||
};
|
||||
|
|
|
@ -285,6 +285,19 @@ int EDIT_TOOL::Swap( const TOOL_EVENT& aEvent )
|
|||
sTool->FilterCollectorForMarkers( aCollector );
|
||||
sTool->FilterCollectorForHierarchy( aCollector, true );
|
||||
sTool->FilterCollectorForFreePads( aCollector );
|
||||
|
||||
// Iterate from the back so we don't have to worry about removals.
|
||||
for( int i = aCollector.GetCount() - 1; i >= 0; --i )
|
||||
{
|
||||
BOARD_ITEM* item = aCollector[i];
|
||||
|
||||
switch( item->Type() )
|
||||
{
|
||||
case PCB_TRACE_T: aCollector.Remove( item ); break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
},
|
||||
true /* prompt user regarding locked items */ );
|
||||
|
||||
|
|
|
@ -338,7 +338,7 @@ TOOL_ACTION PCB_ACTIONS::mirrorV( "pcbnew.InteractiveEdit.mirrorVertically",
|
|||
|
||||
TOOL_ACTION PCB_ACTIONS::swap( "pcbnew.InteractiveEdit.swap",
|
||||
AS_GLOBAL,
|
||||
'S', "",
|
||||
MD_SHIFT + 'S', "",
|
||||
_( "Swap" ), _( "Swaps selected items' positions" ),
|
||||
BITMAPS::swap );
|
||||
|
||||
|
|
Loading…
Reference in New Issue