Gerbview: update view items after reordering/modifying view layers.
Previously, after updating the gerber layer order, displayed D_codes where not always those corresponding to the active layer.
This commit is contained in:
parent
e824e5a267
commit
36b9ef0dc9
|
@ -2,7 +2,7 @@
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 2004-2019 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2004-2024 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -168,8 +168,13 @@ bool GERBVIEW_FRAME::LoadFileOrShowDialog( const wxString& aFileName,
|
||||||
// Auto zoom / sort is only applied when no other files have been loaded
|
// Auto zoom / sort is only applied when no other files have been loaded
|
||||||
if( isFirstFile )
|
if( isFirstFile )
|
||||||
{
|
{
|
||||||
|
int ly = GetActiveLayer();
|
||||||
|
|
||||||
SortLayersByFileExtension();
|
SortLayersByFileExtension();
|
||||||
Zoom_Automatique( false );
|
Zoom_Automatique( false );
|
||||||
|
|
||||||
|
// Ensure the initial active graphic layer is updated after sorting.
|
||||||
|
SetActiveLayer( ly, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
|
|
|
@ -600,6 +600,12 @@ void GERBVIEW_FRAME::RemapLayers( const std::unordered_map<int, int>& remapping
|
||||||
|
|
||||||
ReFillLayerWidget();
|
ReFillLayerWidget();
|
||||||
syncLayerBox( true );
|
syncLayerBox( true );
|
||||||
|
|
||||||
|
// Reordering draw layers need updating the view items
|
||||||
|
GetCanvas()->GetView()->RecacheAllItems();
|
||||||
|
GetCanvas()->GetView()->MarkDirty();
|
||||||
|
GetCanvas()->GetView()->UpdateAllItems( KIGFX::ALL );
|
||||||
|
|
||||||
GetCanvas()->Refresh();
|
GetCanvas()->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue