From b42365190eccb9cdb2b01a654bbe4230d9a8a37c Mon Sep 17 00:00:00 2001 From: Mike Williams Date: Mon, 11 Apr 2022 14:03:17 -0400 Subject: [PATCH] Schematic/PCB: deleting fields sets them to invisible --- eeschema/tools/sch_edit_tool.cpp | 9 +++++++++ pcbnew/tools/edit_tool.cpp | 33 ++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/eeschema/tools/sch_edit_tool.cpp b/eeschema/tools/sch_edit_tool.cpp index 5ccb32e300..e413765f33 100644 --- a/eeschema/tools/sch_edit_tool.cpp +++ b/eeschema/tools/sch_edit_tool.cpp @@ -1028,6 +1028,7 @@ static KICAD_T deletableItems[] = SCH_SHEET_T, SCH_SHEET_PIN_T, SCH_SYMBOL_T, + SCH_FIELD_T, // Will be hidden SCH_BITMAP_T, EOT }; @@ -1083,6 +1084,14 @@ int SCH_EDIT_TOOL::DoDelete( const TOOL_EVENT& aEvent ) sheet->RemovePin( pin ); } } + else if( sch_item->Type() == SCH_FIELD_T ) + { + saveCopyInUndoList( item, UNDO_REDO::CHANGED, appendToUndo ); + static_cast( sch_item )->SetVisible( false ); + appendToUndo = true; + + updateItem( sch_item, false ); + } else { sch_item->SetFlags( STRUCT_DELETED ); diff --git a/pcbnew/tools/edit_tool.cpp b/pcbnew/tools/edit_tool.cpp index 8e0fbbb180..07aa997739 100644 --- a/pcbnew/tools/edit_tool.cpp +++ b/pcbnew/tools/edit_tool.cpp @@ -1843,31 +1843,22 @@ int EDIT_TOOL::Remove( const TOOL_EVENT& aEvent ) FP_TEXT* text = static_cast( item ); FOOTPRINT* parent = static_cast( item->GetParent() ); - if( text->GetType() == FP_TEXT::TEXT_is_DIVERS ) + switch( text->GetType() ) { + case FP_TEXT::TEXT_is_VALUE: + case FP_TEXT::TEXT_is_REFERENCE: + m_commit->Modify( parent ); + text->SetVisible( false ); + getView()->Update( text ); + break; + case FP_TEXT::TEXT_is_DIVERS: m_commit->Modify( parent ); getView()->Remove( text ); parent->Remove( text ); - } - else if( selectionCopy.GetSize() == 1 ) - { - text->SetVisible( false ); - getView()->Update( text ); - - switch( text->GetType() ) - { - case FP_TEXT::TEXT_is_REFERENCE: - frame()->ShowInfoBarMsg( _( "Reference designator hidden (it is required and " - "can not be deleted)." ) ); - break; - case FP_TEXT::TEXT_is_VALUE: - frame()->ShowInfoBarMsg( _( "Value hidden (it is required and can not be " - "deleted)." ) ); - break; - default: - wxFAIL; // Shouldn't get here - break; - } + break; + default: + wxFAIL; // Shouldn't get here + break; } break;