IDE: find in files: adding directory of current source editor file to directory combobox

git-svn-id: trunk@16101 -
This commit is contained in:
mattias 2008-08-18 07:28:57 +00:00
parent 8889f04e1d
commit 7158b15560
2 changed files with 46 additions and 19 deletions

View File

@ -105,7 +105,8 @@ procedure TLazFindInFilesDialog.DirectoryBrowseClick(Sender: TObject);
begin begin
InitIDEFileDialog(SelectDirectoryDialog); InitIDEFileDialog(SelectDirectoryDialog);
if DirectoryExists(DirectoryComboBox.Text) then if DirectoryExists(DirectoryComboBox.Text) then
SelectDirectoryDialog.InitialDir := DirectoryComboBox.Text else SelectDirectoryDialog.InitialDir := DirectoryComboBox.Text
else
SelectDirectoryDialog.InitialDir := GetCurrentDir; SelectDirectoryDialog.InitialDir := GetCurrentDir;
if SelectDirectoryDialog.Execute then if SelectDirectoryDialog.Execute then
DirectoryComboBox.Text := SelectDirectoryDialog.FileName; DirectoryComboBox.Text := SelectDirectoryDialog.FileName;

View File

@ -4775,27 +4775,53 @@ procedure TSourceNotebook.LoadFindInFilesHistory(ADialog: TLazFindInFilesDialog)
if AComboBox.Items.Count>0 then if AComboBox.Items.Count>0 then
AComboBox.ItemIndex := 0; AComboBox.ItemIndex := 0;
end; end;
begin procedure AddFileToComboBox(AComboBox: TComboBox; const Filename: string);
if Assigned(ADialog) then var
i: Integer;
begin begin
with ADialog, InputHistories do if Filename='' then exit;
begin for i:=0 to AComboBox.Items.Count-1 do begin
//DebugLn('TSourceNotebook.LoadFindInFilesHistory ',dbgsName(TextToFindComboBox),' ',dbgsName(FindHistory)); if CompareFilenames(Filename,AComboBox.Items[i])=0 then begin
TextToFindComboBox.Items.Assign(FindHistory); // move to front (but not top, top should be the last used directory)
ReplaceTextComboBox.Items.Assign(ReplaceHistory); if i>2 then
if not EditorOpts.FindTextAtCursor then begin AComboBox.Items.Move(i,1);
if TextToFindComboBox.Items.Count>0 then begin exit;
//debugln('TSourceNotebook.LoadFindInFilesHistory A TextToFindComboBox.Text=',TextToFindComboBox.Text);
TextToFindComboBox.ItemIndex:=0;
TextToFindComboBox.SelectAll;
//debugln('TSourceNotebook.LoadFindInFilesHistory B TextToFindComboBox.Text=',TextToFindComboBox.Text);
end;
end; end;
AssignToComboBox(DirectoryComboBox, FindInFilesPathHistory);
AssignToComboBox(FileMaskComboBox, FindInFilesMaskHistory);
Options:=FindInFilesSearchOptions;
end; end;
// insert in front (but not top, top should be the last used directory)
if AComboBox.Items.Count>0 then
i:=1
else
i:=0;
AComboBox.Items.Insert(i,Filename);
end;
var
SrcEdit: TSourceEditor;
begin
if not Assigned(ADialog) then exit;
SrcEdit:=GetActiveSE;
with ADialog, InputHistories do
begin
//DebugLn('TSourceNotebook.LoadFindInFilesHistory ',dbgsName(TextToFindComboBox),' ',dbgsName(FindHistory));
TextToFindComboBox.Items.Assign(FindHistory);
ReplaceTextComboBox.Items.Assign(ReplaceHistory);
if not EditorOpts.FindTextAtCursor then begin
if TextToFindComboBox.Items.Count>0 then begin
//debugln('TSourceNotebook.LoadFindInFilesHistory A TextToFindComboBox.Text=',TextToFindComboBox.Text);
TextToFindComboBox.ItemIndex:=0;
TextToFindComboBox.SelectAll;
//debugln('TSourceNotebook.LoadFindInFilesHistory B TextToFindComboBox.Text=',TextToFindComboBox.Text);
end;
end;
// show last used directories and directory of current file
AssignToComboBox(DirectoryComboBox, FindInFilesPathHistory);
if (SrcEdit<>nil) and (FilenameIsAbsolute(SrcEdit.FileName)) then
AddFileToComboBox(DirectoryComboBox, ExtractFilePath(SrcEdit.FileName));
// show last used file masks
AssignToComboBox(FileMaskComboBox, FindInFilesMaskHistory);
Options:=FindInFilesSearchOptions;
end; end;
end; end;