diff --git a/pcbnew/dialogs/dialog_update_pcb.cpp b/pcbnew/dialogs/dialog_update_pcb.cpp index dfc79ca841..ce2751e2c1 100644 --- a/pcbnew/dialogs/dialog_update_pcb.cpp +++ b/pcbnew/dialogs/dialog_update_pcb.cpp @@ -52,6 +52,7 @@ DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB( PCB_EDIT_FRAME* aParent, NETLIST* aNetlist { auto cfg = m_frame->GetSettings(); + m_cbRelinkFootprints->SetValue( cfg->m_NetlistDialog.associate_by_ref_sch ); m_cbUpdateFootprints->SetValue( cfg->m_NetlistDialog.update_footprints ); m_cbDeleteExtraFootprints->SetValue( cfg->m_NetlistDialog.delete_extra_footprints ); m_cbDeleteSinglePadNets->SetValue( cfg->m_NetlistDialog.delete_single_pad_nets ); @@ -86,6 +87,7 @@ DIALOG_UPDATE_PCB::~DIALOG_UPDATE_PCB() auto cfg = m_frame->GetSettings(); + cfg->m_NetlistDialog.associate_by_ref_sch = m_cbRelinkFootprints->GetValue(); cfg->m_NetlistDialog.update_footprints = m_cbUpdateFootprints->GetValue(); cfg->m_NetlistDialog.delete_extra_footprints = m_cbDeleteExtraFootprints->GetValue(); cfg->m_NetlistDialog.delete_single_pad_nets = m_cbDeleteSinglePadNets->GetValue(); diff --git a/pcbnew/pcbnew_settings.cpp b/pcbnew/pcbnew_settings.cpp index a59c28e4b1..726c52ddae 100644 --- a/pcbnew/pcbnew_settings.cpp +++ b/pcbnew/pcbnew_settings.cpp @@ -318,6 +318,9 @@ PCBNEW_SETTINGS::PCBNEW_SETTINGS() : APP_SETTINGS_BASE( "pcbnew", pcbnewSchemaVe m_params.emplace_back( new PARAM( "netlist.delete_single_pad_nets", &m_NetlistDialog.delete_single_pad_nets, false ) ); + m_params.emplace_back( new PARAM( + "netlist.associate_by_ref_sch", &m_NetlistDialog.associate_by_ref_sch, false ) ); + m_params.emplace_back(new PARAM( "place_file.units", &m_PlaceFile.units, 1 ) ); m_params.emplace_back( diff --git a/pcbnew/pcbnew_settings.h b/pcbnew/pcbnew_settings.h index cf7b985f73..d2ac6ef1ee 100644 --- a/pcbnew/pcbnew_settings.h +++ b/pcbnew/pcbnew_settings.h @@ -144,6 +144,7 @@ public: bool delete_shorting_tracks; bool delete_extra_footprints; bool delete_single_pad_nets; + bool associate_by_ref_sch; }; struct DIALOG_PLACE_FILE