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() )