diff --git a/common/footprint_info.cpp b/common/footprint_info.cpp index de924a510f..4d27c48521 100644 --- a/common/footprint_info.cpp +++ b/common/footprint_info.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2011 Jean-Pierre Charras, * Copyright (C) 2013-2016 SoftPLC Corporation, Dick Hollenbeck - * Copyright (C) 1992-2013 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -51,6 +51,7 @@ #include #include #include +#include /* @@ -124,19 +125,10 @@ void FOOTPRINT_INFO::load() } -#define NTOLERABLE_ERRORS 4 // max errors before aborting, although threads - // in progress will still pile on for a bit. e.g. if 9 threads - // expect 9 greater than this. - void FOOTPRINT_LIST::loader_job( const wxString* aNicknameList, int aJobZ ) { - DBG(printf( "%s: first:'%s' aJobZ:%d\n", __func__, TO_UTF8( *aNicknameList ), aJobZ );) - for( int i=0; i= NTOLERABLE_ERRORS ) - break; - const wxString& nickname = aNicknameList[i]; try @@ -231,13 +223,6 @@ bool FOOTPRINT_LIST::ReadFootprintFiles( FP_LIB_TABLE* aTable, const wxString* a // size() is small, I'll do myself. for( unsigned i=0; i= NTOLERABLE_ERRORS ) - { - // abort the remaining nicknames. - retv = false; - break; - } - if( i + jobz >= nicknames.size() ) // on the last iteration of this for(;;) { jobz = nicknames.size() - i; @@ -306,29 +291,8 @@ bool FOOTPRINT_INFO::InLibrary( const wxString& aLibrary ) const } -#include // until scaffolding goes. - void FOOTPRINT_LIST::DisplayErrors( wxTopLevelWindow* aWindow ) { -#if 1 - // scaffolding until a better one is written, hopefully below. - - DBG(printf( "m_error_count:%d\n", m_error_count );) - - wxString msg = _( "Errors were encountered loading footprints" ); - - msg += wxT( '\n' ); - - for( unsigned i = 0; i! ? centric output, possibly with // recommendations for remedy of errors. Add numeric error codes // to PARSE_ERROR, and switch on them for remedies, etc. Full @@ -336,13 +300,16 @@ void FOOTPRINT_LIST::DisplayErrors( wxTopLevelWindow* aWindow ) HTML_MESSAGE_BOX dlg( aWindow, _( "Load Error" ) ); - dlg.MessageSet( _( "Errors were encountered loading footprints" ) ); + dlg.MessageSet( _( "Errors were encountered loading footprints:" ) ); - wxString msg = my html wizardry. + wxString msg; + + for( unsigned i = 0; i" ) + m_errors[i].errorText + wxT( "

" ); + } dlg.AddHTML_Text( msg ); dlg.ShowModal(); - -#endif } diff --git a/cvpcb/cvpcb_mainframe.cpp b/cvpcb/cvpcb_mainframe.cpp index 0089d26fa3..31bd3b2e06 100644 --- a/cvpcb/cvpcb_mainframe.cpp +++ b/cvpcb/cvpcb_mainframe.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2016 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 2011 Wayne Stambaugh + * Copyright (C) 2011-2016 Wayne Stambaugh * Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or @@ -447,6 +447,7 @@ void CVPCB_MAINFRAME::OnEditFootprintLibraryTable( wxCommandEvent& aEvent ) if( tableChanged ) { + wxBusyCursor dummy; BuildLIBRARY_LISTBOX(); m_FootprintsList.ReadFootprintFiles( Prj().PcbFootprintLibs() ); } @@ -724,6 +725,8 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles() return false; } + wxBusyCursor dummy; // Let the user know something is happening. + m_FootprintsList.ReadFootprintFiles( fptbl ); if( m_FootprintsList.GetErrorCount() )