Backed out improper change

This commit is contained in:
Zane U. Ji 2013-12-20 22:22:03 +08:00
parent 75ca5f839f
commit 18533712a3
3 changed files with 14 additions and 3 deletions

View File

@ -38,7 +38,7 @@ FindReplacePanel::FindReplacePanel (
{ {
parent = parentParameter; parent = parentParameter;
findData = findDataParameter; findData = findDataParameter;
notFoundSet = false; incrementalFind = notFoundSet = false;
isRegex = isRegexParameter; isRegex = isRegexParameter;
matchCaseMemory = ( findData->GetFlags() ) & wxFR_MATCHCASE; matchCaseMemory = ( findData->GetFlags() ) & wxFR_MATCHCASE;
@ -145,6 +145,7 @@ void FindReplacePanel::OnFindNext ( wxCommandEvent& event )
findData->SetFindString ( findEdit->GetValue() ); findData->SetFindString ( findEdit->GetValue() );
findData->SetReplaceString ( replaceEdit->GetValue() ); findData->SetReplaceString ( replaceEdit->GetValue() );
incrementalFind = false;
size_t flags = 0; size_t flags = 0;
flags |= wxFR_DOWN; flags |= wxFR_DOWN;
if ( matchCaseBox->GetValue() ) if ( matchCaseBox->GetValue() )
@ -201,6 +202,8 @@ void FindReplacePanel::OnIdle ( wxIdleEvent& event )
if ( newLength != findEditLength || settingsChanged ) if ( newLength != findEditLength || settingsChanged )
{ {
incrementalFind = true;
size_t flags = 0; size_t flags = 0;
flags |= wxFR_DOWN; flags |= wxFR_DOWN;
if ( matchCaseBox->GetValue() ) if ( matchCaseBox->GetValue() )
@ -231,8 +234,14 @@ void FindReplacePanel::sendFindEvent ( size_t flags )
findData->SetReplaceString ( replaceEdit->GetValue() ); findData->SetReplaceString ( replaceEdit->GetValue() );
} }
bool FindReplacePanel::getIncrementalFind()
{
return incrementalFind;
}
void FindReplacePanel::refresh() void FindReplacePanel::refresh()
{ {
incrementalFind = false;
findEdit->SetValue ( findData->GetFindString() ); findEdit->SetValue ( findData->GetFindString() );
replaceEdit->SetValue ( findData->GetReplaceString() ); replaceEdit->SetValue ( findData->GetReplaceString() );

View File

@ -49,6 +49,7 @@ class FindReplacePanel : public wxPanel
void OnReplace ( wxCommandEvent& event ); void OnReplace ( wxCommandEvent& event );
void OnReplaceAll ( wxCommandEvent& event ); void OnReplaceAll ( wxCommandEvent& event );
void focusOnFind(); void focusOnFind();
bool getIncrementalFind();
bool getRegex(); bool getRegex();
void refresh(); void refresh();
void setReplaceVisible ( bool b ); void setReplaceVisible ( bool b );
@ -66,7 +67,7 @@ class FindReplacePanel : public wxPanel
wxWindow *parent; wxWindow *parent;
size_t findEditLength; size_t findEditLength;
bool matchCaseMemory, regexMemory; bool matchCaseMemory, regexMemory;
bool isReplaceDialog, notFoundSet, isRegex; bool incrementalFind, isReplaceDialog, notFoundSet, isRegex;
void OnIdle ( wxIdleEvent& event ); void OnIdle ( wxIdleEvent& event );
void sendFindEvent ( size_t flags ); void sendFindEvent ( size_t flags );

View File

@ -4444,7 +4444,8 @@ void MyFrame::findAgain ( wxString s, int flags )
if ( flags & wxFR_DOWN ) // find next if ( flags & wxFR_DOWN ) // find next
{ {
doc->SetTargetStart ( doc->GetSelectionStart() ); doc->SetTargetStart ( findReplacePanel->getIncrementalFind()
? doc->GetSelectionStart() : doc->GetSelectionEnd() );
doc->SetTargetEnd ( doc->GetLength() ); doc->SetTargetEnd ( doc->GetLength() );
doc->SetSearchFlags ( myFlags ); doc->SetSearchFlags ( myFlags );
newLocation = doc->SearchInTarget ( s ); newLocation = doc->SearchInTarget ( s );