IDE: don't replace old searches with the same term in Search Results View dialog, bug #19941. Patch by Flávio Etrusco with some fixes.

git-svn-id: trunk@31941 -
This commit is contained in:
maxim 2011-08-10 23:59:52 +00:00
parent f2de67ee6b
commit 8568dbce1f

View File

@ -848,7 +848,6 @@ function TSearchResultsView.AddSearch(const ResultsName: string;
var var
NewTreeView: TLazSearchResultTV; NewTreeView: TLazSearchResultTV;
NewPage: LongInt; NewPage: LongInt;
i: integer;
SearchObj: TLazSearch; SearchObj: TLazSearch;
begin begin
Result:= nil; Result:= nil;
@ -856,43 +855,30 @@ begin
with ResultsNoteBook do with ResultsNoteBook do
begin begin
FWorkedSearchText:=BeautifyPageName(ResultsName); FWorkedSearchText:=BeautifyPageName(ResultsName);
i:= GetPageIndex(FWorkedSearchText); NewPage:= TCustomTabControl(ResultsNoteBook).Pages.Add(FWorkedSearchText);
if i>=0 then PageIndex:= NewPage;
Page[PageIndex].OnKeyDown := @TreeViewKeyDown;
if NewPage > -1 then
begin begin
NewTreeView:= GetTreeView(i); NewTreeView:= TLazSearchResultTV.Create(Page[NewPage]);
PageIndex:= i; with NewTreeView do
//Free backup objects and list since its a new search with the same TreeView
NewTreeView.FreeObjects(NewTreeView.BackUpStrings);
NewTreeView.BackUpStrings.Clear;
NewTreeView.Filtered := False;
end//if
else
begin
NewPage:= TCustomTabControl(ResultsNoteBook).Pages.Add(FWorkedSearchText);
PageIndex:= NewPage;
Page[PageIndex].OnKeyDown := @TreeViewKeyDown;
if NewPage > -1 then
begin begin
NewTreeView:= TLazSearchResultTV.Create(Page[NewPage]); Parent:= Page[NewPage];
with NewTreeView do Align:= alClient;
begin BorderSpacing.Around := 0;
Parent:= Page[NewPage]; OnKeyDown := @TreeViewKeyDown;
Align:= alClient; OnAdvancedCustomDrawItem:= @TreeViewAdvancedCustomDrawItem;
BorderSpacing.Around := 0; OnShowHint:= @LazTVShowHint;
OnKeyDown := @TreeViewKeyDown; OnMouseMove:= @LazTVMousemove;
OnAdvancedCustomDrawItem:= @TreeViewAdvancedCustomDrawItem; OnMouseWheel:= @LazTVMouseWheel;
OnShowHint:= @LazTVShowHint; OnMouseDown:=@TreeViewMouseDown;
OnMouseMove:= @LazTVMousemove; ShowHint:= true;
OnMouseWheel:= @LazTVMouseWheel; RowSelect := True; // we are using custom draw
OnMouseDown:=@TreeViewMouseDown; Options := Options + [tvoAllowMultiselect] - [tvoThemedDraw];
ShowHint:= true; PopupMenu := popList;
RowSelect := True; // we are using custom draw NewTreeView.Canvas.Brush.Color:= clWhite;
Options := Options + [tvoAllowMultiselect] - [tvoThemedDraw]; end;//with
PopupMenu := popList; end;//if
NewTreeView.Canvas.Brush.Color:= clWhite;
end;//with
end;//if
end;//else
SearchObj:=NewTreeView.SearchObject; SearchObj:=NewTreeView.SearchObject;
if SearchObj<>nil then begin if SearchObj<>nil then begin
SearchObj.SearchString:= SearchText; SearchObj.SearchString:= SearchText;