Browse Source

Don't remove nonexistent entries from wxArrayStrings (KICAD-PG7)

pull/18/head
Jeff Young 4 months ago
parent
commit
51e244d7d4
  1. 12
      3d-viewer/dialogs/appearance_controls_3D.cpp
  2. 22
      eeschema/dialogs/dialog_symbol_fields_table.cpp
  3. 21
      pcbnew/widgets/appearance_controls.cpp

12
3d-viewer/dialogs/appearance_controls_3D.cpp

@ -965,7 +965,9 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
if( !viewport->name.IsEmpty() ) if( !viewport->name.IsEmpty() )
{ {
m_viewportMRU.Remove( viewport->name );
if( m_viewportMRU.Index( viewport->name ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewport->name );
m_viewportMRU.Insert( viewport->name, 0 ); m_viewportMRU.Insert( viewport->name, 0 );
} }
} }
@ -1000,7 +1002,9 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
{ {
m_viewports[name].matrix = m_frame->GetCurrentCamera().GetViewMatrix(); m_viewports[name].matrix = m_frame->GetCurrentCamera().GetViewMatrix();
index = m_cbViewports->FindString( name ); index = m_cbViewports->FindString( name );
m_viewportMRU.Remove( name );
if( m_viewportMRU.Index( name ) != wxNOT_FOUND )
m_viewportMRU.Remove( name );
} }
m_cbViewports->SetSelection( index ); m_cbViewports->SetSelection( index );
@ -1035,8 +1039,10 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
{ {
m_viewports.erase( viewportName ); m_viewports.erase( viewportName );
m_cbViewports->Delete( idx ); m_cbViewports->Delete( idx );
m_viewportMRU.Remove( viewportName );
} }
if( m_viewportMRU.Index( viewportName ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewportName );
} }
if( m_lastSelectedViewport ) if( m_lastSelectedViewport )

22
eeschema/dialogs/dialog_symbol_fields_table.cpp

@ -1819,7 +1819,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
preset->name = name; preset->name = name;
index = m_cbBomPresets->FindString( name ); index = m_cbBomPresets->FindString( name );
m_bomPresetMRU.Remove( name );
if( m_bomPresetMRU.Index( name ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( name );
} }
m_currentBomPreset = preset; m_currentBomPreset = preset;
@ -1860,9 +1862,10 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
m_cbBomPresets->Delete( idx ); m_cbBomPresets->Delete( idx );
m_currentBomPreset = nullptr; m_currentBomPreset = nullptr;
}
if( m_bomPresetMRU.Index( presetName ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( presetName ); m_bomPresetMRU.Remove( presetName );
}
} }
resetSelection(); resetSelection();
@ -1882,7 +1885,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
if( !m_currentBomPreset->name.IsEmpty() ) if( !m_currentBomPreset->name.IsEmpty() )
{ {
m_bomPresetMRU.Remove( preset->name );
if( m_bomPresetMRU.Index( preset->name ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( preset->name );
m_bomPresetMRU.Insert( preset->name, 0 ); m_bomPresetMRU.Insert( preset->name, 0 );
} }
} }
@ -2219,7 +2224,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
preset->name = name; preset->name = name;
index = m_cbBomFmtPresets->FindString( name ); index = m_cbBomFmtPresets->FindString( name );
m_bomFmtPresetMRU.Remove( name );
if( m_bomFmtPresetMRU.Index( name ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( name );
} }
m_currentBomFmtPreset = preset; m_currentBomFmtPreset = preset;
@ -2260,9 +2267,10 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
m_cbBomFmtPresets->Delete( idx ); m_cbBomFmtPresets->Delete( idx );
m_currentBomFmtPreset = nullptr; m_currentBomFmtPreset = nullptr;
}
if( m_bomFmtPresetMRU.Index( presetName ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( presetName ); m_bomFmtPresetMRU.Remove( presetName );
}
} }
resetSelection(); resetSelection();
@ -2282,7 +2290,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
if( !m_currentBomFmtPreset->name.IsEmpty() ) if( !m_currentBomFmtPreset->name.IsEmpty() )
{ {
m_bomFmtPresetMRU.Remove( preset->name );
if( m_bomFmtPresetMRU.Index( preset->name ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( preset->name );
m_bomFmtPresetMRU.Insert( preset->name, 0 ); m_bomFmtPresetMRU.Insert( preset->name, 0 );
} }
} }

21
pcbnew/widgets/appearance_controls.cpp

@ -2803,7 +2803,7 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
index = m_cbLayerPresets->FindString( name ); index = m_cbLayerPresets->FindString( name );
if( index != wxNOT_FOUND )
if( m_presetMRU.Index( name ) != wxNOT_FOUND )
m_presetMRU.Remove( name ); m_presetMRU.Remove( name );
} }
@ -2845,9 +2845,10 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
m_cbLayerPresets->Delete( idx ); m_cbLayerPresets->Delete( idx );
m_currentPreset = nullptr; m_currentPreset = nullptr;
}
if( m_presetMRU.Index( presetName ) != wxNOT_FOUND )
m_presetMRU.Remove( presetName ); m_presetMRU.Remove( presetName );
}
} }
resetSelection(); resetSelection();
@ -2884,7 +2885,9 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
{ {
const wxString translatedName = wxGetTranslation( m_currentPreset->name ); const wxString translatedName = wxGetTranslation( m_currentPreset->name );
m_presetMRU.Remove( translatedName );
if( m_presetMRU.Index( translatedName ) != wxNOT_FOUND )
m_presetMRU.Remove( translatedName );
m_presetMRU.Insert( translatedName, 0 ); m_presetMRU.Insert( translatedName, 0 );
} }
@ -2981,7 +2984,9 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
if( !viewport->name.IsEmpty() ) if( !viewport->name.IsEmpty() )
{ {
m_viewportMRU.Remove( viewport->name );
if( m_viewportMRU.Index( viewport->name ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewport->name );
m_viewportMRU.Insert( viewport->name, 0 ); m_viewportMRU.Insert( viewport->name, 0 );
} }
} }
@ -3016,7 +3021,9 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
{ {
m_viewports[name].rect = m_frame->GetCanvas()->GetView()->GetViewport(); m_viewports[name].rect = m_frame->GetCanvas()->GetView()->GetViewport();
index = m_cbViewports->FindString( name ); index = m_cbViewports->FindString( name );
m_viewportMRU.Remove( name );
if( m_viewportMRU.Index( name ) != wxNOT_FOUND )
m_viewportMRU.Remove( name );
} }
m_cbViewports->SetSelection( index ); m_cbViewports->SetSelection( index );
@ -3051,8 +3058,10 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
{ {
m_viewports.erase( viewportName ); m_viewports.erase( viewportName );
m_cbViewports->Delete( idx ); m_cbViewports->Delete( idx );
m_viewportMRU.Remove( viewportName );
} }
if( m_viewportMRU.Index( viewportName ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewportName );
} }
if( m_lastSelectedViewport ) if( m_lastSelectedViewport )

Loading…
Cancel
Save