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,
|
INSPECT_RESULT SCH_LABEL_BASE::Visit( INSPECTOR aInspector, void* testData,
|
||||||
const std::vector<KICAD_T>& aScanTypes )
|
const std::vector<KICAD_T>& aScanTypes )
|
||||||
{
|
{
|
||||||
|
|
|
@ -135,6 +135,9 @@ public:
|
||||||
INSPECT_RESULT Visit( INSPECTOR inspector, void* testData,
|
INSPECT_RESULT Visit( INSPECTOR inspector, void* testData,
|
||||||
const std::vector<KICAD_T>& scanTypes ) override;
|
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;
|
VECTOR2I GetSchematicTextOffset( const RENDER_SETTINGS* aSettings ) const override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue