Pcbnew, DIALOG_NETLIST: fix incorrect storage of wx_MessageWindow options.
Config values were not stored into the right variables. Make also an option persistent during the session in DIALOG_UPDATE_PCB and DIALOG_NETLIST DIALOG_UPDATE_PCB and DIALOG_NETLIST match options: use same order in dialogs.
This commit is contained in:
parent
aa95ff10df
commit
911c6eb781
|
@ -34,7 +34,7 @@ WX_HTML_REPORT_PANEL::WX_HTML_REPORT_PANEL( wxWindow* parent,
|
|||
long style ) :
|
||||
WX_HTML_REPORT_PANEL_BASE( parent, id, pos, size, style ),
|
||||
m_reporter( this ),
|
||||
m_severities( -1 ),
|
||||
m_severities( REPORTER::RPT_ALL ),
|
||||
m_lazyUpdate( false )
|
||||
{
|
||||
syncCheckboxes();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -57,6 +57,7 @@ void PCB_EDIT_FRAME::InstallNetlistFrame()
|
|||
}
|
||||
|
||||
bool DIALOG_NETLIST::m_warnForNoNetPads = false;
|
||||
bool DIALOG_NETLIST::m_matchByUUID = false;
|
||||
|
||||
|
||||
DIALOG_NETLIST::DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxString& aNetlistFullFilename )
|
||||
|
@ -77,6 +78,7 @@ DIALOG_NETLIST::DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxString& aNetlistFullF
|
|||
m_cbDeleteSinglePadNets->SetValue( cfg->m_NetlistDialog.delete_single_pad_nets );
|
||||
|
||||
m_cbWarnNoNetPad->SetValue( m_warnForNoNetPads );
|
||||
m_matchByTimestamp->SetSelection( m_matchByUUID ? 0 : 1 );
|
||||
|
||||
m_MessageWindow->SetLabel( _("Changes To Be Applied") );
|
||||
m_MessageWindow->SetVisibleSeverities( cfg->m_NetlistDialog.report_filter );
|
||||
|
@ -98,14 +100,15 @@ DIALOG_NETLIST::DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxString& aNetlistFullF
|
|||
DIALOG_NETLIST::~DIALOG_NETLIST()
|
||||
{
|
||||
m_warnForNoNetPads = m_cbWarnNoNetPad->GetValue();
|
||||
m_matchByUUID = m_matchByTimestamp->GetSelection() == 0;
|
||||
|
||||
auto cfg = m_parent->GetSettings();
|
||||
|
||||
cfg->m_NetlistDialog.report_filter = m_cbUpdateFootprints->GetValue();
|
||||
cfg->m_NetlistDialog.update_footprints = m_cbDeleteShortingTracks->GetValue();
|
||||
cfg->m_NetlistDialog.delete_shorting_tracks = m_cbDeleteExtraFootprints->GetValue();
|
||||
cfg->m_NetlistDialog.delete_extra_footprints = m_cbDeleteSinglePadNets->GetValue();
|
||||
cfg->m_NetlistDialog.delete_single_pad_nets = m_MessageWindow->GetVisibleSeverities();
|
||||
cfg->m_NetlistDialog.report_filter = m_MessageWindow->GetVisibleSeverities();
|
||||
cfg->m_NetlistDialog.update_footprints = m_cbUpdateFootprints->GetValue();
|
||||
cfg->m_NetlistDialog.delete_shorting_tracks = m_cbDeleteShortingTracks->GetValue();
|
||||
cfg->m_NetlistDialog.delete_extra_footprints = m_cbDeleteExtraFootprints->GetValue();
|
||||
cfg->m_NetlistDialog.delete_single_pad_nets = m_cbDeleteSinglePadNets->GetValue();
|
||||
|
||||
if( m_runDragCommand )
|
||||
{
|
||||
|
@ -271,18 +274,20 @@ void DIALOG_NETLIST::loadNetlist( bool aDryRun )
|
|||
msg.Printf( _( "Reading netlist file \"%s\".\n" ), GetChars( netlistFileName ) );
|
||||
reporter.ReportHead( msg, REPORTER::RPT_INFO );
|
||||
|
||||
if( m_matchByTimestamp->GetSelection() == 0 )
|
||||
if( m_matchByTimestamp->GetSelection() == 1 )
|
||||
msg = _( "Using references to match components and footprints.\n" );
|
||||
else
|
||||
msg = _( "Using tstamp fields to match components and footprints.\n" );
|
||||
msg = _( "Using time stamp fields (UUID) to match components and footprints.\n" );
|
||||
|
||||
reporter.ReportHead( msg, REPORTER::RPT_INFO );
|
||||
m_MessageWindow->SetLazyUpdate( true ); // Use lazy update to speed the creation of the report
|
||||
// (the window is not updated for each message)
|
||||
m_matchByUUID = m_matchByTimestamp->GetSelection() == 0;
|
||||
|
||||
NETLIST netlist;
|
||||
|
||||
netlist.SetDeleteExtraFootprints( m_cbDeleteExtraFootprints->GetValue() );
|
||||
netlist.SetFindByTimeStamp( m_matchByTimestamp->GetSelection() == 1 );
|
||||
netlist.SetFindByTimeStamp( m_matchByUUID );
|
||||
netlist.SetReplaceFootprints( m_cbUpdateFootprints->GetValue() );
|
||||
|
||||
if( !m_parent->ReadNetlistFromFile( netlistFileName, netlist, reporter ) )
|
||||
|
@ -291,7 +296,7 @@ void DIALOG_NETLIST::loadNetlist( bool aDryRun )
|
|||
BOARD_NETLIST_UPDATER updater( m_parent, m_parent->GetBoard() );
|
||||
updater.SetReporter ( &reporter );
|
||||
updater.SetIsDryRun( aDryRun );
|
||||
updater.SetLookupByTimestamp( m_matchByTimestamp->GetSelection() == 1 );
|
||||
updater.SetLookupByTimestamp( m_matchByUUID );
|
||||
updater.SetDeleteUnusedComponents ( m_cbDeleteExtraFootprints->GetValue() );
|
||||
updater.SetReplaceFootprints( m_cbUpdateFootprints->GetValue() );
|
||||
updater.SetDeleteSinglePadNets( m_cbDeleteSinglePadNets->GetValue() );
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 1992-2015 KiCad Developers, see change_log.txt for contributors.
|
||||
* Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
@ -43,6 +43,9 @@ private:
|
|||
bool m_initialized;
|
||||
bool m_runDragCommand;
|
||||
static bool m_warnForNoNetPads;
|
||||
static bool m_matchByUUID; // True to use UUID as link between symbol and footprint
|
||||
// False to use reference designator as link
|
||||
// between symbol and footprint
|
||||
|
||||
public:
|
||||
DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxString& aNetlistFullFilename );
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version v3.8.0)
|
||||
// C++ code generated with wxFormBuilder (version Jul 10 2019)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
|
@ -40,7 +40,7 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
|||
wxBoxSizer* bUpperSizer;
|
||||
bUpperSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxString m_matchByTimestampChoices[] = { _("Associate footprints by reference"), _("Associate footprints using time stamp field") };
|
||||
wxString m_matchByTimestampChoices[] = { _("Associate footprints using time stamp (UUID)"), _("Associate footprints using reference") };
|
||||
int m_matchByTimestampNChoices = sizeof( m_matchByTimestampChoices ) / sizeof( wxString );
|
||||
m_matchByTimestamp = new wxRadioBox( this, wxID_ANY, _("Match Method"), wxDefaultPosition, wxDefaultSize, m_matchByTimestampNChoices, m_matchByTimestampChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_matchByTimestamp->SetSelection( 1 );
|
||||
|
@ -108,7 +108,6 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
|||
|
||||
this->SetSizer( bMainSizer );
|
||||
this->Layout();
|
||||
bMainSizer->Fit( this );
|
||||
|
||||
// Connect Events
|
||||
m_NetlistFilenameCtrl->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_NETLIST_BASE::OnFilenameKillFocus ), NULL, this );
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<property name="file">dialog_netlist_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="image_path_wrapper_function_name"></property>
|
||||
<property name="indent_with_spaces"></property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="name">dialog_netlist_base</property>
|
||||
|
@ -25,6 +26,7 @@
|
|||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_array_enum">0</property>
|
||||
<property name="use_enum">1</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Dialog" expanded="1">
|
||||
|
@ -45,7 +47,7 @@
|
|||
<property name="minimum_size"></property>
|
||||
<property name="name">DIALOG_NETLIST_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">-1,-1</property>
|
||||
<property name="size">499,464</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
||||
<property name="title">Import Netlist</property>
|
||||
|
@ -295,7 +297,7 @@
|
|||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Associate footprints by reference" "Associate footprints using time stamp field"</property>
|
||||
<property name="choices">"Associate footprints using time stamp (UUID)" "Associate footprints using reference"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version v3.8.0)
|
||||
// C++ code generated with wxFormBuilder (version Jul 10 2019)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
|
@ -76,7 +76,7 @@ class DIALOG_NETLIST_BASE : public DIALOG_SHIM
|
|||
|
||||
public:
|
||||
|
||||
DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Import Netlist"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Import Netlist"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 499,464 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_NETLIST_BASE();
|
||||
|
||||
};
|
||||
|
|
|
@ -46,6 +46,7 @@ using namespace std::placeholders;
|
|||
|
||||
|
||||
bool DIALOG_UPDATE_PCB::m_warnForNoNetPads = false;
|
||||
bool DIALOG_UPDATE_PCB::m_matchByUUID = false;
|
||||
|
||||
|
||||
DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB( PCB_EDIT_FRAME* aParent, NETLIST* aNetlist ) :
|
||||
|
@ -60,6 +61,7 @@ DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB( PCB_EDIT_FRAME* aParent, NETLIST* aNetlist
|
|||
m_cbDeleteExtraFootprints->SetValue( cfg->m_NetlistDialog.delete_extra_footprints );
|
||||
m_cbDeleteSinglePadNets->SetValue( cfg->m_NetlistDialog.delete_single_pad_nets );
|
||||
m_cbWarnNoNetPad->SetValue( m_warnForNoNetPads );
|
||||
m_matchByTimestamp->SetSelection( m_matchByUUID ? 0 : 1 );
|
||||
|
||||
m_messagePanel->SetLabel( _("Changes To Be Applied") );
|
||||
m_messagePanel->SetLazyUpdate( true );
|
||||
|
@ -86,6 +88,7 @@ DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB( PCB_EDIT_FRAME* aParent, NETLIST* aNetlist
|
|||
DIALOG_UPDATE_PCB::~DIALOG_UPDATE_PCB()
|
||||
{
|
||||
m_warnForNoNetPads = m_cbWarnNoNetPad->GetValue();
|
||||
m_matchByUUID = m_matchByTimestamp->GetSelection() == 0;
|
||||
|
||||
auto cfg = m_frame->GetSettings();
|
||||
|
||||
|
@ -123,6 +126,7 @@ void DIALOG_UPDATE_PCB::PerformUpdate( bool aDryRun )
|
|||
updater.SetReplaceFootprints( m_cbUpdateFootprints->GetValue() );
|
||||
updater.SetDeleteSinglePadNets( m_cbDeleteSinglePadNets->GetValue() );
|
||||
m_warnForNoNetPads = m_cbWarnNoNetPad->GetValue();
|
||||
m_matchByUUID = m_matchByTimestamp->GetSelection() == 0;
|
||||
updater.SetWarnPadNoNetInNetlist( m_warnForNoNetPads );
|
||||
updater.UpdateNetlist( *m_netlist );
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 1992-2016 KiCad Developers, see change_log.txt for contributors.
|
||||
* Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
@ -37,6 +37,9 @@ private:
|
|||
bool m_initialized;
|
||||
bool m_runDragCommand;
|
||||
static bool m_warnForNoNetPads;
|
||||
static bool m_matchByUUID; // True to use UUID as link between symbol and footprint
|
||||
// False to use reference designator as link
|
||||
// between symbol and footprint
|
||||
|
||||
public:
|
||||
DIALOG_UPDATE_PCB( PCB_EDIT_FRAME* aParent, NETLIST *aNetlist );
|
||||
|
|
Loading…
Reference in New Issue