Handle string escaping for Find/Replace in labels.
Fixes https://gitlab.com/kicad/code/kicad/issues/12789
This commit is contained in:
parent
de21eb5268
commit
ae9405a4d3
|
@ -599,6 +599,22 @@ void SCH_LABEL_BASE::RunOnChildren( const std::function<void( SCH_ITEM* )>& aFun
|
|||
}
|
||||
|
||||
|
||||
bool SCH_LABEL_BASE::Matches( const EDA_SEARCH_DATA& aSearchData, void* aAuxData ) const
|
||||
{
|
||||
return SCH_ITEM::Matches( UnescapeString( GetText() ), aSearchData );
|
||||
}
|
||||
|
||||
|
||||
bool SCH_LABEL_BASE::Replace( const EDA_SEARCH_DATA& aSearchData, void* aAuxData )
|
||||
{
|
||||
EDA_SEARCH_DATA localSearchData( aSearchData );
|
||||
localSearchData.findString = EscapeString( aSearchData.findString, CTX_NETNAME );
|
||||
localSearchData.replaceString = EscapeString( aSearchData.replaceString, CTX_NETNAME );
|
||||
|
||||
return EDA_TEXT::Replace( localSearchData );
|
||||
}
|
||||
|
||||
|
||||
INSPECT_RESULT SCH_LABEL_BASE::Visit( INSPECTOR aInspector, void* testData,
|
||||
const std::vector<KICAD_T>& aScanTypes )
|
||||
{
|
||||
|
|
|
@ -135,6 +135,9 @@ public:
|
|||
INSPECT_RESULT Visit( INSPECTOR inspector, void* testData,
|
||||
const std::vector<KICAD_T>& scanTypes ) override;
|
||||
|
||||
bool Matches( const EDA_SEARCH_DATA& aSearchData, void* aAuxData ) const override;
|
||||
bool Replace( const EDA_SEARCH_DATA& aSearchData, void* aAuxData ) override;
|
||||
|
||||
VECTOR2I GetSchematicTextOffset( const RENDER_SETTINGS* aSettings ) const override;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue