Zone fill: display progress bar when refilling a zone after edition.

Previously, refilling a zone after edition was made silently,
thus creating not understandable but very noticeable freeze time for complex zones.

(cherry picked from commit 3692c511d0)
This commit is contained in:
jean-pierre charras 2019-03-14 10:18:50 +01:00 committed by Seth Hillbrand
parent b8180b0459
commit 16e62b29f9
1 changed files with 4 additions and 1 deletions

View File

@ -1,7 +1,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) 2013-2018 CERN * Copyright (C) 2013-2019 CERN
* @author Maciej Suminski <maciej.suminski@cern.ch> * @author Maciej Suminski <maciej.suminski@cern.ch>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
@ -46,6 +46,7 @@ using namespace std::placeholders;
#include <class_board.h> #include <class_board.h>
#include <class_module.h> #include <class_module.h>
#include <connectivity/connectivity_data.h> #include <connectivity/connectivity_data.h>
#include <widgets/progress_reporter.h>
#include "zone_filler.h" #include "zone_filler.h"
@ -638,6 +639,8 @@ void POINT_EDITOR::finishItem()
if( zone->IsFilled() && m_refill ) if( zone->IsFilled() && m_refill )
{ {
ZONE_FILLER filler( board() ); ZONE_FILLER filler( board() );
WX_PROGRESS_REPORTER reporter( getEditFrame<PCB_BASE_FRAME>(), _( "Refill Zones" ), 4 );
filler.SetProgressReporter( &reporter );
filler.Fill( { zone } ); filler.Fill( { zone } );
} }
} }