Clear seleciton before removing rows. (KICAD-BER).
This commit is contained in:
@@ -387,16 +387,15 @@ PANEL_DESIGN_BLOCK_LIB_TABLE::PANEL_DESIGN_BLOCK_LIB_TABLE( DIALOG_EDIT_LIBRARY_
|
||||
}
|
||||
else if( !desc.m_IsFile && !desc.m_ExtensionsInDir.empty() )
|
||||
{
|
||||
wxString midPart = wxString::Format( _( "folder with %s files" ),
|
||||
joinExts( desc.m_ExtensionsInDir ) );
|
||||
wxString midPart = wxString::Format( _( "folder with %s files" ), joinExts( desc.m_ExtensionsInDir ) );
|
||||
|
||||
entryStr << wxString::Format( wxS( " (%s)" ), midPart );
|
||||
}
|
||||
|
||||
browseMenu->Append( type, entryStr );
|
||||
|
||||
browseMenu->Bind( wxEVT_COMMAND_MENU_SELECTED,
|
||||
&PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler, this, type );
|
||||
browseMenu->Bind( wxEVT_COMMAND_MENU_SELECTED, &PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler,
|
||||
this, type );
|
||||
}
|
||||
|
||||
Layout();
|
||||
@@ -413,11 +412,11 @@ PANEL_DESIGN_BLOCK_LIB_TABLE::~PANEL_DESIGN_BLOCK_LIB_TABLE()
|
||||
|
||||
for( auto& [type, desc] : m_supportedDesignBlockFiles )
|
||||
{
|
||||
browseMenu->Unbind( wxEVT_COMMAND_MENU_SELECTED,
|
||||
&PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler, this, type );
|
||||
browseMenu->Unbind( wxEVT_COMMAND_MENU_SELECTED, &PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler,
|
||||
this, type );
|
||||
}
|
||||
m_browseButton->Unbind( wxEVT_BUTTON, &PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler,
|
||||
this );
|
||||
|
||||
m_browseButton->Unbind( wxEVT_BUTTON, &PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler, this );
|
||||
|
||||
// Delete the GRID_TRICKS.
|
||||
// Any additional event handlers should be popped before the window is deleted.
|
||||
@@ -476,9 +475,8 @@ bool PANEL_DESIGN_BLOCK_LIB_TABLE::verifyTables()
|
||||
wxYES_NO | wxCENTER | wxICON_QUESTION | wxYES_DEFAULT );
|
||||
badCellDlg.SetExtendedMessage( _( "Empty cells will result in all rows that are "
|
||||
"invalid to be removed from the table." ) );
|
||||
badCellDlg.SetYesNoLabels(
|
||||
wxMessageDialog::ButtonLabel( _( "Remove Invalid Cells" ) ),
|
||||
wxMessageDialog::ButtonLabel( _( "Cancel Table Update" ) ) );
|
||||
badCellDlg.SetYesNoLabels( wxMessageDialog::ButtonLabel( _( "Remove Invalid Cells" ) ),
|
||||
wxMessageDialog::ButtonLabel( _( "Cancel Table Update" ) ) );
|
||||
|
||||
if( badCellDlg.ShowModal() == wxID_NO )
|
||||
return false;
|
||||
@@ -487,19 +485,19 @@ bool PANEL_DESIGN_BLOCK_LIB_TABLE::verifyTables()
|
||||
// This also updates the UI which could be slow, but there should only be a few
|
||||
// rows to delete, unless the user fell asleep on the Add Row
|
||||
// button.
|
||||
model->GetView()->ClearSelection();
|
||||
model->DeleteRows( r, 1 );
|
||||
}
|
||||
else if( ( illegalCh = LIB_ID::FindIllegalLibraryNameChar( nick ) ) )
|
||||
{
|
||||
msg = wxString::Format( _( "Illegal character '%c' in nickname '%s'." ), illegalCh,
|
||||
nick );
|
||||
msg = wxString::Format( _( "Illegal character '%c' in nickname '%s'." ), illegalCh, nick );
|
||||
|
||||
// show the tabbed panel holding the grid we have flunked:
|
||||
if( model != cur_model() )
|
||||
m_notebook->SetSelection( model == global_model() ? 0 : 1 );
|
||||
|
||||
m_cur_grid->MakeCellVisible( r, 0 );
|
||||
m_cur_grid->SetGridCursor( r, 1 );
|
||||
model->GetView()->MakeCellVisible( r, 0 );
|
||||
model->GetView()->SetGridCursor( r, 1 );
|
||||
|
||||
wxWindow* topLevelParent = wxGetTopLevelParent( this );
|
||||
|
||||
@@ -537,8 +535,7 @@ bool PANEL_DESIGN_BLOCK_LIB_TABLE::verifyTables()
|
||||
|
||||
if( nick1 == nick2 )
|
||||
{
|
||||
msg = wxString::Format( _( "Multiple libraries cannot share the same "
|
||||
"nickname ('%s')." ),
|
||||
msg = wxString::Format( _( "Multiple libraries cannot share the same nickname ('%s')." ),
|
||||
nick1 );
|
||||
|
||||
// show the tabbed panel holding the grid we have flunked:
|
||||
|
||||
Reference in New Issue
Block a user