7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-11 11:20:09 +00:00

Revert "Remove prototype zone fill option"

This reverts commit 3f17aabcd0.
This commit is contained in:
Seth Hillbrand 2025-03-07 15:25:13 -08:00
parent 4f6a73d83c
commit 4ef81ee3ea
3 changed files with 28 additions and 1 deletions

View File

@ -39,6 +39,7 @@ PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS( PROJECT* aProject, const wxStrin
m_NetColorMode( NET_COLOR_MODE::RATSNEST ),
m_AutoTrackWidth( true ),
m_ZoneDisplayMode( ZONE_DISPLAY_MODE::SHOW_FILLED ),
m_PrototypeZoneFill( false ),
m_TrackOpacity( 1.0 ),
m_ViaOpacity( 1.0 ),
m_PadOpacity( 1.0 ),
@ -203,6 +204,9 @@ PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS( PROJECT* aProject, const wxStrin
ZONE_DISPLAY_MODE::SHOW_FILLED, ZONE_DISPLAY_MODE::SHOW_FILLED,
ZONE_DISPLAY_MODE::SHOW_TRIANGULATION ) );
m_params.emplace_back(
new PARAM<bool>( "board.prototype_zone_fills", &m_PrototypeZoneFill, false ) );
m_params.emplace_back( new PARAM<wxString>( "git.repo_username", &m_GitRepoUsername, "" ) );
m_params.emplace_back( new PARAM<wxString>( "git.repo_type", &m_GitRepoType, "" ) );

View File

@ -130,6 +130,9 @@ public:
/// How zones are drawn
ZONE_DISPLAY_MODE m_ZoneDisplayMode;
/// Whether Zone fill should always be solid for performance with large boards.
bool m_PrototypeZoneFill;
double m_TrackOpacity; ///< Opacity override for all tracks
double m_ViaOpacity; ///< Opacity override for all types of via
double m_PadOpacity; ///< Opacity override for SMD pads and PTH

View File

@ -883,6 +883,24 @@ bool ZONE_FILLER::Fill( const std::vector<ZONE*>& aZones, bool aCheck, wxWindow*
}
}
if( ( m_board->GetProject()
&& m_board->GetProject()->GetLocalSettings().m_PrototypeZoneFill ) )
{
KIDIALOG dlg( aParent, _( "Prototype zone fill enabled. Disable setting and refill?" ),
_( "Confirmation" ), wxOK | wxCANCEL | wxICON_WARNING );
dlg.SetOKCancelLabels( _( "Disable and refill" ), _( "Continue without Refill" ) );
dlg.DoNotShowCheckbox( __FILE__, __LINE__ );
if( dlg.ShowModal() == wxID_OK )
{
m_board->GetProject()->GetLocalSettings().m_PrototypeZoneFill = false;
}
else if( !outOfDate )
{
return false;
}
}
if( outOfDate )
{
KIDIALOG dlg( aParent, _( "Zone fills are out-of-date. Refill?" ),
@ -1814,7 +1832,9 @@ bool ZONE_FILLER::fillCopperZone( const ZONE* aZone, PCB_LAYER_ID aLayer, PCB_LA
* Process the hatch pattern (note that we do this while deflated)
*/
if( aZone->GetFillMode() == ZONE_FILL_MODE::HATCH_PATTERN )
if( aZone->GetFillMode() == ZONE_FILL_MODE::HATCH_PATTERN
&& ( !m_board->GetProject()
|| !m_board->GetProject()->GetLocalSettings().m_PrototypeZoneFill ) )
{
if( !addHatchFillTypeOnZone( aZone, aLayer, aDebugLayer, aFillPolys ) )
return false;