diff --git a/common/widgets/lib_tree.cpp b/common/widgets/lib_tree.cpp index 3b70fef79b..9cbd6b30e1 100644 --- a/common/widgets/lib_tree.cpp +++ b/common/widgets/lib_tree.cpp @@ -182,9 +182,6 @@ LIB_TREE::~LIB_TREE() { // Stop the timer during destruction early to avoid potential race conditions (that do happen) m_debounceTimer->Stop(); - - // Save the column widths to the config file - m_adapter->SaveSettings(); } diff --git a/eeschema/picksymbol.cpp b/eeschema/picksymbol.cpp index cdccfad499..1574d985ce 100644 --- a/eeschema/picksymbol.cpp +++ b/eeschema/picksymbol.cpp @@ -199,6 +199,9 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SYMBOL_LIBRARY_FILTER if( dlg.ShowModal() == wxID_CANCEL ) return PICKED_SYMBOL(); + // Save any changes to column widths, etc. + modelAdapter->SaveSettings(); + PICKED_SYMBOL sel; LIB_ID id = dlg.GetSelectedLibId( &sel.Unit ); diff --git a/eeschema/symbol_editor/symbol_edit_frame.cpp b/eeschema/symbol_editor/symbol_edit_frame.cpp index ab9fef0ef0..2317f2f1f9 100644 --- a/eeschema/symbol_editor/symbol_edit_frame.cpp +++ b/eeschema/symbol_editor/symbol_edit_frame.cpp @@ -581,6 +581,9 @@ bool SYMBOL_EDIT_FRAME::canCloseWindow( wxCloseEvent& aEvent ) if( !saveAllLibraries( true ) ) return false; + // Save symbol tree column widths + m_libMgr->GetAdapter()->SaveSettings(); + return true; } diff --git a/eeschema/symbol_viewer_frame.cpp b/eeschema/symbol_viewer_frame.cpp index f4c222b83c..32584cb9de 100644 --- a/eeschema/symbol_viewer_frame.cpp +++ b/eeschema/symbol_viewer_frame.cpp @@ -1016,6 +1016,9 @@ void SYMBOL_VIEWER_FRAME::OnSelectSymbol( wxCommandEvent& aEvent ) if( dlg.ShowQuasiModal() == wxID_CANCEL ) return; + // Save any changes to column widths, etc. + modelAdapter->SaveSettings(); + id = dlg.GetSelectedLibId( &unit ); if( !id.IsValid() ) diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp index 1b066fb7c6..54eeb5b259 100644 --- a/pcbnew/footprint_edit_frame.cpp +++ b/pcbnew/footprint_edit_frame.cpp @@ -735,6 +735,9 @@ bool FOOTPRINT_EDIT_FRAME::canCloseWindow( wxCloseEvent& aEvent ) } } + // Save footprint tree column widths + m_adapter->SaveSettings(); + return PCB_BASE_EDIT_FRAME::canCloseWindow( aEvent ); } diff --git a/pcbnew/load_select_footprint.cpp b/pcbnew/load_select_footprint.cpp index f3c0c89770..4a8c1058f4 100644 --- a/pcbnew/load_select_footprint.cpp +++ b/pcbnew/load_select_footprint.cpp @@ -271,6 +271,9 @@ FOOTPRINT* PCB_BASE_FRAME::SelectFootprintFromLibTree( LIB_ID aPreselect ) if( dialog.ShowQuasiModal() == wxID_CANCEL ) return nullptr; + // Save any changes to column widths, etc. + adapter->SaveSettings(); + if( dialog.IsExternalBrowserSelected() ) { // SelectFootprintFromLibBrowser() returns the "full" footprint name, i.e.