Search in label fields.

Fixes https://gitlab.com/kicad/code/kicad/issues/14075

(cherry picked from commit a24a63e416)
This commit is contained in:
Jeff Young 2023-04-12 23:21:15 +01:00
parent 2bbff64a12
commit f25e2d48bd
1 changed files with 8 additions and 2 deletions

View File

@ -127,8 +127,7 @@ SCH_ITEM* SCH_FIND_REPLACE_TOOL::nextMatch( SCH_SCREEN* aScreen, SCH_SHEET_PATH*
for( SCH_PIN* pin : cmp->GetPins() )
sorted_items.push_back( pin );
}
if( item->Type() == SCH_SHEET_T )
else if( item->Type() == SCH_SHEET_T )
{
SCH_SHEET* sheet = static_cast<SCH_SHEET*>( item );
@ -138,6 +137,13 @@ SCH_ITEM* SCH_FIND_REPLACE_TOOL::nextMatch( SCH_SCREEN* aScreen, SCH_SHEET_PATH*
for( SCH_SHEET_PIN* pin : sheet->GetPins() )
sorted_items.push_back( pin );
}
else if( item->IsType( { SCH_LABEL_LOCATE_ANY_T } ) )
{
SCH_LABEL_BASE* label = static_cast<SCH_LABEL_BASE*>( item );
for( SCH_FIELD& field : label->GetFields() )
sorted_items.push_back( &field );
}
}
std::sort( sorted_items.begin(), sorted_items.end(),