Browse Source

Reduce dependency on dynamic_cast.

Also switches to checking __clang__ instead of __WXMAC__.
pcb_db
Jeff Young 10 months ago
parent
commit
753d385473
  1. 12
      3d-viewer/3d_canvas/board_adapter.cpp
  2. 2
      3d-viewer/3d_canvas/eda_3d_canvas.cpp
  3. 7
      3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp
  4. 6
      3d-viewer/dialogs/panel_3D_display_options.cpp
  5. 6
      3d-viewer/dialogs/panel_3D_opengl_options.cpp
  6. 8
      3d-viewer/dialogs/panel_3D_raytracing_options.cpp
  7. 3
      3d-viewer/dialogs/panel_preview_3d_model.cpp
  8. 2
      common/design_block_lib_table.cpp
  9. 6
      common/dialogs/panel_design_block_lib_table.cpp
  10. 24
      common/dialogs/panel_packages_and_updates.cpp
  11. 2
      common/fp_lib_table.cpp
  12. 3
      eeschema/dialogs/dialog_lib_edit_pin_table.cpp
  13. 5
      eeschema/dialogs/dialog_lib_symbol_properties.cpp
  14. 4
      eeschema/dialogs/panel_eeschema_annotation_options.cpp
  15. 9
      eeschema/dialogs/panel_eeschema_color_settings.cpp
  16. 4
      eeschema/dialogs/panel_eeschema_display_options.cpp
  17. 4
      eeschema/dialogs/panel_eeschema_editing_options.cpp
  18. 13
      eeschema/dialogs/panel_simulator_preferences.cpp
  19. 4
      eeschema/dialogs/panel_sym_color_settings.cpp
  20. 4
      eeschema/dialogs/panel_sym_display_options.cpp
  21. 24
      eeschema/dialogs/panel_sym_editing_options.cpp
  22. 9
      eeschema/dialogs/panel_sym_lib_table.cpp
  23. 6
      eeschema/dialogs/panel_template_fieldnames.cpp
  24. 8
      eeschema/eeschema.cpp
  25. 7
      eeschema/eeschema_settings.cpp
  26. 3
      eeschema/pin_layout_cache.cpp
  27. 4
      eeschema/sch_base_frame.cpp
  28. 3
      eeschema/sch_edit_frame.cpp
  29. 3
      eeschema/sch_item.cpp
  30. 12
      eeschema/sch_pin.cpp
  31. 37
      eeschema/schematic_settings.cpp
  32. 20
      eeschema/symbol_editor/symbol_edit_frame.cpp
  33. 2
      eeschema/symbol_lib_table.cpp
  34. 9
      eeschema/symbol_viewer_frame.cpp
  35. 3
      eeschema/tools/sch_edit_tool.cpp
  36. 13
      eeschema/tools/sch_move_tool.cpp
  37. 23
      eeschema/tools/symbol_editor_drawing_tools.cpp
  38. 33
      eeschema/tools/symbol_editor_pin_tool.cpp
  39. 5
      eeschema/widgets/design_block_preview_widget.cpp
  40. 2
      eeschema/widgets/panel_design_block_chooser.cpp
  41. 8
      eeschema/widgets/panel_symbol_chooser.cpp
  42. 5
      eeschema/widgets/symbol_preview_widget.cpp
  43. 9
      gerbview/dialogs/panel_gerbview_color_settings.cpp
  44. 9
      gerbview/dialogs/panel_gerbview_display_options.cpp
  45. 21
      gerbview/dialogs/panel_gerbview_excellon_settings.cpp
  46. 2
      gerbview/gerbview.cpp
  47. 6
      gerbview/gerbview_frame.cpp
  48. 2
      gerbview/gerbview_painter.cpp
  49. 47
      include/settings/settings_manager.h
  50. 2
      kicad/dialogs/dialog_update_check_prompt.cpp
  51. 4
      kicad/pcm/dialogs/dialog_pcm.cpp
  52. 6
      kicad/pcm/dialogs/panel_packages_view.cpp
  53. 6
      kicad/tools/kicad_manager_control.cpp
  54. 7
      kicad/update_manager.cpp
  55. 14
      pagelayout_editor/dialogs/panel_pl_editor_color_settings.cpp
  56. 7
      pagelayout_editor/pl_draw_panel_gal.cpp
  57. 4
      pagelayout_editor/pl_editor.cpp
  58. 6
      pagelayout_editor/pl_editor_frame.cpp
  59. 6
      pcbnew/dialogs/dialog_export_2581.cpp
  60. 6
      pcbnew/dialogs/dialog_export_odbpp.cpp
  61. 3
      pcbnew/dialogs/dialog_footprint_chooser.cpp
  62. 15
      pcbnew/dialogs/dialog_footprint_wizard_list.cpp
  63. 2
      pcbnew/dialogs/dialog_plot.cpp
  64. 8
      pcbnew/dialogs/panel_edit_options.cpp
  65. 13
      pcbnew/dialogs/panel_fp_editor_color_settings.cpp
  66. 4
      pcbnew/dialogs/panel_fp_editor_defaults.cpp
  67. 9
      pcbnew/dialogs/panel_fp_lib_table.cpp
  68. 3
      pcbnew/dialogs/panel_fp_properties_3d_model.cpp
  69. 5
      pcbnew/dialogs/panel_pcb_display_options.cpp
  70. 17
      pcbnew/dialogs/panel_pcbnew_color_settings.cpp
  71. 4
      pcbnew/footprint_chooser_frame.cpp
  72. 16
      pcbnew/footprint_edit_frame.cpp
  73. 11
      pcbnew/footprint_viewer_frame.cpp
  74. 55
      pcbnew/pcbnew.cpp
  75. 7
      pcbnew/pcbnew_jobs_handler.cpp
  76. 11
      pcbnew/pcbnew_printout.cpp
  77. 9
      pcbnew/pcbnew_settings.cpp
  78. 6
      pcbnew/python/scripting/pcbnew_action_plugins.cpp
  79. 4
      pcbnew/sel_layer.cpp
  80. 8
      pcbnew/tools/drawing_tool.cpp
  81. 4
      pcbnew/tools/pcb_editor_conditions.cpp
  82. 4
      pcbnew/tools/pcb_tool_base.cpp
  83. 4
      pcbnew/tools/pcb_viewer_tools.cpp
  84. 4
      pcbnew/tools/position_relative_tool.cpp
  85. 8
      qa/qa_utils/pcb_test_frame.cpp

12
3d-viewer/3d_canvas/board_adapter.cpp

