Pcbnew: fix minor bug in find dialog.
Repeating find with the same search string would result in a not found error for absolute search strings. Don't clear the found item if the search string did not change from the previous search.. Fix another minor bug where the do not warp mouse pointer option was always checked when the find dialog was called from one of the gal canvases. Fixes lp:1793300 https://bugs.launchpad.net/kicad/+bug/1793300
This commit is contained in:
parent
cd5b1c2885
commit
ed94f2c5e0
|
@ -58,18 +58,21 @@ DIALOG_FIND::DIALOG_FIND( PCB_BASE_FRAME* aParent ) : DIALOG_FIND_BASE( aParent
|
||||||
Center();
|
Center();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_FIND::OnInitDialog( wxInitDialogEvent& event )
|
void DIALOG_FIND::OnInitDialog( wxInitDialogEvent& event )
|
||||||
{
|
{
|
||||||
m_SearchTextCtrl->SetFocus();
|
m_SearchTextCtrl->SetFocus();
|
||||||
m_SearchTextCtrl->SetSelection( -1, -1 );
|
m_SearchTextCtrl->SetSelection( -1, -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_FIND::EnableWarp( bool aEnabled )
|
void DIALOG_FIND::EnableWarp( bool aEnabled )
|
||||||
{
|
{
|
||||||
m_NoMouseWarpCheckBox->SetValue( !aEnabled );
|
m_NoMouseWarpCheckBox->SetValue( !aEnabled );
|
||||||
warpMouse = aEnabled;
|
warpMouse = aEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_FIND::onButtonCloseClick( wxCommandEvent& aEvent )
|
void DIALOG_FIND::onButtonCloseClick( wxCommandEvent& aEvent )
|
||||||
{
|
{
|
||||||
Close( true );
|
Close( true );
|
||||||
|
@ -81,13 +84,14 @@ void DIALOG_FIND::onButtonFindItemClick( wxCommandEvent& aEvent )
|
||||||
PCB_SCREEN* screen = parent->GetScreen();
|
PCB_SCREEN* screen = parent->GetScreen();
|
||||||
wxPoint pos;
|
wxPoint pos;
|
||||||
|
|
||||||
foundItem = NULL;
|
|
||||||
wxString searchString = m_SearchTextCtrl->GetValue();
|
wxString searchString = m_SearchTextCtrl->GetValue();
|
||||||
|
|
||||||
if( !searchString.IsSameAs( prevSearchString, false ) )
|
if( !searchString.IsSameAs( prevSearchString, false ) )
|
||||||
{
|
{
|
||||||
itemCount = 0;
|
itemCount = 0;
|
||||||
|
foundItem = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
prevSearchString = searchString;
|
prevSearchString = searchString;
|
||||||
|
|
||||||
parent->GetCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
|
parent->GetCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
|
||||||
|
|
|
@ -1220,7 +1220,6 @@ void SELECTION_TOOL::findCallback( BOARD_ITEM* aItem )
|
||||||
int SELECTION_TOOL::find( const TOOL_EVENT& aEvent )
|
int SELECTION_TOOL::find( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
DIALOG_FIND dlg( m_frame );
|
DIALOG_FIND dlg( m_frame );
|
||||||
dlg.EnableWarp( false );
|
|
||||||
dlg.SetCallback( std::bind( &SELECTION_TOOL::findCallback, this, _1 ) );
|
dlg.SetCallback( std::bind( &SELECTION_TOOL::findCallback, this, _1 ) );
|
||||||
dlg.ShowModal();
|
dlg.ShowModal();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue