diff --git a/eeschema/eeschema_helpers.cpp b/eeschema/eeschema_helpers.cpp index 08108e9e11..ce2d531422 100644 --- a/eeschema/eeschema_helpers.cpp +++ b/eeschema/eeschema_helpers.cpp @@ -40,7 +40,6 @@ SCH_EDIT_FRAME* EESCHEMA_HELPERS::s_SchEditFrame = nullptr; -SETTINGS_MANAGER* EESCHEMA_HELPERS::s_SettingsManager = nullptr; void EESCHEMA_HELPERS::SetSchEditFrame( SCH_EDIT_FRAME* aSchEditFrame ) @@ -49,42 +48,6 @@ void EESCHEMA_HELPERS::SetSchEditFrame( SCH_EDIT_FRAME* aSchEditFrame ) } -SETTINGS_MANAGER* EESCHEMA_HELPERS::GetSettingsManager() -{ - if( !s_SettingsManager ) - { - if( s_SchEditFrame ) - { - s_SettingsManager = s_SchEditFrame->GetSettingsManager(); - } - else - { - s_SettingsManager = new SETTINGS_MANAGER(); - } - } - - return s_SettingsManager; -} - - -PROJECT* EESCHEMA_HELPERS::GetDefaultProject( bool aSetActive ) -{ - // For some reasons, LoadProject() needs a C locale, so ensure we have the right locale - // This is mainly when running QA Python tests - LOCALE_IO dummy; - - PROJECT* project = GetSettingsManager()->GetProject( "" ); - - if( !project ) - { - GetSettingsManager()->LoadProject( "", aSetActive ); - project = GetSettingsManager()->GetProject( "" ); - } - - return project; -} - - SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( const wxString& aFileName, bool aSetActive, bool aForceDefaultProject, PROJECT* aProject, bool aCalculateConnectivity ) { @@ -118,10 +81,11 @@ SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( const wxString& aFileName, LOCALE_IO dummy; PROJECT* project = aProject; + SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); if( !project ) { - project = GetSettingsManager()->GetProject( projectPath ); + project = mgr.GetProject( projectPath ); } if( !aForceDefaultProject ) @@ -130,11 +94,11 @@ SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( const wxString& aFileName, { if( wxFileExists( projectPath ) ) { - GetSettingsManager()->LoadProject( projectPath, aSetActive ); - project = GetSettingsManager()->GetProject( projectPath ); + mgr.LoadProject( projectPath, aSetActive ); + project = mgr.GetProject( projectPath ); } } - else if( s_SchEditFrame && project == &GetSettingsManager()->Prj() ) + else if( s_SchEditFrame && project == &mgr.Prj() ) { // Project is already loaded? Then so is the board return &s_SchEditFrame->Schematic(); @@ -143,7 +107,7 @@ SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( const wxString& aFileName, // Board cannot be loaded without a project, so create the default project if( !project || aForceDefaultProject ) - project = GetDefaultProject( aSetActive ); + project = &mgr.Prj(); IO_RELEASER pi( SCH_IO_MGR::FindPlugin( aFormat ) ); diff --git a/eeschema/eeschema_helpers.h b/eeschema/eeschema_helpers.h index 60a426aec2..5cafeaf098 100644 --- a/eeschema/eeschema_helpers.h +++ b/eeschema/eeschema_helpers.h @@ -41,9 +41,7 @@ class PROJECT; class EESCHEMA_HELPERS { public: - static SETTINGS_MANAGER* GetSettingsManager(); static void SetSchEditFrame( SCH_EDIT_FRAME* aSchEditFrame ); - static PROJECT* GetDefaultProject( bool aSetActive ); static SCHEMATIC* LoadSchematic( const wxString& aFileName, bool aSetActive, bool aForceDefaultProject, PROJECT* aProject = nullptr, @@ -56,7 +54,6 @@ public: private: static SCH_EDIT_FRAME* s_SchEditFrame; - static SETTINGS_MANAGER* s_SettingsManager; }; #endif diff --git a/eeschema/schematic.cpp b/eeschema/schematic.cpp index 205e653119..0b742441e8 100644 --- a/eeschema/schematic.cpp +++ b/eeschema/schematic.cpp @@ -169,6 +169,7 @@ void SCHEMATIC::Reset() ensureVirtualRoot(); ensureDefaultTopLevelSheet(); + loadBusAliasesFromProject(); }