@ -227,16 +227,8 @@ void BOARD_ADAPTER::ReloadColorSettings() noexcept
{
wxCHECK( PgmOrNull(), /* void */ );
PCBNEW_SETTINGS* cfg = nullptr;
try
{
cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
}
catch( const std::runtime_error& e )
{
wxFAIL_MSG( e.what() );
}
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg )
{

2
3d-viewer/3d_canvas/eda_3d_canvas.cpp

@ -1093,7 +1093,7 @@ bool EDA_3D_CANVAS::SetView3D( VIEW3D_TYPE aRequestedView )
void EDA_3D_CANVAS::RenderEngineChanged()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
switch( cfg->m_Render.engine )
{

7
3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp

@ -480,7 +480,9 @@ void EDA_3D_VIEWER_FRAME::Process_Special_Functions( wxCommandEvent &event )
case ID_MENU3D_RESET_DEFAULTS:
{
auto cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
cfg->ResetToDefaults();
LoadSettings( cfg );
@ -607,7 +609,8 @@ void EDA_3D_VIEWER_FRAME::LoadSettings( APP_SETTINGS_BASE *aCfg )
void EDA_3D_VIEWER_FRAME::SaveSettings( APP_SETTINGS_BASE *aCfg )
{
auto cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
EDA_BASE_FRAME::SaveSettings( cfg );

6
3d-viewer/dialogs/panel_3D_display_options.cpp

@ -64,7 +64,8 @@ void PANEL_3D_DISPLAY_OPTIONS::loadViewSettings( EDA_3D_VIEWER_SETTINGS* aCfg )
bool PANEL_3D_DISPLAY_OPTIONS::TransferDataToWindow()
{
EDA_3D_VIEWER_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
loadViewSettings( cfg );
@ -74,7 +75,8 @@ bool PANEL_3D_DISPLAY_OPTIONS::TransferDataToWindow()
bool PANEL_3D_DISPLAY_OPTIONS::TransferDataFromWindow()
{
EDA_3D_VIEWER_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
// Set visibility of items
cfg->m_Render.show_zones = m_checkBoxAreas->GetValue();

6
3d-viewer/dialogs/panel_3D_opengl_options.cpp

@ -56,7 +56,8 @@ void PANEL_3D_OPENGL_OPTIONS::loadSettings( EDA_3D_VIEWER_SETTINGS* aCfg )
bool PANEL_3D_OPENGL_OPTIONS::TransferDataToWindow()
{
EDA_3D_VIEWER_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
loadSettings( cfg );
@ -66,7 +67,8 @@ bool PANEL_3D_OPENGL_OPTIONS::TransferDataToWindow()
bool PANEL_3D_OPENGL_OPTIONS::TransferDataFromWindow()
{
EDA_3D_VIEWER_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
cfg->m_Render.opengl_copper_thickness = m_checkBoxCuThickness->GetValue();
cfg->m_Render.show_model_bbox = m_checkBoxBoundingBoxes->GetValue();

8
3d-viewer/dialogs/panel_3D_raytracing_options.cpp

@ -110,8 +110,8 @@ void PANEL_3D_RAYTRACING_OPTIONS::loadSettings( EDA_3D_VIEWER_SETTINGS* aCfg )
bool PANEL_3D_RAYTRACING_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
loadSettings( cfg );
@ -121,8 +121,8 @@ bool PANEL_3D_RAYTRACING_OPTIONS::TransferDataToWindow()
bool PANEL_3D_RAYTRACING_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
cfg->m_Render.raytrace_shadows = m_cbRaytracing_renderShadows->GetValue();
cfg->m_Render.raytrace_backfloor = m_cbRaytracing_addFloor->GetValue();

3
3d-viewer/dialogs/panel_preview_3d_model.cpp

@ -204,7 +204,8 @@ void PANEL_PREVIEW_3D_MODEL::loadSettings()
// TODO(JE) use all control options
m_boardAdapter.m_MousewheelPanning = settings->m_Input.scroll_modifier_zoom != 0;
auto* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
if( cfg )
{

2
common/design_block_lib_table.cpp

@ -627,7 +627,7 @@ bool DESIGN_BLOCK_LIB_TABLE::LoadGlobalTable( DESIGN_BLOCK_LIB_TABLE& aTable )
aTable.Load( fn.GetFullPath() );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
const ENV_VAR_MAP& env = Pgm().GetLocalEnvVariables();
wxString packagesPath;

6
common/dialogs/panel_design_block_lib_table.cpp

@ -314,7 +314,8 @@ PANEL_DESIGN_BLOCK_LIB_TABLE::PANEL_DESIGN_BLOCK_LIB_TABLE( DIALOG_EDIT_LIBRARY_
choices.Add( DESIGN_BLOCK_IO_MGR::ShowType( fileType ) );
KICAD_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<KICAD_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
if( cfg->m_lastDesignBlockLibDir.IsEmpty() )
cfg->m_lastDesignBlockLibDir = PATHS::GetDefaultUserDesignBlocksPath();
@ -916,7 +917,8 @@ void PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event
}
const IO_BASE::IO_FILE_DESC& fileDesc = m_supportedDesignBlockFiles.at( fileType );
KICAD_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<KICAD_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
wxString title =
wxString::Format( _( "Select %s Library" ), DESIGN_BLOCK_IO_MGR::ShowType( fileType ) );

24
common/dialogs/panel_packages_and_updates.cpp

@ -48,13 +48,13 @@ PANEL_PACKAGES_AND_UPDATES::PANEL_PACKAGES_AND_UPDATES( wxWindow* parent ) :
bool PANEL_PACKAGES_AND_UPDATES::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
m_cbKicadUpdate->SetValue( settings->m_KiCadUpdateCheck );
m_cbPcmUpdate->SetValue( settings->m_PcmUpdateCheck );
m_libAutoAdd->SetValue( settings->m_PcmLibAutoAdd );
m_libAutoRemove->SetValue( settings->m_PcmLibAutoRemove );
m_libPrefix->SetValue( settings->m_PcmLibPrefix );
m_cbKicadUpdate->SetValue( cfg->m_KiCadUpdateCheck );
m_cbPcmUpdate->SetValue( cfg->m_PcmUpdateCheck );
m_libAutoAdd->SetValue( cfg->m_PcmLibAutoAdd );
m_libAutoRemove->SetValue( cfg->m_PcmLibAutoRemove );
m_libPrefix->SetValue( cfg->m_PcmLibPrefix );
return true;
}
@ -63,13 +63,13 @@ bool PANEL_PACKAGES_AND_UPDATES::TransferDataToWindow()
bool PANEL_PACKAGES_AND_UPDATES::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
settings->m_KiCadUpdateCheck = m_cbKicadUpdate->GetValue();
settings->m_PcmUpdateCheck = m_cbPcmUpdate->GetValue();
settings->m_PcmLibAutoAdd = m_libAutoAdd->GetValue();
settings->m_PcmLibAutoRemove = m_libAutoRemove->GetValue();
settings->m_PcmLibPrefix = m_libPrefix->GetValue();
cfg->m_KiCadUpdateCheck = m_cbKicadUpdate->GetValue();
cfg->m_PcmUpdateCheck = m_cbPcmUpdate->GetValue();
cfg->m_PcmLibAutoAdd = m_libAutoAdd->GetValue();
cfg->m_PcmLibAutoRemove = m_libAutoRemove->GetValue();
cfg->m_PcmLibPrefix = m_libPrefix->GetValue();
return true;
}

2
common/fp_lib_table.cpp

@ -622,7 +622,7 @@ bool FP_LIB_TABLE::LoadGlobalTable( FP_LIB_TABLE& aTable )
aTable.Load( fn.GetFullPath() );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
const ENV_VAR_MAP& env = Pgm().GetLocalEnvVariables();
wxString packagesPath;

3
eeschema/dialogs/dialog_lib_edit_pin_table.cpp

@ -328,7 +328,8 @@ public:
VECTOR2I pos = last->GetPosition();
auto* cfg = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
if( last->GetOrientation() == PIN_ORIENTATION::PIN_LEFT
|| last->GetOrientation() == PIN_ORIENTATION::PIN_RIGHT )

5
eeschema/dialogs/dialog_lib_symbol_properties.cpp

@ -187,7 +187,10 @@ bool DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataToWindow()
// Add in any template fieldnames not yet defined:
// Read global fieldname templates
if( EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>() )
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
if( cfg )
{
TEMPLATES templateMgr;

4
eeschema/dialogs/panel_eeschema_annotation_options.cpp

@ -80,7 +80,7 @@ void PANEL_EESCHEMA_ANNOTATION_OPTIONS::loadEEschemaSettings( EESCHEMA_SETTINGS*
bool PANEL_EESCHEMA_ANNOTATION_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
loadEEschemaSettings( cfg );
@ -91,7 +91,7 @@ bool PANEL_EESCHEMA_ANNOTATION_OPTIONS::TransferDataToWindow()
bool PANEL_EESCHEMA_ANNOTATION_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
cfg->m_AnnotatePanel.automatic = m_checkAutoAnnotate->GetValue();

9
eeschema/dialogs/panel_eeschema_color_settings.cpp

@ -69,7 +69,7 @@ PANEL_EESCHEMA_COLOR_SETTINGS::PANEL_EESCHEMA_COLOR_SETTINGS( wxWindow* aParent
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COMMON_SETTINGS* common_settings = Pgm().GetCommonSettings();
EESCHEMA_SETTINGS* app_settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* app_settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
COLOR_SETTINGS* current = mgr.GetColorSettings( app_settings->m_ColorTheme );
// Saved theme doesn't exist? Reset to default
@ -122,9 +122,10 @@ bool PANEL_EESCHEMA_COLOR_SETTINGS::TransferDataFromWindow()
if( !saveCurrentTheme( true ) )
return false;
SETTINGS_MANAGER& settingsMgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* app_settings = settingsMgr.GetAppSettings<EESCHEMA_SETTINGS>();
app_settings->m_ColorTheme = m_currentSettings->GetFilename();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
cfg->m_ColorTheme = m_currentSettings->GetFilename();
return true;
}

4
eeschema/dialogs/panel_eeschema_display_options.cpp

@ -81,7 +81,7 @@ void PANEL_EESCHEMA_DISPLAY_OPTIONS::loadEEschemaSettings( EESCHEMA_SETTINGS* cf
bool PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
loadEEschemaSettings( cfg );
@ -94,7 +94,7 @@ bool PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataToWindow()
bool PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
cfg->m_Appearance.default_font = m_defaultFontCtrl->GetSelection() <= 0
? wxString( KICAD_FONT_NAME ) // This is a keyword. Do not translate

4
eeschema/dialogs/panel_eeschema_editing_options.cpp

@ -93,7 +93,7 @@ void PANEL_EESCHEMA_EDITING_OPTIONS::loadEEschemaSettings( EESCHEMA_SETTINGS* aC
bool PANEL_EESCHEMA_EDITING_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
loadEEschemaSettings( cfg );
@ -104,7 +104,7 @@ bool PANEL_EESCHEMA_EDITING_OPTIONS::TransferDataToWindow()
bool PANEL_EESCHEMA_EDITING_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
cfg->m_Drawing.default_sheet_border_color = m_borderColorSwatch->GetSwatchColor();
cfg->m_Drawing.default_sheet_background_color = m_backgroundColorSwatch->GetSwatchColor();

13
eeschema/dialogs/panel_simulator_preferences.cpp

@ -86,9 +86,9 @@ bool PANEL_SIMULATOR_PREFERENCES::TransferDataFromWindow()
return static_cast<SIM_MOUSE_WHEEL_ACTION>( aChoice->GetSelection() );
};
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
SIM_MOUSE_WHEEL_ACTION_SET& actions = settings->m_Simulator.preferences.mouse_wheel_actions;
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
SIM_MOUSE_WHEEL_ACTION_SET& actions = cfg->m_Simulator.preferences.mouse_wheel_actions;
actions.vertical_unmodified = toAction( m_choiceVScrollUnmodified );
actions.vertical_with_ctrl = toAction( m_choiceVScrollCtrl );
@ -103,9 +103,10 @@ bool PANEL_SIMULATOR_PREFERENCES::TransferDataFromWindow()
bool PANEL_SIMULATOR_PREFERENCES::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
const EESCHEMA_SETTINGS* settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
applyMouseScrollActionsToPanel( settings->m_Simulator.preferences.mouse_wheel_actions );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
applyMouseScrollActionsToPanel( cfg->m_Simulator.preferences.mouse_wheel_actions );
return true;
}

4
eeschema/dialogs/panel_sym_color_settings.cpp

@ -36,7 +36,7 @@ PANEL_SYM_COLOR_SETTINGS::PANEL_SYM_COLOR_SETTINGS( wxWindow* aWindow ) :
bool PANEL_SYM_COLOR_SETTINGS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
if( cfg->m_UseEeschemaColorSettings )
m_eeschemaRB->SetValue( true );
@ -73,7 +73,7 @@ bool PANEL_SYM_COLOR_SETTINGS::TransferDataToWindow()
bool PANEL_SYM_COLOR_SETTINGS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
cfg->m_UseEeschemaColorSettings = m_eeschemaRB->GetValue();

4
eeschema/dialogs/panel_sym_display_options.cpp

@ -51,7 +51,7 @@ void PANEL_SYM_DISPLAY_OPTIONS::loadSymEditorSettings( SYMBOL_EDITOR_SETTINGS* c
bool PANEL_SYM_DISPLAY_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
loadSymEditorSettings( cfg );
@ -64,7 +64,7 @@ bool PANEL_SYM_DISPLAY_OPTIONS::TransferDataToWindow()
bool PANEL_SYM_DISPLAY_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
cfg->m_ShowHiddenPins = m_checkShowHiddenPins->GetValue();
cfg->m_ShowHiddenFields = m_checkShowHiddenFields->GetValue();

24
eeschema/dialogs/panel_sym_editing_options.cpp

@ -62,9 +62,9 @@ void PANEL_SYM_EDITING_OPTIONS::loadSymEditorSettings( SYMBOL_EDITOR_SETTINGS* a
bool PANEL_SYM_EDITING_OPTIONS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* settings = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
loadSymEditorSettings( settings );
loadSymEditorSettings( cfg );
return true;
}
@ -73,19 +73,19 @@ bool PANEL_SYM_EDITING_OPTIONS::TransferDataToWindow()
bool PANEL_SYM_EDITING_OPTIONS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* settings = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
settings->m_Defaults.line_width = schIUScale.IUToMils( m_lineWidth.GetIntValue() );
settings->m_Defaults.text_size = schIUScale.IUToMils( m_textSize.GetIntValue() );
settings->m_Defaults.pin_length = schIUScale.IUToMils( m_pinLength.GetIntValue() );
settings->m_Defaults.pin_num_size = schIUScale.IUToMils( m_pinNumberSize.GetIntValue() );
settings->m_Defaults.pin_name_size = schIUScale.IUToMils( m_pinNameSize.GetIntValue() );
settings->m_Repeat.label_delta = m_spinRepeatLabel->GetValue();
settings->m_Repeat.pin_step = schIUScale.IUToMils( m_pinPitch.GetIntValue() );
settings->m_dragPinsAlongWithEdges = m_dragPinsWithEdges->GetValue();
cfg->m_Defaults.line_width = schIUScale.IUToMils( m_lineWidth.GetIntValue() );
cfg->m_Defaults.text_size = schIUScale.IUToMils( m_textSize.GetIntValue() );
cfg->m_Defaults.pin_length = schIUScale.IUToMils( m_pinLength.GetIntValue() );
cfg->m_Defaults.pin_num_size = schIUScale.IUToMils( m_pinNumberSize.GetIntValue() );
cfg->m_Defaults.pin_name_size = schIUScale.IUToMils( m_pinNameSize.GetIntValue() );
cfg->m_Repeat.label_delta = m_spinRepeatLabel->GetValue();
cfg->m_Repeat.pin_step = schIUScale.IUToMils( m_pinPitch.GetIntValue() );
cfg->m_dragPinsAlongWithEdges = m_dragPinsWithEdges->GetValue();
// Force pin_step to a grid multiple
settings->m_Repeat.pin_step = KiROUND( double( settings->m_Repeat.pin_step ) / MIN_GRID ) * MIN_GRID;
cfg->m_Repeat.pin_step = KiROUND( double( cfg->m_Repeat.pin_step ) / MIN_GRID ) * MIN_GRID;
return true;
}

9
eeschema/dialogs/panel_sym_lib_table.cpp

@ -247,7 +247,8 @@ void PANEL_SYM_LIB_TABLE::setupGrid( WX_GRID* aGrid )
aCurrGrid->SetColSize( aCol, std::max( prevWidth, aCurrGrid->GetColSize( aCol ) ) );
};
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
// Give a bit more room for combobox editors
for( int ii = 0; ii < aGrid->GetNumberRows(); ++ii )
@ -342,7 +343,8 @@ PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE( DIALOG_EDIT_LIBRARY_TABLES* aParent, P
m_pluginChoices.Add( SCH_IO_MGR::ShowType( type ) );
}
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
if( cfg->m_lastSymbolLibDir.IsEmpty() )
cfg->m_lastSymbolLibDir = PATHS::GetDefaultUserSymbolsPath();
@ -628,7 +630,8 @@ void PANEL_SYM_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event )
fileFiltersStr = _( "All supported formats" ) + wxT( "|" ) + allWildcardsStr + wxT( "|" )
+ fileFiltersStr;
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
wxString openDir = cfg->m_lastSymbolLibDir;

6
eeschema/dialogs/panel_template_fieldnames.cpp

@ -52,7 +52,8 @@ PANEL_TEMPLATE_FIELDNAMES::PANEL_TEMPLATE_FIELDNAMES( wxWindow* aWindow,
m_global = true;
m_templateMgr = &m_templateMgrInstance;
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
if( cfg && !cfg->m_Drawing.field_names.IsEmpty() )
m_templateMgr->AddTemplateFieldNames( cfg->m_Drawing.field_names );
@ -229,7 +230,8 @@ bool PANEL_TEMPLATE_FIELDNAMES::TransferDataFromWindow()
if( m_global )
{
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
if( cfg )
{

8
eeschema/eeschema.cpp

@ -208,7 +208,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_SYM_DISP_OPTIONS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
return new PANEL_SYM_DISPLAY_OPTIONS( aParent, cfg );
}
@ -216,7 +216,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_SYM_EDIT_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_SCH_SYMBOL_EDITOR, false );
if( !frame )
@ -253,7 +253,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_SCH_DISP_OPTIONS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
return new PANEL_EESCHEMA_DISPLAY_OPTIONS( aParent, cfg );
}
@ -261,7 +261,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_SCH_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_SCH, false );
if( !frame )

7
eeschema/eeschema_settings.cpp

@ -977,7 +977,8 @@ bool EESCHEMA_SETTINGS::MigrateFromLegacy( wxConfigBase* aCfg )
if( aCfg->Read( "MoveWarpsCursor", &tmp ) )
Pgm().GetCommonSettings()->m_Input.warp_mouse_on_move = tmp;
COLOR_SETTINGS* cs = Pgm().GetSettingsManager().GetMigratedColorSettings();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COLOR_SETTINGS* cs = mgr.GetMigratedColorSettings();
auto migrateLegacyColor = [&] ( const std::string& aKey, int aLayerId ) {
wxString str;
@ -1016,14 +1017,14 @@ bool EESCHEMA_SETTINGS::MigrateFromLegacy( wxConfigBase* aCfg )
migrateLegacyColor( "Color4DWireEx", LAYER_WIRE );
migrateLegacyColor( "Color4DWorksheetEx", LAYER_SCHEMATIC_DRAWINGSHEET );
Pgm().GetSettingsManager().SaveColorSettings( cs, "schematic" );
mgr.SaveColorSettings( cs, "schematic" );
Set( "appearance.color_theme", cs->GetFilename() );
// LibEdit settings were stored with eeschema. If eeschema is the first app to run,
// we need to migrate the LibEdit settings here
auto libedit = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* libedit = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
libedit->MigrateFromLegacy( aCfg );
libedit->Load();

3
eeschema/pin_layout_cache.cpp

@ -138,7 +138,8 @@ void PIN_LAYOUT_CACHE::recomputeExtentsCache( bool aDefinitelyDirty, KIFONT::FON
void PIN_LAYOUT_CACHE::recomputeCaches()
{
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
KIFONT::FONT* font = KIFONT::FONT::GetFont( cfg->m_Appearance.default_font );
const KIFONT::METRICS& metrics = m_pin.GetFontMetrics();

4
eeschema/sch_base_frame.cpp

@ -535,12 +535,12 @@ COLOR_SETTINGS* SCH_BASE_FRAME::GetColorSettings( bool aForceRefresh ) const
if( !m_colorSettings || aForceRefresh )
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
wxString colorTheme = cfg->m_ColorTheme;
if( IsType( FRAME_SCH_SYMBOL_EDITOR ) )
{
SYMBOL_EDITOR_SETTINGS* symCfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* symCfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
if( !symCfg->m_UseEeschemaColorSettings )
colorTheme = symCfg->m_ColorTheme;

3
eeschema/sch_edit_frame.cpp

@ -2145,7 +2145,8 @@ void SCH_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVars
ShowAllIntersheetRefs( settings.m_IntersheetRefsShow );
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );
GetRenderSettings()->SetDefaultFont( cfg->m_Appearance.default_font );

3
eeschema/sch_item.cpp

@ -454,7 +454,8 @@ int SCH_ITEM::compare( const SCH_ITEM& aOther, int aCompareFlags ) const
const wxString& SCH_ITEM::GetDefaultFont() const
{
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
return cfg->m_Appearance.default_font;
}

12
eeschema/sch_pin.cpp

@ -110,14 +110,16 @@ SCH_PIN::SCH_PIN( LIB_SYMBOL* aParentSymbol ) :
{
// Use the application settings for pin sizes if exists.
// pgm can be nullptr when running a shared lib from a script, not from a kicad appl
PGM_BASE* pgm = PgmOrNull();
PGM_BASE* pgm = PgmOrNull();
if( pgm )
{
auto* settings = pgm->GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
m_length = schIUScale.MilsToIU( settings->m_Defaults.pin_length );
m_numTextSize = schIUScale.MilsToIU( settings->m_Defaults.pin_num_size );
m_nameTextSize = schIUScale.MilsToIU( settings->m_Defaults.pin_name_size );
SETTINGS_MANAGER& mgr = pgm->GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
m_length = schIUScale.MilsToIU( cfg->m_Defaults.pin_length );
m_numTextSize = schIUScale.MilsToIU( cfg->m_Defaults.pin_num_size );
m_nameTextSize = schIUScale.MilsToIU( cfg->m_Defaults.pin_name_size );
}
else // Use hardcoded eeschema defaults: symbol_editor settings are not existing.
{

37
eeschema/schematic_settings.cpp

@ -66,26 +66,20 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
m_SpiceModelCurSheetAsRoot( true ),
m_NgspiceSettings( nullptr )
{
EESCHEMA_SETTINGS* appSettings = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
int defaultLineThickness =
appSettings ? appSettings->m_Drawing.default_line_thickness : DEFAULT_LINE_WIDTH_MILS;
int defaultTextSize =
appSettings ? appSettings->m_Drawing.default_text_size : DEFAULT_TEXT_SIZE;
int defaultPinSymbolSize =
appSettings ? appSettings->m_Drawing.pin_symbol_size : DEFAULT_TEXT_SIZE / 2;
int defaultJunctionSizeChoice =
appSettings ? appSettings->m_Drawing.junction_size_choice : 3;
bool defaultIntersheetsRefShow =
appSettings ? appSettings->m_Drawing.intersheets_ref_show : false;
bool defaultIntersheetsRefOwnPage =
appSettings ? appSettings->m_Drawing.intersheets_ref_own_page : true;
bool defaultIntersheetsRefFormatShort =
appSettings ? appSettings->m_Drawing.intersheets_ref_short : false;
wxString defaultIntersheetsRefPrefix =
appSettings ? appSettings->m_Drawing.intersheets_ref_prefix : wxString( wxS( DEFAULT_IREF_PREFIX ) );
wxString defaultIntersheetsRefSuffix =
appSettings ? appSettings->m_Drawing.intersheets_ref_suffix : wxString( wxS( DEFAULT_IREF_SUFFIX ) );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
int defaultLineThickness = cfg ? cfg->m_Drawing.default_line_thickness : DEFAULT_LINE_WIDTH_MILS;
int defaultTextSize = cfg ? cfg->m_Drawing.default_text_size : DEFAULT_TEXT_SIZE;
int defaultPinSymbolSize = cfg ? cfg->m_Drawing.pin_symbol_size : DEFAULT_TEXT_SIZE / 2;
int defaultJunctionSizeChoice = cfg ? cfg->m_Drawing.junction_size_choice : 3;
bool defaultIntersheetsRefShow = cfg ? cfg->m_Drawing.intersheets_ref_show : false;
bool defaultIntersheetsRefOwnPage = cfg ? cfg->m_Drawing.intersheets_ref_own_page : true;
bool defaultIntersheetsRefFormatShort = cfg ? cfg->m_Drawing.intersheets_ref_short : false;
wxString defaultIntersheetsRefPrefix = cfg ? cfg->m_Drawing.intersheets_ref_prefix
: wxString( wxS( DEFAULT_IREF_PREFIX ) );
wxString defaultIntersheetsRefSuffix = cfg ? cfg->m_Drawing.intersheets_ref_suffix
: wxString( wxS( DEFAULT_IREF_SUFFIX ) );
m_params.emplace_back( new PARAM<bool>( "drawing.intersheets_ref_show",
&m_IntersheetRefsShow, defaultIntersheetsRefShow ) );
@ -191,7 +185,8 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
}
// Read global fieldname templates
auto* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
if( cfg && !cfg->m_Drawing.field_names.IsEmpty() )
m_TemplateFieldNames.AddTemplateFieldNames( cfg->m_Drawing.field_names );

20
eeschema/symbol_editor/symbol_edit_frame.cpp

@ -137,7 +137,7 @@ SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
SetIcons( icon_bundle );
m_settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
m_settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
LoadSettings( m_settings );
m_libMgr = new LIB_SYMBOL_LIBRARY_MANAGER( *this );
@ -301,19 +301,11 @@ SYMBOL_EDIT_FRAME::~SYMBOL_EDIT_FRAME()
// current screen is destroyed in EDA_DRAW_FRAME
SetScreen( m_dummyScreen );
SYMBOL_EDITOR_SETTINGS* cfg = nullptr;
try
{
cfg = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
}
catch( const std::runtime_error& e )
{
wxFAIL_MSG( e.what() );
}
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
if( cfg )
Pgm().GetSettingsManager().Save( cfg );
mgr.Save( cfg );
delete m_libMgr;
}
@ -370,7 +362,7 @@ COLOR_SETTINGS* SYMBOL_EDIT_FRAME::GetColorSettings( bool aForceRefresh ) const
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
if( GetSettings()->m_UseEeschemaColorSettings )
return mgr.GetColorSettings( mgr.GetAppSettings<EESCHEMA_SETTINGS>()->m_ColorTheme );
return mgr.GetColorSettings( mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" )->m_ColorTheme );
else
return mgr.GetColorSettings( GetSettings()->m_ColorTheme );
}
@ -1349,7 +1341,7 @@ void SYMBOL_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextV
SCH_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
SETTINGS_MANAGER* mgr = GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr->GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SYMBOL_EDITOR_SETTINGS* cfg = mgr->GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
GetRenderSettings()->m_ShowPinsElectricalType = cfg->m_ShowPinElectricalType;
GetRenderSettings()->m_ShowHiddenPins = cfg->m_ShowHiddenPins;

2
eeschema/symbol_lib_table.cpp

@ -665,7 +665,7 @@ bool SYMBOL_LIB_TABLE::LoadGlobalTable( SYMBOL_LIB_TABLE& aTable )
aTable.Load( fn.GetFullPath() );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
wxCHECK( settings, false );

9
eeschema/symbol_viewer_frame.cpp

@ -845,7 +845,8 @@ void SYMBOL_VIEWER_FRAME::DClickOnSymbolList( wxCommandEvent& event )
void SYMBOL_VIEWER_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
{
auto cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
SCH_BASE_FRAME::LoadSettings( cfg );
@ -871,7 +872,8 @@ void SYMBOL_VIEWER_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
void SYMBOL_VIEWER_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg)
{
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
SCH_BASE_FRAME::SaveSettings( cfg );
@ -903,7 +905,8 @@ void SYMBOL_VIEWER_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTex
{
SCH_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
GetGalDisplayOptions().ReadWindowSettings( cfg->m_LibViewPanel.window );
GetCanvas()->GetGAL()->SetAxesColor( m_colorSettings->GetColor( LAYER_SCHEMATIC_GRID_AXES ) );

3
eeschema/tools/sch_edit_tool.cpp

@ -1446,7 +1446,8 @@ int SCH_EDIT_TOOL::RepeatDrawItem( const TOOL_EVENT& aEvent )
for( const std::unique_ptr<SCH_ITEM>& item : sourceItems )
{
SCH_ITEM* newItem = item->Duplicate();
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
bool restore_state = false;
// Ensure newItem has a suitable parent: the current screen, because an item from

13
eeschema/tools/sch_move_tool.cpp

@ -404,17 +404,8 @@ int SCH_MOVE_TOOL::Main( const TOOL_EVENT& aEvent )
bool SCH_MOVE_TOOL::doMoveSelection( const TOOL_EVENT& aEvent, SCH_COMMIT* aCommit, bool aIsSlice )
{
EESCHEMA_SETTINGS* cfg = nullptr;
try
{
cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
}
catch( const std::runtime_error& e )
{
wxCHECK_MSG( false, false, e.what() );
}
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
KIGFX::VIEW_CONTROLS* controls = getViewControls();
EE_GRID_HELPER grid( m_toolMgr );
bool wasDragging = m_moveInProgress && m_isDrag;

23
eeschema/tools/symbol_editor_drawing_tools.cpp

@ -81,9 +81,12 @@ bool SYMBOL_EDITOR_DRAWING_TOOLS::Init()
int SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace( const TOOL_EVENT& aEvent )
{
KICAD_T type = aEvent.Parameter<KICAD_T>();
auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
auto* pinTool = type == SCH_PIN_T ? m_toolMgr->GetTool<SYMBOL_EDITOR_PIN_TOOL>() : nullptr;
KICAD_T type = aEvent.Parameter<KICAD_T>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
SYMBOL_EDITOR_PIN_TOOL* pinTool = type == SCH_PIN_T
? m_toolMgr->GetTool<SYMBOL_EDITOR_PIN_TOOL>()
: nullptr;
if( m_inTwoClickPlace )
return 0;
@ -231,8 +234,8 @@ int SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace( const TOOL_EVENT& aEvent )
if( m_drawSpecificBodyStyle )
text->SetBodyStyle( m_frame->GetBodyStyle() );
text->SetTextSize( VECTOR2I( schIUScale.MilsToIU( settings->m_Defaults.text_size ),
schIUScale.MilsToIU( settings->m_Defaults.text_size ) ) );
text->SetTextSize( VECTOR2I( schIUScale.MilsToIU( cfg->m_Defaults.text_size ),
schIUScale.MilsToIU( cfg->m_Defaults.text_size ) ) );
text->SetTextAngle( m_lastTextAngle );
DIALOG_TEXT_PROPERTIES dlg( m_frame, text );
@ -358,8 +361,8 @@ int SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape( const TOOL_EVENT& aEvent, std::opt
SHAPE_T toolType = aDrawingShape.value_or( SHAPE_T::SEGMENT );
KIGFX::VIEW_CONTROLS* controls = getViewControls();
SETTINGS_MANAGER& settingsMgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* settings = settingsMgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
EE_GRID_HELPER grid( m_toolMgr );
VECTOR2I cursorPos;
SHAPE_T shapeType = toolType == SHAPE_T::SEGMENT ? SHAPE_T::POLY : toolType;
@ -460,15 +463,15 @@ int SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape( const TOOL_EVENT& aEvent, std::opt
m_toolMgr->RunAction( EE_ACTIONS::clearSelection );
int lineWidth = schIUScale.MilsToIU( settings->m_Defaults.line_width );
int lineWidth = schIUScale.MilsToIU( cfg->m_Defaults.line_width );
if( isTextBox )
{
SCH_TEXTBOX* textbox = new SCH_TEXTBOX( LAYER_DEVICE, lineWidth, m_lastFillStyle );
textbox->SetParent( symbol );
textbox->SetTextSize( VECTOR2I( schIUScale.MilsToIU( settings->m_Defaults.text_size ),
schIUScale.MilsToIU( settings->m_Defaults.text_size ) ) );
textbox->SetTextSize( VECTOR2I( schIUScale.MilsToIU( cfg->m_Defaults.text_size ),
schIUScale.MilsToIU( cfg->m_Defaults.text_size ) ) );
// Must be after SetTextSize()
textbox->SetBold( m_lastTextBold );

33
eeschema/tools/symbol_editor_pin_tool.cpp

@ -53,8 +53,10 @@ static int GetLastPinLength()
{
if( g_LastPinLength == -1 )
{
auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
g_LastPinLength = schIUScale.MilsToIU( settings->m_Defaults.pin_length );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
g_LastPinLength = schIUScale.MilsToIU( cfg->m_Defaults.pin_length );
}
return g_LastPinLength;
@ -64,8 +66,10 @@ static int GetLastPinNameSize()
{
if( g_LastPinNameSize == -1 )
{
auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
g_LastPinNameSize = schIUScale.MilsToIU( settings->m_Defaults.pin_name_size );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
g_LastPinNameSize = schIUScale.MilsToIU( cfg->m_Defaults.pin_name_size );
}
return g_LastPinNameSize;
@ -75,8 +79,10 @@ static int GetLastPinNumSize()
{
if( g_LastPinNumSize == -1 )
{
auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
g_LastPinNumSize = schIUScale.MilsToIU( settings->m_Defaults.pin_num_size );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
g_LastPinNumSize = schIUScale.MilsToIU( cfg->m_Defaults.pin_num_size );
}
return g_LastPinNumSize;
@ -419,25 +425,26 @@ SCH_PIN* SYMBOL_EDITOR_PIN_TOOL::RepeatPin( const SCH_PIN* aSourcePin )
pin->ClearFlags();
pin->SetFlags( IS_NEW );
auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
SYMBOL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
switch( pin->GetOrientation() )
{
default:
case PIN_ORIENTATION::PIN_RIGHT: step.y = schIUScale.MilsToIU(-settings->m_Repeat.pin_step); break;
case PIN_ORIENTATION::PIN_UP: step.x = schIUScale.MilsToIU(settings->m_Repeat.pin_step); break;
case PIN_ORIENTATION::PIN_DOWN: step.x = schIUScale.MilsToIU(settings->m_Repeat.pin_step); break;
case PIN_ORIENTATION::PIN_LEFT: step.y = schIUScale.MilsToIU(-settings->m_Repeat.pin_step); break;
case PIN_ORIENTATION::PIN_RIGHT: step.y = schIUScale.MilsToIU( -cfg->m_Repeat.pin_step ); break;
case PIN_ORIENTATION::PIN_UP: step.x = schIUScale.MilsToIU( cfg->m_Repeat.pin_step ); break;
case PIN_ORIENTATION::PIN_DOWN: step.x = schIUScale.MilsToIU( cfg->m_Repeat.pin_step) ; break;
case PIN_ORIENTATION::PIN_LEFT: step.y = schIUScale.MilsToIU( -cfg->m_Repeat.pin_step ); break;
}
pin->Move( step );
wxString nextName = pin->GetName();
IncrementString( nextName, settings->m_Repeat.label_delta );
IncrementString( nextName, cfg->m_Repeat.label_delta );
pin->SetName( nextName );
wxString nextNumber = pin->GetNumber();
IncrementString( nextNumber, settings->m_Repeat.label_delta );
IncrementString( nextNumber, cfg->m_Repeat.label_delta );
pin->SetNumber( nextNumber );
if( m_frame->SynchronizePins() )

5
eeschema/widgets/design_block_preview_widget.cpp

@ -48,8 +48,9 @@ DESIGN_BLOCK_PREVIEW_WIDGET::DESIGN_BLOCK_PREVIEW_WIDGET( wxWindow* aParent, boo
m_statusSizer( nullptr ),
m_previewItem( nullptr )
{
auto common_settings = Pgm().GetCommonSettings();
auto app_settings = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COMMON_SETTINGS* common_settings = Pgm().GetCommonSettings();
EESCHEMA_SETTINGS* app_settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
m_galDisplayOptions.ReadConfig( *common_settings, app_settings->m_Window, this );
m_galDisplayOptions.m_forceDisplayCursor = false;

2
eeschema/widgets/panel_design_block_chooser.cpp

@ -64,7 +64,7 @@ PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER( SCH_EDIT_FRAME* aFrame,
DESIGN_BLOCK_LIB_TABLE* libs = m_frame->Prj().DesignBlockLibs();
// Make sure settings are loaded before we start running multi-threaded design block loaders
Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
// Load design block files:
WX_PROGRESS_REPORTER* progressReporter =

8
eeschema/widgets/panel_symbol_chooser.cpp

@ -79,8 +79,8 @@ PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER( SCH_BASE_FRAME* aFrame, wxWindow* aP
PROJECT_FILE& project = m_frame->Prj().GetProjectFile();
// Make sure settings are loaded before we start running multi-threaded symbol loaders
Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>( "symbol_editor" );
m_adapter = SYMBOL_TREE_MODEL_ADAPTER::Create( m_frame, libs );
SYMBOL_TREE_MODEL_ADAPTER* adapter = static_cast<SYMBOL_TREE_MODEL_ADAPTER*>( m_adapter.get() );
@ -374,7 +374,9 @@ wxPanel* PANEL_SYMBOL_CHOOSER::constructRightPanel( wxWindow* aParent )
}
else
{
EESCHEMA_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
backend = (EDA_DRAW_PANEL_GAL::GAL_TYPE) cfg->m_Graphics.canvas_type;
}

5
eeschema/widgets/symbol_preview_widget.cpp

@ -45,8 +45,9 @@ SYMBOL_PREVIEW_WIDGET::SYMBOL_PREVIEW_WIDGET( wxWindow* aParent, KIWAY* aKiway,
m_statusSizer( nullptr ),
m_previewItem( nullptr )
{
auto common_settings = Pgm().GetCommonSettings();
auto app_settings = Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COMMON_SETTINGS* common_settings = Pgm().GetCommonSettings();
EESCHEMA_SETTINGS* app_settings = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
m_galDisplayOptions.ReadConfig( *common_settings, app_settings->m_Window, this );
m_galDisplayOptions.m_forceDisplayCursor = false;

9
gerbview/dialogs/panel_gerbview_color_settings.cpp

@ -32,7 +32,7 @@ PANEL_GERBVIEW_COLOR_SETTINGS::PANEL_GERBVIEW_COLOR_SETTINGS( wxWindow* aParent
m_colorNamespace = "gerbview";
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* app_settings = mgr.GetAppSettings<GERBVIEW_SETTINGS>();
GERBVIEW_SETTINGS* app_settings = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
COLOR_SETTINGS* current = mgr.GetColorSettings( app_settings->m_ColorTheme );
// Colors can also be modified from the LayersManager, so collect last settings if exist
@ -75,9 +75,10 @@ PANEL_GERBVIEW_COLOR_SETTINGS::~PANEL_GERBVIEW_COLOR_SETTINGS()
bool PANEL_GERBVIEW_COLOR_SETTINGS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* app_settings = mgr.GetAppSettings<GERBVIEW_SETTINGS>();
app_settings->m_ColorTheme = m_currentSettings->GetFilename();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
cfg->m_ColorTheme = m_currentSettings->GetFilename();
return true;
}

9
gerbview/dialogs/panel_gerbview_display_options.cpp

@ -43,7 +43,8 @@ static const wxChar* gerberPageSizeList[] =
PANEL_GERBVIEW_DISPLAY_OPTIONS::PANEL_GERBVIEW_DISPLAY_OPTIONS( wxWindow* aParent ) :
PANEL_GERBVIEW_DISPLAY_OPTIONS_BASE( aParent, wxID_ANY )
{
GERBVIEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
m_galOptsPanel = new GAL_OPTIONS_PANEL( this, cfg );
m_galOptionsSizer->Add( m_galOptsPanel, 0, wxEXPAND|wxRIGHT, 15 );
@ -78,7 +79,8 @@ bool PANEL_GERBVIEW_DISPLAY_OPTIONS::TransferDataToWindow()
{
m_galOptsPanel->TransferDataToWindow();
GERBVIEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
loadSettings( cfg );
@ -88,7 +90,8 @@ bool PANEL_GERBVIEW_DISPLAY_OPTIONS::TransferDataToWindow()
bool PANEL_GERBVIEW_DISPLAY_OPTIONS::TransferDataFromWindow()
{
GERBVIEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
m_galOptsPanel->TransferDataFromWindow();

21
gerbview/dialogs/panel_gerbview_excellon_settings.cpp

@ -39,9 +39,11 @@ PANEL_GERBVIEW_EXCELLON_SETTINGS::PANEL_GERBVIEW_EXCELLON_SETTINGS( wxWindow* aP
bool PANEL_GERBVIEW_EXCELLON_SETTINGS::TransferDataToWindow( )
{
GERBVIEW_SETTINGS* config = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
EXCELLON_DEFAULTS curr_settings;
config->GetExcellonDefaults( curr_settings );
cfg->GetExcellonDefaults( curr_settings );
applySettingsToPanel( curr_settings );
@ -51,16 +53,17 @@ bool PANEL_GERBVIEW_EXCELLON_SETTINGS::TransferDataToWindow( )
bool PANEL_GERBVIEW_EXCELLON_SETTINGS::TransferDataFromWindow()
{
GERBVIEW_SETTINGS* config = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
config->m_ExcellonDefaults.m_UnitsMM = m_rbUnits->GetSelection() != 0;
config->m_ExcellonDefaults.m_LeadingZero = m_rbZeroFormat->GetSelection();
cfg->m_ExcellonDefaults.m_UnitsMM = m_rbUnits->GetSelection() != 0;
cfg->m_ExcellonDefaults.m_LeadingZero = m_rbZeroFormat->GetSelection();
// The first value of these param is 2, not 0
#define FIRST_VALUE 2
config->m_ExcellonDefaults.m_MmIntegerLen = m_choiceIntegerMM->GetSelection()+FIRST_VALUE;
config->m_ExcellonDefaults.m_MmMantissaLen = m_choiceMantissaMM->GetSelection()+FIRST_VALUE;
config->m_ExcellonDefaults.m_InchIntegerLen = m_choiceIntegerInch->GetSelection()+FIRST_VALUE;
config->m_ExcellonDefaults.m_InchMantissaLen = m_choiceMantissaInch->GetSelection()+FIRST_VALUE;
cfg->m_ExcellonDefaults.m_MmIntegerLen = m_choiceIntegerMM->GetSelection()+FIRST_VALUE;
cfg->m_ExcellonDefaults.m_MmMantissaLen = m_choiceMantissaMM->GetSelection()+FIRST_VALUE;
cfg->m_ExcellonDefaults.m_InchIntegerLen = m_choiceIntegerInch->GetSelection()+FIRST_VALUE;
cfg->m_ExcellonDefaults.m_InchMantissaLen = m_choiceMantissaInch->GetSelection()+FIRST_VALUE;
return true;
}

2
gerbview/gerbview.cpp

@ -79,7 +79,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_GBR_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_GERBER, false );
if( frame )

6
gerbview/gerbview_frame.cpp

@ -392,7 +392,7 @@ void GERBVIEW_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
COLOR_SETTINGS* GERBVIEW_FRAME::GetColorSettings( bool aForceRefresh ) const
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
wxString currentTheme = cfg->m_ColorTheme;
return mgr.GetColorSettings( currentTheme );
}
@ -1215,7 +1215,9 @@ void GERBVIEW_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVars
EDA_DRAW_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
// Update gal display options like cursor shape, grid options:
GERBVIEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
GERBVIEW_SETTINGS* cfg = mgr.GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );
SetPageSettings( PAGE_INFO( gvconfig()->m_Appearance.page_type ) );

2
gerbview/gerbview_painter.cpp

@ -37,7 +37,7 @@ using namespace KIGFX;
GERBVIEW_SETTINGS* gvconfig()
{
return Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>();
return Pgm().GetSettingsManager().GetAppSettings<GERBVIEW_SETTINGS>( "gerbview" );
}

47
include/settings/settings_manager.h

@ -93,11 +93,12 @@ public:
* settings manager and returns a pointer to it.
*
* @tparam T is a type derived from APP_SETTINGS_BASE
* @param aLoadNow is true to load the registered file from disk immediately
* @param aFilename is used to find the correct settings under clang (where
* RTTI doesn't work across compile boundaries)
* @return a pointer to a loaded settings object
*/
template<typename T>
T* GetAppSettings()
T* GetAppSettings( const wxString& aFilename )
{
T* ret = nullptr;
size_t typeHash = typeid( T ).hash_code();
@ -108,50 +109,23 @@ public:
if( ret )
return ret;
#if defined(__clang__)
auto it = std::find_if( m_settings.begin(), m_settings.end(),
[]( const std::unique_ptr<JSON_SETTINGS>& aSettings )
[&]( const std::unique_ptr<JSON_SETTINGS>& aSettings )
{
return dynamic_cast<T*>( aSettings.get() );
return aSettings->GetFilename() == aFilename;
} );
if( it != m_settings.end() )
{
ret = dynamic_cast<T*>( it->get() );
}
else
{
throw std::runtime_error( "Tried to GetAppSettings before registering" );
}
m_app_settings_cache[typeHash] = ret;
return ret;
}
template<typename T>
T* GetAppSettings( const wxString& aFilename )
{
#ifndef __WXMAC__
return GetAppSettings<T>();
#else
T* ret = nullptr;
size_t typeHash = typeid( T ).hash_code();
if( m_app_settings_cache.count( typeHash ) )
ret = static_cast<T*>( m_app_settings_cache.at( typeHash ) );
if( ret )
return ret;
auto it = std::find_if( m_settings.begin(), m_settings.end(),
[&]( const std::unique_ptr<JSON_SETTINGS>& aSettings )
[]( const std::unique_ptr<JSON_SETTINGS>& aSettings )
{
return aSettings->GetFilename() == aFilename;
return dynamic_cast<T*>( aSettings.get() );
} );
#endif
if( it != m_settings.end() )
{
ret = static_cast<T*>( it->get() );
ret = dynamic_cast<T*>( it->get() );
}
else
{
@ -161,7 +135,6 @@ public:
m_app_settings_cache[typeHash] = ret;
return ret;
#endif
}
/**

2
kicad/dialogs/dialog_update_check_prompt.cpp

@ -39,7 +39,7 @@ DIALOG_UPDATE_CHECK_PROMPT::DIALOG_UPDATE_CHECK_PROMPT( wxWindow* aWindow ) :
bool DIALOG_UPDATE_CHECK_PROMPT::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
settings->m_PcmUpdateCheck = m_cbPCMUpdates->GetValue();
#ifndef KICAD_UPDATE_CHECK

4
kicad/pcm/dialogs/dialog_pcm.cpp

@ -244,9 +244,9 @@ void DIALOG_PCM::OnManageRepositoriesClicked( wxCommandEvent& event )
m_pcm->SetRepositoryList( dialog_data );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* app_settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
app_settings->m_PcmRepositories = std::move( dialog_data );
cfg->m_PcmRepositories = std::move( dialog_data );
setRepositoryListFromPcm();
}

6
kicad/pcm/dialogs/panel_packages_view.cpp

@ -524,10 +524,10 @@ void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
const wxString& url = *ver_it->download_url;
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* app_settings = mgr.GetAppSettings<KICAD_SETTINGS>();
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
wxWindow* topLevelParent = wxGetTopLevelParent( this );
wxFileDialog dialog( topLevelParent, _( "Save Package" ), app_settings->m_PcmLastDownloadDir,
wxFileDialog dialog( topLevelParent, _( "Save Package" ), cfg->m_PcmLastDownloadDir,
wxString::Format( wxT( "%s_v%s.zip" ), package.identifier, version ),
wxT( "ZIP files (*.zip)|*.zip" ), wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
@ -535,7 +535,7 @@ void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
return;
wxString path = dialog.GetPath();
app_settings->m_PcmLastDownloadDir = wxPathOnly( path );
cfg->m_PcmLastDownloadDir = wxPathOnly( path );
std::ofstream output( path.ToUTF8(), std::ios_base::binary );

6
kicad/tools/kicad_manager_control.cpp

@ -225,7 +225,8 @@ int KICAD_MANAGER_CONTROL::NewJobsetFile( const TOOL_EVENT& aEvent )
int KICAD_MANAGER_CONTROL::NewFromTemplate( const TOOL_EVENT& aEvent )
{
KICAD_SETTINGS* settings = Pgm().GetSettingsManager().GetAppSettings<KICAD_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
DIALOG_TEMPLATE_SELECTOR* ps = new DIALOG_TEMPLATE_SELECTOR( m_frame, settings->m_TemplateWindowPos,
settings->m_TemplateWindowSize );
@ -942,7 +943,8 @@ int KICAD_MANAGER_CONTROL::ShowPluginManager( const TOOL_EVENT& aEvent )
m_frame->Kiway().ExpressMail( FRAME_PCB_EDITOR, MAIL_RELOAD_PLUGINS, payload );
}
KICAD_SETTINGS* settings = Pgm().GetSettingsManager().GetAppSettings<KICAD_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
if( changed.count( PCM_PACKAGE_TYPE::PT_LIBRARY )
&& ( settings->m_PcmLibAutoAdd || settings->m_PcmLibAutoRemove ) )

7
kicad/update_manager.cpp

@ -201,7 +201,8 @@ void UPDATE_MANAGER::CheckForUpdate( wxWindow* aNoticeParent )
requestContent.current_version = verString;
requestContent.lang = Pgm().GetLanguageTag();
KICAD_SETTINGS* settings = Pgm().GetSettingsManager().GetAppSettings<KICAD_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* settings = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
requestContent.last_check = settings->m_lastUpdateCheckTime;
@ -240,8 +241,8 @@ void UPDATE_MANAGER::CheckForUpdate( wxWindow* aNoticeParent )
// basically saving the last received update prevents us from
// prompting again
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
KICAD_SETTINGS* curr_settings = mgr.GetAppSettings<KICAD_SETTINGS>();
curr_settings->m_lastReceivedUpdate = response.version;
KICAD_SETTINGS* cfg = mgr.GetAppSettings<KICAD_SETTINGS>( "kicad" );
cfg->m_lastReceivedUpdate = response.version;
}
} );
}

14
pagelayout_editor/dialogs/panel_pl_editor_color_settings.cpp

@ -31,9 +31,9 @@ PANEL_PL_EDITOR_COLOR_SETTINGS::PANEL_PL_EDITOR_COLOR_SETTINGS( wxWindow* aParen
bool PANEL_PL_EDITOR_COLOR_SETTINGS::TransferDataToWindow()
{
PL_EDITOR_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PL_EDITOR_SETTINGS>();
COLOR_SETTINGS* current = Pgm().GetSettingsManager().GetColorSettings( cfg->m_ColorTheme );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
COLOR_SETTINGS* current = Pgm().GetSettingsManager().GetColorSettings( cfg->m_ColorTheme );
int width = 0;
int height = 0;
@ -66,9 +66,11 @@ bool PANEL_PL_EDITOR_COLOR_SETTINGS::TransferDataFromWindow()
if( sel >= 0 )
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COLOR_SETTINGS* colors = static_cast<COLOR_SETTINGS*>( m_themes->GetClientData( sel ) );
mgr.GetAppSettings<PL_EDITOR_SETTINGS>()->m_ColorTheme = colors->GetFilename();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
COLOR_SETTINGS* colors = static_cast<COLOR_SETTINGS*>( m_themes->GetClientData( sel ) );
cfg->m_ColorTheme = colors->GetFilename();
}
return true;

7
pagelayout_editor/pl_draw_panel_gal.cpp

@ -54,9 +54,10 @@ PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindo
m_painter = std::make_unique<KIGFX::DS_PAINTER>( m_gal );
SETTINGS_MANAGER& settingsManager = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = settingsManager.GetAppSettings<PL_EDITOR_SETTINGS>();
m_painter->GetSettings()->LoadColors( settingsManager.GetColorSettings( cfg->m_ColorTheme ) );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
m_painter->GetSettings()->LoadColors( mgr.GetColorSettings( cfg->m_ColorTheme ) );
m_view->SetPainter( m_painter.get() );
// This fixes the zoom in and zoom out limits

4
pagelayout_editor/pl_editor.cpp

@ -65,7 +65,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_DS_DISPLAY_OPTIONS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
return new PANEL_PL_EDITOR_DISPLAY_OPTIONS( aParent, cfg );
}
@ -73,7 +73,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_DS_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_PL_EDITOR, false );
if( frame )

6
pagelayout_editor/pl_editor_frame.cpp

@ -638,9 +638,9 @@ void PL_EDITOR_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextVar
{
EDA_DRAW_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
SETTINGS_MANAGER& settingsManager = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = settingsManager.GetAppSettings<PL_EDITOR_SETTINGS>();
COLOR_SETTINGS* colors = settingsManager.GetColorSettings( cfg->m_ColorTheme );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PL_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<PL_EDITOR_SETTINGS>( "pl_editor" );
COLOR_SETTINGS* colors = mgr.GetColorSettings( cfg->m_ColorTheme );
// Update gal display options like cursor shape, grid options:
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );

6
pcbnew/dialogs/dialog_export_2581.cpp

@ -244,7 +244,8 @@ void DIALOG_EXPORT_2581::onDistPNChange( wxCommandEvent& event )
bool DIALOG_EXPORT_2581::Init()
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
std::set<wxString> options;
BOARD* board = m_parent->GetBoard();
@ -352,7 +353,8 @@ bool DIALOG_EXPORT_2581::TransferDataFromWindow()
{
if( !m_job )
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
cfg->m_Export2581.units = m_choiceUnits->GetSelection();
cfg->m_Export2581.precision = m_precision->GetValue();

6
pcbnew/dialogs/dialog_export_odbpp.cpp

@ -123,7 +123,8 @@ void DIALOG_EXPORT_ODBPP::onOKClick( wxCommandEvent& event )
bool DIALOG_EXPORT_ODBPP::Init()
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( !m_job )
{
@ -146,7 +147,8 @@ bool DIALOG_EXPORT_ODBPP::TransferDataFromWindow()
{
if( !m_job )
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
cfg->m_ExportODBPP.units = m_choiceUnits->GetSelection();
cfg->m_ExportODBPP.precision = m_precision->GetValue();

3
pcbnew/dialogs/dialog_footprint_chooser.cpp

@ -188,7 +188,8 @@ void DIALOG_FOOTPRINT_CHOOSER::build3DCanvas()
// TODO(JE) use all control options
m_boardAdapter.m_MousewheelPanning = settings->m_Input.scroll_modifier_zoom != 0;
auto* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
if( cfg )
{

15
pcbnew/dialogs/dialog_footprint_wizard_list.cpp

@ -52,7 +52,8 @@ DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
{
initLists();
auto cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
wxSize size;
size.x = cfg->m_FootprintWizardList.width;
@ -68,16 +69,8 @@ DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
DIALOG_FOOTPRINT_WIZARD_LIST::~DIALOG_FOOTPRINT_WIZARD_LIST()
{
PCBNEW_SETTINGS* cfg = nullptr;
try
{
cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
}
catch( const std::runtime_error& e )
{
wxFAIL_MSG( e.what() );
}
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg && !IsIconized() )
{

2
pcbnew/dialogs/dialog_plot.cpp

@ -1167,7 +1167,7 @@ void DIALOG_PLOT::Plot( wxCommandEvent& event )
applyPlotSettings();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
m_plotOpts.SetColorSettings( mgr.GetColorSettings( cfg->m_ColorTheme ) );

8
pcbnew/dialogs/panel_edit_options.cpp

@ -108,13 +108,13 @@ bool PANEL_EDIT_OPTIONS::TransferDataToWindow()
if( m_isFootprintEditor )
{
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
loadFPSettings( cfg );
}
else
{
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
loadPCBSettings( cfg );
}
@ -129,7 +129,7 @@ bool PANEL_EDIT_OPTIONS::TransferDataFromWindow()
if( m_isFootprintEditor )
{
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
cfg->m_RotationAngle = m_rotationAngle.GetAngleValue();
@ -142,7 +142,7 @@ bool PANEL_EDIT_OPTIONS::TransferDataFromWindow()
}
else
{
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
cfg->m_Display.m_DisplayRatsnestLinesCurved = m_OptDisplayCurvedRatsnestLines->GetValue();
cfg->m_Display.m_ShowModuleRatsnest = m_showSelectedRatsnest->GetValue();

13
pcbnew/dialogs/panel_fp_editor_color_settings.cpp

@ -34,8 +34,8 @@ PANEL_FP_EDITOR_COLOR_SETTINGS::PANEL_FP_EDITOR_COLOR_SETTINGS( wxWindow* aParen
m_colorNamespace = "board";
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* settings = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
COLOR_SETTINGS* current = mgr.GetColorSettings( settings->m_ColorTheme );
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
COLOR_SETTINGS* current = mgr.GetColorSettings( cfg->m_ColorTheme );
// Store the current settings before reloading below
current->Store();
@ -46,7 +46,7 @@ PANEL_FP_EDITOR_COLOR_SETTINGS::PANEL_FP_EDITOR_COLOR_SETTINGS( wxWindow* aParen
m_currentSettings = new COLOR_SETTINGS( *current );
mgr.ReloadColorSettings();
createThemeList( settings->m_ColorTheme );
createThemeList( cfg->m_ColorTheme );
m_validLayers.push_back( F_Cu );
m_validLayers.push_back( In1_Cu ); // "Internal Layers"
@ -78,9 +78,10 @@ PANEL_FP_EDITOR_COLOR_SETTINGS::~PANEL_FP_EDITOR_COLOR_SETTINGS()
bool PANEL_FP_EDITOR_COLOR_SETTINGS::TransferDataFromWindow()
{
SETTINGS_MANAGER& settingsMgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* settings = settingsMgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
settings->m_ColorTheme = m_currentSettings->GetFilename();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
cfg->m_ColorTheme = m_currentSettings->GetFilename();
return true;
}

4
pcbnew/dialogs/panel_fp_editor_defaults.cpp

@ -318,7 +318,7 @@ void PANEL_FP_EDITOR_DEFAULTS::loadFPSettings( FOOTPRINT_EDITOR_SETTINGS* aCfg )
bool PANEL_FP_EDITOR_DEFAULTS::TransferDataToWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
loadFPSettings( cfg );
@ -355,7 +355,7 @@ bool PANEL_FP_EDITOR_DEFAULTS::TransferDataFromWindow()
return false;
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
BOARD_DESIGN_SETTINGS& cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_DesignSettings;
BOARD_DESIGN_SETTINGS& cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_DesignSettings;
// A minimal value for sizes and thickness:
const int minWidth = pcbIUScale.mmToIU( MINIMUM_LINE_WIDTH_MM );

9
pcbnew/dialogs/panel_fp_lib_table.cpp

@ -317,7 +317,8 @@ protected:
void PANEL_FP_LIB_TABLE::setupGrid( WX_GRID* aGrid )
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
auto autoSizeCol = [&]( WX_GRID* aLocGrid, int aCol )
{
@ -408,7 +409,8 @@ PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE( DIALOG_EDIT_LIBRARY_TABLES* aParent, PRO
m_pluginChoices.Add( PCB_IO_MGR::ShowType( fileType ) );
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg->m_lastFootprintLibDir.IsEmpty() )
cfg->m_lastFootprintLibDir = PATHS::GetDefaultUserFootprintsPath();
@ -951,7 +953,8 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event )
}
const IO_BASE::IO_FILE_DESC& fileDesc = m_supportedFpFiles.at( fileType );
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
wxString title = wxString::Format( _( "Select %s Library" ), PCB_IO_MGR::ShowType( fileType ) );
wxString openDir = cfg->m_lastFootprintLibDir;

3
pcbnew/dialogs/panel_fp_properties_3d_model.cpp

@ -84,7 +84,8 @@ PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL( PCB_BASE_EDIT_FRAME*
m_modelsGrid->PushEventHandler( trick );
// Get the last 3D directory
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg->m_lastFootprint3dDir.IsEmpty() )
{

5
pcbnew/dialogs/panel_pcb_display_options.cpp

@ -69,7 +69,7 @@ bool PANEL_PCB_DISPLAY_OPTIONS::TransferDataToWindow()
if( m_isPCBEdit )
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
loadPCBSettings( cfg );
}
@ -89,7 +89,8 @@ bool PANEL_PCB_DISPLAY_OPTIONS::TransferDataFromWindow()
if( m_isPCBEdit )
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
int i = m_OptDisplayTracksClearance->GetSelection();
cfg->m_Display.m_TrackClearance = UTIL::GetValFromConfig( clearanceModeMap, i );

17
pcbnew/dialogs/panel_pcbnew_color_settings.cpp

@ -691,15 +691,15 @@ PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS( wxWindow* aParent, BOA
{
m_colorNamespace = "board";
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* app_settings = mgr.GetAppSettings<PCBNEW_SETTINGS>();
COLOR_SETTINGS* current = mgr.GetColorSettings( app_settings->m_ColorTheme );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
COLOR_SETTINGS* current = mgr.GetColorSettings( cfg->m_ColorTheme );
// Saved theme doesn't exist? Reset to default
if( current->GetFilename() != app_settings->m_ColorTheme )
app_settings->m_ColorTheme = current->GetFilename();
if( current->GetFilename() != cfg->m_ColorTheme )
cfg->m_ColorTheme = current->GetFilename();
createThemeList( app_settings->m_ColorTheme );
createThemeList( cfg->m_ColorTheme );
// Currently this only applies to eeschema
m_optOverrideColors->Hide();
@ -740,8 +740,9 @@ PANEL_PCBNEW_COLOR_SETTINGS::~PANEL_PCBNEW_COLOR_SETTINGS()
bool PANEL_PCBNEW_COLOR_SETTINGS::TransferDataFromWindow()
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* app_settings = mgr.GetAppSettings<PCBNEW_SETTINGS>();
app_settings->m_ColorTheme = m_currentSettings->GetFilename();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
cfg->m_ColorTheme = m_currentSettings->GetFilename();
return true;
}

4
pcbnew/footprint_chooser_frame.cpp

@ -597,7 +597,9 @@ void FOOTPRINT_CHOOSER_FRAME::build3DCanvas()
m_boardAdapter.m_IsBoardView = false;
m_boardAdapter.m_IsPreviewer = true; // Force display 3D models, regardless the 3D viewer options
EDA_3D_VIEWER_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
m_boardAdapter.m_Cfg = cfg;
// Build the 3D canvas

16
pcbnew/footprint_edit_frame.cpp

@ -641,7 +641,11 @@ void FOOTPRINT_EDIT_FRAME::SetPlotSettings( const PCB_PLOT_PARAMS& aSettings )
FOOTPRINT_EDITOR_SETTINGS* FOOTPRINT_EDIT_FRAME::GetSettings()
{
if( !m_editorSettings )
m_editorSettings = Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
m_editorSettings = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
}
return m_editorSettings;
}
@ -649,8 +653,10 @@ FOOTPRINT_EDITOR_SETTINGS* FOOTPRINT_EDIT_FRAME::GetSettings()
APP_SETTINGS_BASE* FOOTPRINT_EDIT_FRAME::config() const
{
return m_editorSettings ? m_editorSettings
: Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
if( m_editorSettings )
return m_editorSettings;
return Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
}
@ -1384,7 +1390,9 @@ void FOOTPRINT_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTe
{
PCB_BASE_EDIT_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
auto cfg = Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );
GetBoard()->GetDesignSettings() = cfg->m_DesignSettings;

11
pcbnew/footprint_viewer_frame.cpp

@ -811,7 +811,9 @@ void FOOTPRINT_VIEWER_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
PCB_BASE_FRAME::LoadSettings( aCfg );
// Fetch display and grid settings from Footprint Editor
auto* fpedit = Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* fpedit = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
m_displayOptions = fpedit->m_Display;
GetGalDisplayOptions().ReadWindowSettings( fpedit->m_Window );
@ -861,12 +863,13 @@ WINDOW_SETTINGS* FOOTPRINT_VIEWER_FRAME::GetWindowSettings( APP_SETTINGS_BASE* a
COLOR_SETTINGS* FOOTPRINT_VIEWER_FRAME::GetColorSettings( bool aForceRefresh ) const
{
auto* cfg = Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
if( cfg )
return Pgm().GetSettingsManager().GetColorSettings( cfg->m_ColorTheme );
return mgr.GetColorSettings( cfg->m_ColorTheme );
else
return Pgm().GetSettingsManager().GetColorSettings();
return mgr.GetColorSettings();
}

55
pcbnew/pcbnew.cpp

@ -148,17 +148,17 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_FP_DISPLAY_OPTIONS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
return new PANEL_PCB_DISPLAY_OPTIONS( aParent, cfg );
}
case PANEL_FP_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
if( !frame )
frame = aKiway->Player( FRAME_FOOTPRINT_VIEWER, false );
@ -174,8 +174,8 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_FP_ORIGINS_AXES:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
return new PANEL_PCBNEW_DISPLAY_ORIGIN( aParent, cfg, FRAME_FOOTPRINT_EDITOR );
}
@ -217,17 +217,17 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_PCB_DISPLAY_OPTS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
return new PANEL_PCB_DISPLAY_OPTIONS( aParent, cfg );
}
case PANEL_PCB_GRIDS:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_PCB_EDITOR, false );
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
EDA_BASE_FRAME* frame = aKiway->Player( FRAME_PCB_EDITOR, false );
if( !frame )
frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
@ -243,8 +243,8 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
case PANEL_PCB_ORIGINS_AXES:
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
APP_SETTINGS_BASE* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
return new PANEL_PCBNEW_DISPLAY_ORIGIN( aParent, cfg, FRAME_PCB_EDITOR );
}
@ -380,34 +380,31 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits, KIWAY* aKiway )
// This is process-level-initialization, not project-level-initialization of the DSO.
// Do nothing in here pertinent to a project!
InitSettings( new PCBNEW_SETTINGS );
aProgram->GetSettingsManager().RegisterSettings( new FOOTPRINT_EDITOR_SETTINGS );
aProgram->GetSettingsManager().RegisterSettings( new EDA_3D_VIEWER_SETTINGS );
SETTINGS_MANAGER& mgr = aProgram->GetSettingsManager();
mgr.RegisterSettings( new FOOTPRINT_EDITOR_SETTINGS );
mgr.RegisterSettings( new EDA_3D_VIEWER_SETTINGS );
// We intentionally register KifaceSettings after FOOTPRINT_EDITOR_SETTINGS and EDA_3D_VIEWER_SETTINGS
// In legacy configs, many settings were in a single editor config and the migration routine
// for the main editor file will try and call into the now separate settings stores
// to move the settings into them
aProgram->GetSettingsManager().RegisterSettings( KifaceSettings() );
mgr.RegisterSettings( KifaceSettings() );
// Register the footprint editor settings as well because they share a KiFACE and need to be
// loaded prior to use to avoid threading deadlocks
aProgram->GetSettingsManager().RegisterSettings( new CVPCB_SETTINGS );
mgr.RegisterSettings( new CVPCB_SETTINGS );
start_common( aCtlBits );
if( !loadGlobalLibTable() )
{
// we didnt get anywhere deregister the
aProgram->GetSettingsManager().FlushAndRelease(
aProgram->GetSettingsManager().GetAppSettings<CVPCB_SETTINGS>(), false );
aProgram->GetSettingsManager().FlushAndRelease( KifaceSettings(), false );
aProgram->GetSettingsManager().FlushAndRelease(
aProgram->GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>(), false );
aProgram->GetSettingsManager().FlushAndRelease(
aProgram->GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>(), false );
// we didnt get anywhere deregister the settings
mgr.FlushAndRelease( mgr.GetAppSettings<CVPCB_SETTINGS>( "cvpcb" ), false );
mgr.FlushAndRelease( KifaceSettings(), false );
mgr.FlushAndRelease( mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" ), false );
mgr.FlushAndRelease( mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" ), false );
return false;
}

7
pcbnew/pcbnew_jobs_handler.cpp

@ -443,11 +443,10 @@ int PCBNEW_JOBS_HANDLER::JobExportRender( JOB* aJob )
boardAdapter.SetBoard( brd );
boardAdapter.m_IsBoardView = false;
boardAdapter.m_IsPreviewer =
true; // Force display 3D models, regardless the 3D viewer options
boardAdapter.m_IsPreviewer = true; // Force display 3D models, regardless of 3D viewer options
EDA_3D_VIEWER_SETTINGS* cfg =
Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
EDA_3D_VIEWER_SETTINGS* cfg = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
if( aRenderJob->m_quality == JOB_PCB_RENDER::QUALITY::BASIC )
{

11
pcbnew/pcbnew_printout.cpp

@ -38,6 +38,7 @@
#include <pad.h>
#include <advanced_config.h>
#include <pgm_base.h>
PCBNEW_PRINTOUT_SETTINGS::PCBNEW_PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo ) :
BOARD_PRINTOUT_SETTINGS( aPageInfo )
@ -53,7 +54,10 @@ void PCBNEW_PRINTOUT_SETTINGS::Load( APP_SETTINGS_BASE* aConfig )
{
BOARD_PRINTOUT_SETTINGS::Load( aConfig );
if( PCBNEW_SETTINGS* cfg = dynamic_cast<PCBNEW_SETTINGS*>( aConfig ) )
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg )
{
m_DrillMarks = static_cast<DRILL_MARKS>( cfg->m_Plot.pads_drill_mode );
m_Pagination = static_cast<PAGINATION_T>( cfg->m_Plot.all_layers_on_one_page );
@ -68,7 +72,10 @@ void PCBNEW_PRINTOUT_SETTINGS::Save( APP_SETTINGS_BASE* aConfig )
{
BOARD_PRINTOUT_SETTINGS::Save( aConfig );
if( PCBNEW_SETTINGS* cfg = dynamic_cast<PCBNEW_SETTINGS*>( aConfig ) )
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
if( cfg )
{
cfg->m_Plot.pads_drill_mode = (int)m_DrillMarks;
cfg->m_Plot.all_layers_on_one_page = m_Pagination;

9
pcbnew/pcbnew_settings.cpp

@ -937,7 +937,8 @@ bool PCBNEW_SETTINGS::MigrateFromLegacy( wxConfigBase* aCfg )
// Migrate color settings that were stored in the pcbnew config file
COLOR_SETTINGS* cs = Pgm().GetSettingsManager().GetMigratedColorSettings();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
COLOR_SETTINGS* cs = mgr.GetMigratedColorSettings();
auto migrateLegacyColor =
[&] ( const std::string& aKey, int aLayerId )
@ -967,7 +968,7 @@ bool PCBNEW_SETTINGS::MigrateFromLegacy( wxConfigBase* aCfg )
migrateLegacyColor( "Color4DWorksheet", LAYER_DRAWINGSHEET );
migrateLegacyColor( "Color4DGrid", LAYER_PAGE_LIMITS );
Pgm().GetSettingsManager().SaveColorSettings( cs, "board" );
mgr.SaveColorSettings( cs, "board" );
Set( "appearance.color_theme", cs->GetFilename() );
@ -987,12 +988,12 @@ bool PCBNEW_SETTINGS::MigrateFromLegacy( wxConfigBase* aCfg )
}
// Footprint editor settings were stored in pcbnew config file. Migrate them here.
auto fpedit = Pgm().GetSettingsManager().GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
FOOTPRINT_EDITOR_SETTINGS* fpedit = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
fpedit->MigrateFromLegacy( aCfg );
fpedit->Load();
// Same with 3D viewer
auto viewer3d = Pgm().GetSettingsManager().GetAppSettings<EDA_3D_VIEWER_SETTINGS>();
EDA_3D_VIEWER_SETTINGS* viewer3d = mgr.GetAppSettings<EDA_3D_VIEWER_SETTINGS>( "3d_viewer" );
viewer3d->MigrateFromLegacy( aCfg );
viewer3d->Load();

6
pcbnew/python/scripting/pcbnew_action_plugins.cpp

@ -531,7 +531,8 @@ void PCB_EDIT_FRAME::AddActionPluginTools()
std::vector<ACTION_PLUGIN*> PCB_EDIT_FRAME::GetOrderedActionPlugins()
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
std::vector<ACTION_PLUGIN*> plugins;
std::vector<ACTION_PLUGIN*> orderedPlugins;
@ -566,7 +567,8 @@ std::vector<ACTION_PLUGIN*> PCB_EDIT_FRAME::GetOrderedActionPlugins()
bool PCB_EDIT_FRAME::GetActionPluginButtonVisible( const wxString& aPluginPath,
bool aPluginDefault )
{
PCBNEW_SETTINGS* cfg = Pgm().GetSettingsManager().GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" );
for( const auto& entry : cfg->m_VisibleActionPlugins )
{

4
pcbnew/sel_layer.cpp

@ -67,8 +67,8 @@ COLOR4D PCB_LAYER_PRESENTATION::getLayerColor( int aLayer ) const
else
{
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
FOOTPRINT_EDITOR_SETTINGS* settings = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>();
COLOR_SETTINGS* current = mgr.GetColorSettings( settings->m_ColorTheme );
FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" );
COLOR_SETTINGS* current = mgr.GetColorSettings( cfg->m_ColorTheme );
return current->GetColor( aLayer );
}

8
pcbnew/tools/drawing_tool.cpp

@ -338,9 +338,9 @@ void DRAWING_TOOL::UpdateStatusBar() const
bool constrained;
if( m_frame->IsType( FRAME_PCB_EDITOR ) )
constrained = mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit;
constrained = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit;
else
constrained = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit;
constrained = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit;
m_frame->DisplayConstraintsMsg( constrained ? _( "Constrain to H, V, 45" ) : wxString( "" ) );
}
@ -2113,9 +2113,9 @@ int DRAWING_TOOL::ToggleHV45Mode( const TOOL_EVENT& toolEvent )
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
if( frame()->IsType( FRAME_PCB_EDITOR ) )
TOGGLE( mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit );
TOGGLE( mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit );
else
TOGGLE( mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit );
TOGGLE( mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit );
UpdateStatusBar();

4
pcbnew/tools/pcb_editor_conditions.cpp

@ -191,7 +191,7 @@ bool PCB_EDITOR_CONDITIONS::get45degModeFunc( const SELECTION& aSelection, PCB_B
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
if( aFrame->IsType( FRAME_PCB_EDITOR ) )
return mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit;
return mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit;
else
return mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit;
return mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit;
}

4
pcbnew/tools/pcb_tool_base.cpp

@ -333,9 +333,9 @@ bool PCB_TOOL_BASE::Is45Limited() const
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
if( frame()->IsType( FRAME_PCB_EDITOR ) )
return mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit;
return mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit;
else
return mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit;
return mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit;
}

4
pcbnew/tools/pcb_viewer_tools.cpp

@ -323,9 +323,9 @@ int PCB_VIEWER_TOOLS::MeasureTool( const TOOL_EVENT& aEvent )
bool force45Deg;
if( frame()->IsType( FRAME_PCB_EDITOR ) )
force45Deg = mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit;
force45Deg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit;
else
force45Deg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit;
force45Deg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit;
twoPtMgr.SetAngleSnap( force45Deg );
twoPtMgr.SetEnd( cursorPos );

4
pcbnew/tools/position_relative_tool.cpp

@ -326,9 +326,9 @@ int POSITION_RELATIVE_TOOL::PositionRelativeInteractively( const TOOL_EVENT& aEv
bool force45Deg;
if( frame()->IsType( FRAME_PCB_EDITOR ) )
force45Deg = mgr.GetAppSettings<PCBNEW_SETTINGS>()->m_Use45DegreeLimit;
force45Deg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" )->m_Use45DegreeLimit;
else
force45Deg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>()->m_Use45Limit;
force45Deg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" )->m_Use45Limit;
twoPtMgr.SetAngleSnap( force45Deg );
twoPtMgr.SetEnd( cursorPos );

8
qa/qa_utils/pcb_test_frame.cpp

@ -90,12 +90,8 @@ void PCB_TEST_FRAME_BASE::SetBoard( std::shared_ptr<BOARD> b )
KI_TRACE( traceGalProfile, "%s\n", cntView.to_string() );
#ifdef USE_TOOL_MANAGER
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
mgr.RegisterSettings( new PCBNEW_SETTINGS, false );
PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>();
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
PCBNEW_SETTINGS* cfg = mgr.RegisterSettings( new PCBNEW_SETTINGS, false );
m_toolManager = new TOOL_MANAGER;

Loading…
Cancel
Save