Bring adding-to-group and hiding in sync.

This commit is contained in:
Jeff Young 2022-09-30 16:44:24 +01:00
parent db90404710
commit 6a6ef9b1f4
1 changed files with 6 additions and 6 deletions

View File

@ -2574,7 +2574,10 @@ void PCB_SELECTION_TOOL::unselect( EDA_ITEM* aItem )
void PCB_SELECTION_TOOL::highlight( EDA_ITEM* aItem, int aMode, SELECTION* aGroup )
{
if( aGroup )
{
aGroup->Add( aItem );
view()->Hide( aItem, true ); // Hide the original item, so it is shown only on overlay
}
highlightInternal( aItem, aMode, aGroup != nullptr );
view()->Update( aItem, KIGFX::REPAINT );
@ -2593,9 +2596,6 @@ void PCB_SELECTION_TOOL::highlightInternal( EDA_ITEM* aItem, int aMode, bool aUs
else if( aMode == BRIGHTENED )
aItem->SetBrightened();
if( aUsingOverlay )
view()->Hide( aItem, true ); // Hide the original item, so it is shown only on overlay
if( aItem->Type() == PCB_FOOTPRINT_T )
{
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
@ -2618,7 +2618,10 @@ void PCB_SELECTION_TOOL::highlightInternal( EDA_ITEM* aItem, int aMode, bool aUs
void PCB_SELECTION_TOOL::unhighlight( EDA_ITEM* aItem, int aMode, SELECTION* aGroup )
{
if( aGroup )
{
aGroup->Remove( aItem );
view()->Hide( aItem, false ); // // Restore original item visibility
}
unhighlightInternal( aItem, aMode, aGroup != nullptr );
view()->Update( aItem, KIGFX::REPAINT );
@ -2636,9 +2639,6 @@ void PCB_SELECTION_TOOL::unhighlightInternal( EDA_ITEM* aItem, int aMode, bool a
else if( aMode == BRIGHTENED )
aItem->ClearBrightened();
if( aUsingOverlay )
view()->Hide( aItem, false ); // // Restore original item visibility
if( aItem->Type() == PCB_FOOTPRINT_T )
{
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(