pcbnew: Select copper through THT connections
This allows full copper connections even when THT changes a trace layer. It avoides selecting the actual pad to prevent actions on the copper connections from affecting the footprints as well. Fixes: lp:1789807 * https://bugs.launchpad.net/kicad/+bug/1789807
This commit is contained in:
parent
0d09128f6c
commit
1d9c9cd10d
|
@ -968,11 +968,17 @@ void SELECTION_TOOL::selectAllItemsConnectedToTrack( TRACK& aSourceTrack )
|
||||||
|
|
||||||
void SELECTION_TOOL::selectAllItemsConnectedToItem( BOARD_CONNECTED_ITEM& aSourceItem )
|
void SELECTION_TOOL::selectAllItemsConnectedToItem( BOARD_CONNECTED_ITEM& aSourceItem )
|
||||||
{
|
{
|
||||||
constexpr KICAD_T types[] = { PCB_TRACE_T, PCB_VIA_T, EOT };
|
constexpr KICAD_T types[] = { PCB_TRACE_T, PCB_VIA_T, PCB_PAD_T, EOT };
|
||||||
auto connectivity = board()->GetConnectivity();
|
auto connectivity = board()->GetConnectivity();
|
||||||
|
|
||||||
for( auto item : connectivity->GetConnectedItems( &aSourceItem, types ) )
|
for( auto item : connectivity->GetConnectedItems( &aSourceItem, types ) )
|
||||||
|
{
|
||||||
|
// We want to select items connected through pads but not pads
|
||||||
|
// otherwise, the common use case of "Select Copper"->Delete will
|
||||||
|
// remove footprints in addition to traces and vias
|
||||||
|
if( item->Type() != PCB_PAD_T )
|
||||||
select( item );
|
select( item );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue