IDE: Add a Refresh button to SearchResultsView. Does not do anything yet.

git-svn-id: trunk@64042 -
This commit is contained in:
juha 2020-10-17 19:25:38 +00:00
parent 8cad7c0bd0
commit 288354e07c
3 changed files with 80 additions and 45 deletions

View File

@ -5490,7 +5490,8 @@ resourcestring
// View Search Results dialog
rsFoundButNotListedHere = 'Found but not listed here: ';
rsStartANewSearch = 'Start a new search';
rsRefreshTheSearch = 'Refresh the search';
rsNewSearchWithSameCriteria = 'New search with same criteria';
rsCloseCurrentPage = 'Close current page';
rsFilterTheListWithString = 'Filter the lines in list with a string';
rsCloseLeft = 'Close page(s) on the left';

View File

@ -1,5 +1,5 @@
object SearchResultsView: TSearchResultsView
Left = 344
Left = 374
Height = 275
Top = 327
Width = 722
@ -25,27 +25,38 @@ object SearchResultsView: TSearchResultsView
ClientWidth = 722
TabOrder = 1
TabStop = True
object ToolBar: TToolBar
Left = 3
object PageToolBar: TToolBar
AnchorSideLeft.Control = PageLabel
AnchorSideLeft.Side = asrBottom
Left = 40
Height = 22
Top = 2
Width = 47
Width = 70
Align = alNone
Anchors = [akTop, akLeft, akBottom]
AutoSize = True
BorderSpacing.Left = 3
EdgeInner = esNone
EdgeOuter = esNone
TabOrder = 0
object NewSearchButton: TToolButton
object RefreshButton: TToolButton
Left = 1
Top = 0
AutoSize = True
Caption = 'NewSearchButton'
Caption = 'RefreshButton'
ImageIndex = 2
OnClick = RefreshButtonClick
end
object SearchAgainButton: TToolButton
Left = 24
Top = 0
AutoSize = True
Caption = 'SearchAgainButton'
ImageIndex = 0
OnClick = NewSearchButtonClick
OnClick = SearchAgainButtonClick
end
object ClosePageButton: TToolButton
Left = 24
Left = 47
Top = 0
Caption = 'ClosePageButton'
ImageIndex = 1
@ -53,13 +64,17 @@ object SearchResultsView: TSearchResultsView
end
end
object SearchInListEdit: TTreeFilterEdit
Left = 53
AnchorSideLeft.Control = PageToolBar
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = CloseTabs
Left = 133
Height = 23
Top = 2
Width = 550
Width = 460
ButtonWidth = 23
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 2
BorderSpacing.Left = 21
BorderSpacing.Right = 21
BorderSpacing.Bottom = 1
BorderSpacing.Around = 2
AutoSize = False
@ -87,16 +102,16 @@ object SearchResultsView: TSearchResultsView
Top = 0
Action = actCloseLeft
end
object tbbCloseRight: TToolButton
Left = 48
Top = 0
Action = actCloseRight
end
object tbbCloseOthers: TToolButton
Left = 25
Top = 0
Action = actCloseOthers
end
object tbbCloseRight: TToolButton
Left = 48
Top = 0
Action = actCloseRight
end
object ToolButton3: TToolButton
Left = 71
Height = 22
@ -109,6 +124,16 @@ object SearchResultsView: TSearchResultsView
Action = actCloseAll
end
end
object PageLabel: TLabel
AnchorSideTop.Control = ControlBar1
AnchorSideTop.Side = asrCenter
Left = 6
Height = 18
Top = 4
Width = 31
Caption = 'Page'
ParentColor = False
end
end
object ResultsNoteBook: TExtendedNotebook
Left = 0

View File

@ -40,7 +40,7 @@ uses
Classes, SysUtils, strutils, Laz_AVL_Tree,
// LCL
LCLProc, LCLType, LCLIntf, Forms, Controls, Graphics, ComCtrls, Menus, Clipbrd,
ActnList, ExtCtrls,
ActnList, ExtCtrls, StdCtrls, Dialogs,
// LazControls
TreeFilterEdit, ExtendedNotebook,
// LazUtils
@ -141,8 +141,8 @@ type
actNextPage: TAction;
actPrevPage: TAction;
ActionList: TActionList;
ClosePageButton1: TToolButton;
ControlBar1: TPanel;
PageLabel: TLabel;
MenuItem1: TMenuItem;
mniCollapseAll: TMenuItem;
mniExpandAll: TMenuItem;
@ -155,21 +155,24 @@ type
tbbCloseLeft: TToolButton;
tbbCloseOthers: TToolButton;
tbbCloseRight: TToolButton;
ToolBar: TToolBar;
NewSearchButton: TToolButton;
PageToolBar: TToolBar;
CloseTabs: TToolBar;
RefreshButton: TToolButton;
SearchAgainButton: TToolButton;
ClosePageButton: TToolButton;
SearchInListEdit: TTreeFilterEdit;
ToolButton3: TToolButton;
tbbCloseAll: TToolButton;
procedure actNextPageExecute(Sender: TObject);
procedure actPrevPageExecute(Sender: TObject);
procedure RefreshButtonClick(Sender: TObject);
procedure SearchAgainButtonClick(Sender: TObject);
procedure ClosePageButtonClick(Sender: TObject);
procedure ResultsNoteBookResize(Sender: TObject);
procedure tbbCloseAllClick(Sender: TObject);
procedure tbbCloseLeftClick(Sender: TObject);
procedure tbbCloseOthersClick(Sender: TObject);
procedure tbbCloseRightClick(Sender: TObject);
procedure ClosePageButtonClick(Sender: TObject);
procedure Form1Create(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word; {%H-}Shift: TShiftState);
@ -183,7 +186,6 @@ type
{%H-}Shift: TShiftState; X, Y: Integer);
procedure TreeViewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure ResultsNoteBookClosetabclicked(Sender: TObject);
procedure NewSearchButtonClick(Sender: TObject);
procedure TreeViewAdvancedCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var {%H-}PaintImages, {%H-}DefaultDraw: Boolean);
@ -322,8 +324,9 @@ begin
Name:=NonModalIDEWindowNames[nmiwSearchResultsView];
Caption:=lisMenuViewSearchResults;
NewSearchButton.Hint:=rsStartANewSearch;
ClosePageButton.Hint := rsCloseCurrentPage;
RefreshButton.Hint:=rsRefreshTheSearch;
SearchAgainButton.Hint:=rsNewSearchWithSameCriteria;
ClosePageButton.Hint:=rsCloseCurrentPage;
SearchInListEdit.Hint:=rsFilterTheListWithString;
{ Close tabs buttons }
actCloseLeft.Hint:=rsCloseLeft;
@ -350,9 +353,10 @@ begin
mniExpandAll.Caption := lisExpandAll;
mniCollapseAll.Caption := lisCollapseAll;
ToolBar.Images := IDEImages.Images_16;
NewSearchButton.ImageIndex := IDEImages.LoadImage('menu_new_search');
ClosePageButton.ImageIndex := IDEImages.LoadImage('menu_close');
PageToolBar.Images := IDEImages.Images_16;
RefreshButton.ImageIndex := IDEImages.LoadImage('laz_refresh');
SearchAgainButton.ImageIndex := IDEImages.LoadImage('menu_new_search');
ClosePageButton.ImageIndex := IDEImages.LoadImage('menu_close');
ActionList.Images := IDEImages.Images_16;
actClosePage.ImageIndex := IDEImages.LoadImage('menu_close');
{ Close tabs buttons }
@ -451,6 +455,26 @@ begin
end;
end;
procedure TSearchResultsView.RefreshButtonClick(Sender: TObject);
begin
ShowMessage('ToDo: Refresh the search in current page.');
end;
procedure TSearchResultsView.SearchAgainButtonClick(Sender: TObject);
var
CurrentTV: TLazSearchResultTV;
SearchObj: TLazSearch;
begin
CurrentTV:= GetTreeView(ResultsNoteBook.PageIndex);
if not Assigned(CurrentTV) then
MainIDEInterface.FindInFilesPerDialog(Project1)
else begin
SearchObj:= CurrentTV.SearchObject;
OnSearchAgainClicked(SearchObj);
MainIDEInterface.FindInFiles(Project1, SearchObj.SearchString);
end;
end;
procedure TSearchResultsView.ClosePageButtonClick(Sender: TObject);
begin
ClosePage(ResultsNoteBook.PageIndex);
@ -844,7 +868,8 @@ var
begin
CurrentTV:= GetTreeView(ResultsNoteBook.PageIndex);
state := Assigned(CurrentTV) and not CurrentTV.Updating;
NewSearchButton.Enabled := state;
RefreshButton.Enabled := state;
SearchAgainButton.Enabled := state;
ClosePageButton.Enabled := state;
SearchInListEdit.Enabled := state;
if state then
@ -938,22 +963,6 @@ begin
ClosePage(TTabSheet(Sender).PageIndex)
end;
procedure TSearchResultsView.NewSearchButtonClick(Sender: TObject);
var
CurrentTV: TLazSearchResultTV;
SearchObj: TLazSearch;
begin
CurrentTV:= GetTreeView(ResultsNoteBook.PageIndex);
if not Assigned(CurrentTV) then begin
MainIDEInterface.FindInFilesPerDialog(Project1);
end
else begin
SearchObj:= CurrentTV.SearchObject;
OnSearchAgainClicked(SearchObj);
MainIDEInterface.FindInFiles(Project1, SearchObj.SearchString);
end;
end;
procedure TSearchResultsView.TreeViewKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin