ide: use unit dialog: start with selected text or word at cursor.

git-svn-id: trunk@51919 -
This commit is contained in:
ondrej 2016-03-11 16:37:46 +00:00
parent 712eae76cd
commit 5149a4f43b
2 changed files with 21 additions and 4 deletions

View File

@ -72,7 +72,7 @@ uses
FileUtil, LazFileUtils, LazFileCache, LazUTF8, LazUTF8Classes, UTF8Process, FileUtil, LazFileUtils, LazFileCache, LazUTF8, LazUTF8Classes, UTF8Process,
LConvEncoding, Laz2_XMLCfg, LazLogger, LConvEncoding, Laz2_XMLCfg, LazLogger,
// SynEdit // SynEdit
AllSynEdit, SynEditKeyCmds, SynEditMarks, SynEditHighlighter, SynEdit, AllSynEdit, SynEditKeyCmds, SynEditMarks, SynEditHighlighter,
// IDE interface // IDE interface
IDEIntf, ObjectInspector, PropEdits, PropEditUtils, IDEIntf, ObjectInspector, PropEdits, PropEditUtils,
MacroIntf, IDECommands, IDEWindowIntf, ComponentReg, MacroIntf, IDECommands, IDEWindowIntf, ComponentReg,
@ -9974,8 +9974,23 @@ begin
end; end;
function TMainIDE.DoUseUnit: TModalResult; function TMainIDE.DoUseUnit: TModalResult;
var
TempEditor: TSourceEditorInterface;
DefText: String;
begin begin
Result:=ShowUseUnitDialog; DefText:='';
TempEditor := SourceEditorManagerIntf.ActiveEditor;
if TempEditor <> nil then
begin
if EditorOpts.FindTextAtCursor then
begin
if TempEditor.SelectionAvailable and (TempEditor.BlockBegin.Y = TempEditor.BlockEnd.Y)
then DefText := TempEditor.Selection
else DefText := TSynEdit(TempEditor.EditorControl).GetWordAtRowCol(TempEditor.CursorTextXY);
end;
end;
Result:=ShowUseUnitDialog(DefText);
end; end;
function TMainIDE.DoFindOverloads: TModalResult; function TMainIDE.DoFindOverloads: TModalResult;

View File

@ -73,13 +73,13 @@ type
end; end;
function ShowUseUnitDialog: TModalResult; function ShowUseUnitDialog(const DefText: string): TModalResult;
implementation implementation
{$R *.lfm} {$R *.lfm}
function ShowUseUnitDialog: TModalResult; function ShowUseUnitDialog(const DefText: string): TModalResult;
var var
UseUnitDlg: TUseUnitDialog; UseUnitDlg: TUseUnitDialog;
SrcEdit: TSourceEditor; SrcEdit: TSourceEditor;
@ -125,6 +125,8 @@ begin
Exit(mrCancel); Exit(mrCancel);
end; end;
UseUnitDlg.FilterEdit.Text := DefText;
// Show the dialog. // Show the dialog.
if UseUnitDlg.ShowModal=mrOk then begin if UseUnitDlg.ShowModal=mrOk then begin