Bring adding-to-group and hiding in sync.
(cherry picked from commit 6a6ef9b1f4
)
This commit is contained in:
parent
3213ea582d
commit
2793e67bab
|
@ -2293,7 +2293,10 @@ void PCB_SELECTION_TOOL::unselect( BOARD_ITEM* aItem )
|
||||||
void PCB_SELECTION_TOOL::highlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
|
void PCB_SELECTION_TOOL::highlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
|
||||||
{
|
{
|
||||||
if( aGroup )
|
if( aGroup )
|
||||||
|
{
|
||||||
aGroup->Add( aItem );
|
aGroup->Add( aItem );
|
||||||
|
view()->Hide( aItem, true ); // Hide the original item, so it is shown only on overlay
|
||||||
|
}
|
||||||
|
|
||||||
highlightInternal( aItem, aMode, aGroup != nullptr );
|
highlightInternal( aItem, aMode, aGroup != nullptr );
|
||||||
view()->Update( aItem, KIGFX::REPAINT );
|
view()->Update( aItem, KIGFX::REPAINT );
|
||||||
|
@ -2312,9 +2315,6 @@ void PCB_SELECTION_TOOL::highlightInternal( BOARD_ITEM* aItem, int aMode, bool a
|
||||||
else if( aMode == BRIGHTENED )
|
else if( aMode == BRIGHTENED )
|
||||||
aItem->SetBrightened();
|
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 )
|
if( aItem->Type() == PCB_FOOTPRINT_T )
|
||||||
{
|
{
|
||||||
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
|
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
|
||||||
|
@ -2337,7 +2337,10 @@ void PCB_SELECTION_TOOL::highlightInternal( BOARD_ITEM* aItem, int aMode, bool a
|
||||||
void PCB_SELECTION_TOOL::unhighlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
|
void PCB_SELECTION_TOOL::unhighlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
|
||||||
{
|
{
|
||||||
if( aGroup )
|
if( aGroup )
|
||||||
|
{
|
||||||
aGroup->Remove( aItem );
|
aGroup->Remove( aItem );
|
||||||
|
view()->Hide( aItem, false ); // // Restore original item visibility
|
||||||
|
}
|
||||||
|
|
||||||
unhighlightInternal( aItem, aMode, aGroup != nullptr );
|
unhighlightInternal( aItem, aMode, aGroup != nullptr );
|
||||||
view()->Update( aItem, KIGFX::REPAINT );
|
view()->Update( aItem, KIGFX::REPAINT );
|
||||||
|
@ -2355,9 +2358,6 @@ void PCB_SELECTION_TOOL::unhighlightInternal( BOARD_ITEM* aItem, int aMode, bool
|
||||||
else if( aMode == BRIGHTENED )
|
else if( aMode == BRIGHTENED )
|
||||||
aItem->ClearBrightened();
|
aItem->ClearBrightened();
|
||||||
|
|
||||||
if( aUsingOverlay )
|
|
||||||
view()->Hide( aItem, false ); // // Restore original item visibility
|
|
||||||
|
|
||||||
if( aItem->Type() == PCB_FOOTPRINT_T )
|
if( aItem->Type() == PCB_FOOTPRINT_T )
|
||||||
{
|
{
|
||||||
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
|
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
|
||||||
|
|
Loading…
Reference in New Issue