Eeschema: fix Bug #1298868 (Can't create new schematic from main toolbar icon)

This commit is contained in:
jean-pierre charras 2014-03-28 14:08:48 +01:00
parent 44e1f4fa2d
commit 36e62b1047
2 changed files with 14 additions and 10 deletions

View File

@ -368,20 +368,24 @@ bool SCH_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
// Delete old caches.
CMP_LIBRARY::RemoveCacheLibrary();
libCacheExist = LoadCacheLibrary( g_RootSheet->GetScreen()->GetFileName() );
if( !wxFileExists( g_RootSheet->GetScreen()->GetFileName() ) && !libCacheExist )
if( !wxFileExists( g_RootSheet->GetScreen()->GetFileName() ) )
{
Zoom_Automatique( false );
msg.Printf( _( "File '%s' not found." ),
GetChars( g_RootSheet->GetScreen()->GetFileName() ) );
DisplayInfoMessage( this, msg );
// return false;
if( aCtl == 0 )
{
msg.Printf( _( "File '%s' not found." ),
GetChars( g_RootSheet->GetScreen()->GetFileName() ) );
DisplayInfoMessage( this, msg );
return false;
}
return true; // do not close Eeschema if the file if not found:
// we may have to create a new schematic file.
}
// load the project.
libCacheExist = LoadCacheLibrary( g_RootSheet->GetScreen()->GetFileName() );
g_RootSheet->SetScreen( NULL );
bool diag = g_RootSheet->Load( this );
SetScreen( m_CurrentSheet->LastScreen() );

View File

@ -730,13 +730,13 @@ void SCH_EDIT_FRAME::OnLoadCmpToFootprintLinkFile( wxCommandEvent& event )
void SCH_EDIT_FRAME::OnNewProject( wxCommandEvent& event )
{
wxFileDialog dlg( this, _( "Open Schematic" ), wxGetCwd(),
wxFileDialog dlg( this, _( "New Schematic" ), wxGetCwd(),
wxEmptyString, SchematicFileWildcard,
wxFD_OPEN | wxFD_FILE_MUST_EXIST );
wxFD_SAVE );
if( dlg.ShowModal() != wxID_CANCEL )
{
OpenProjectFiles( std::vector<wxString>( 1, dlg.GetPath() ) );
OpenProjectFiles( std::vector<wxString>( 1, dlg.GetPath() ), 1 );
}
}