IDE: Implement menu item "Source -> Insert full Filename". Issue #20223

git-svn-id: trunk@32315 -
This commit is contained in:
juha 2011-09-13 12:51:52 +00:00
parent 02fe94e967
commit bd5b8298a9
6 changed files with 60 additions and 23 deletions

View File

@ -354,6 +354,7 @@ begin
ecInsertCVSRevision: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecInsertCVSSource: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecInsertGUID: SetResult(VK_G, [ssCtrl,ssShift],VK_UNKNOWN,[]);
ecInsertFilename: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
// command commands
ecUndo: SetResult(VK_Z,[ssCtrl],VK_UNKNOWN,[]);
@ -1449,6 +1450,7 @@ begin
ecInsertCVSRevision: SetSingle(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecInsertCVSSource: SetSingle(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecInsertGUID: SetSingle(VK_G, [ssCtrl,ssShift],VK_UNKNOWN,[]);
ecInsertFilename: SetSingle(VK_UNKNOWN,[],VK_UNKNOWN,[]);
// command commands
ecUndo: SetSingle(VK_Z,[ssMeta],VK_UNKNOWN,[]);
@ -2086,6 +2088,7 @@ begin
ecInsertCVSRevision : Result:= srkmecInsertCVSRevision;
ecInsertCVSSource : Result:= srkmecInsertCVSSource;
ecInsertGUID : Result:= srkmecInsertGUID;
ecInsertFilename : Result:= srkmecInsertFilename;
// search menu
ecFind : Result:= srkmecFind;
@ -2572,6 +2575,7 @@ begin
AddDefault(C, 'Insert CVS keyword Revision', srkmecInsertCVSRevision, ecInsertCVSRevision);
AddDefault(C, 'Insert CVS keyword Source', srkmecInsertCVSSource, ecInsertCVSSource);
AddDefault(C, 'Insert a GUID',srkmecInsertGUID, ecInsertGUID);
AddDefault(C, 'Insert full Filename',srkmecInsertFilename, ecInsertFilename);
// command commands
C:=Categories[AddCategory('CommandCommands',srkmCatCmdCmd,nil)];

View File

@ -2561,6 +2561,8 @@ resourcestring
srkmecInsertCVSRevision = 'Insert CVS keyword Revision';
srkmecInsertCVSSource = 'Insert CVS keyword Source';
srkmecInsertGUID = 'Insert a GUID';
srkmecInsertFilename = 'Insert full Filename';
lisMenuInsertFilename = 'Insert full Filename ...';
// search menu
srkmecFind = 'Find text';

View File

@ -285,6 +285,8 @@ type
procedure mnuSourceInsertDateTimeClick(Sender: TObject);
procedure mnuSourceInsertChangeLogEntryClick(Sender: TObject);
procedure mnuSourceInsertGUID(Sender: TObject);
// source->insert full Filename
procedure mnuSourceInsertFilename(Sender: TObject);
// source->Tools
procedure mnuSourceUnitInfoClicked(Sender: TObject);
@ -1046,6 +1048,7 @@ type
function DoDiff: TModalResult;
function DoFindInFiles: TModalResult;
procedure DoInsertGUID;
procedure DoInsertFilename;
// conversion
function DoConvertDFMtoLFM: TModalResult;
@ -2587,6 +2590,7 @@ begin
itmSourceInsertDateTime.OnClick:=@mnuSourceInsertDateTimeClick;
itmSourceInsertChangeLogEntry.OnClick:=@mnuSourceInsertChangeLogEntryClick;
itmSourceInsertGUID.OnClick:=@mnuSourceInsertGUID;
itmSourceInsertFilename.OnClick:=@mnuSourceInsertFilename;
// Tools
itmSourceUnitInfo.OnClick := @mnuSourceUnitInfoClicked;
end;
@ -3399,6 +3403,9 @@ begin
ecInsertGUID:
mnuSourceInsertGUID(self);
ecInsertFilename:
mnuSourceInsertFilename(self);
else
Handled:=false;
// let the bosses handle it
@ -18159,6 +18166,11 @@ begin
DoInsertGUID;
end;
procedure TMainIDE.mnuSourceInsertFilename(Sender: TObject);
begin
DoInsertFilename;
end;
procedure TMainIDE.mnuSearchFindInFiles(Sender: TObject);
begin
DoFindInFiles;
@ -18312,13 +18324,28 @@ var
begin
// get active source editor
if not BeginCodeTool(ActiveSrcEdit,ActiveUnitInfo,[]) then exit;
if ActiveSrcEdit = nil then
Exit; //==>
if ActiveSrcEdit = nil then Exit;
CreateGUID(lGUID);
ActiveSrcEdit.Selection := Format(cGUID, [GUIDToString(lGUID)]);
end;
procedure TMainIDE.DoInsertFilename;
var
ActiveSrcEdit: TSourceEditor;
ActiveUnitInfo: TUnitInfo;
begin
if not BeginCodeTool(ActiveSrcEdit,ActiveUnitInfo,[]) then exit;
if ActiveSrcEdit = nil then Exit;
with TOpenDialog.Create(nil) do
try
if Execute then
ActiveSrcEdit.Selection := FileName;
finally
Free;
end;
end;
function TMainIDE.DoReplaceUnitUse(OldFilename, OldUnitName, NewFilename,
NewUnitName: string; IgnoreErrors, Quiet, Confirm: boolean): TModalResult;
{ Replaces all references to a unit

View File

@ -212,27 +212,27 @@ type
itmSourceSyntaxCheck: TIDEMenuCommand;
itmSourceGuessUnclosedBlock: TIDEMenuCommand;
itmSourceGuessMisplacedIFDEF: TIDEMenuCommand;
//itmSourceInsertions: TIDEMenuSection;
//itmSourceInsertCVSKeyWord: TIDEMenuSection;
itmSourceInsertCVSAuthor: TIDEMenuCommand;
itmSourceInsertCVSDate: TIDEMenuCommand;
itmSourceInsertCVSHeader: TIDEMenuCommand;
itmSourceInsertCVSID: TIDEMenuCommand;
itmSourceInsertCVSLog: TIDEMenuCommand;
itmSourceInsertCVSName: TIDEMenuCommand;
itmSourceInsertCVSRevision: TIDEMenuCommand;
itmSourceInsertCVSSource: TIDEMenuCommand;
//itmSourceInsertGeneral: TIDEMenuSection;
itmSourceInsertGPLNotice: TIDEMenuCommand;
itmSourceInsertLGPLNotice: TIDEMenuCommand;
itmSourceInsertModifiedLGPLNotice: TIDEMenuCommand;
itmSourceInsertUsername: TIDEMenuCommand;
itmSourceInsertDateTime: TIDEMenuCommand;
itmSourceInsertChangeLogEntry: TIDEMenuCommand;
itmSourceInsertGUID: TIDEMenuCommand;
itmSourceInsertTodo: TIDEMenuCommand;
// itmSourceTools
itmSourceUnitInfo: TIDEMenuCommand;
//itmSourceInsertCVSKeyWord: TIDEMenuSection;
itmSourceInsertCVSAuthor: TIDEMenuCommand;
itmSourceInsertCVSDate: TIDEMenuCommand;
itmSourceInsertCVSHeader: TIDEMenuCommand;
itmSourceInsertCVSID: TIDEMenuCommand;
itmSourceInsertCVSLog: TIDEMenuCommand;
itmSourceInsertCVSName: TIDEMenuCommand;
itmSourceInsertCVSRevision: TIDEMenuCommand;
itmSourceInsertCVSSource: TIDEMenuCommand;
//itmSourceInsertGeneral: TIDEMenuSection;
itmSourceInsertGPLNotice: TIDEMenuCommand;
itmSourceInsertLGPLNotice: TIDEMenuCommand;
itmSourceInsertModifiedLGPLNotice: TIDEMenuCommand;
itmSourceInsertUsername: TIDEMenuCommand;
itmSourceInsertDateTime: TIDEMenuCommand;
itmSourceInsertChangeLogEntry: TIDEMenuCommand;
itmSourceInsertGUID: TIDEMenuCommand;
itmSourceInsertTodo: TIDEMenuCommand;
itmSourceInsertFilename: TIDEMenuCommand;
// itmSourceTools
itmSourceUnitInfo: TIDEMenuCommand;
// refactor menu
//mnuRefactor: TIDEMenuSection;

View File

@ -617,6 +617,8 @@ begin
CreateMenuItem(SubParentMI,itmSourceInsertChangeLogEntry,'itmSourceInsertChangeLogEntry',lisMenuInsertChangeLogEntry);
CreateMenuItem(SubParentMI,itmSourceInsertGUID,'itmSourceInsertGUID',srkmecInsertGUID);
CreateMenuItem(itmSourceInsertions,itmSourceInsertFilename,'itmSourceInsertFilename',lisMenuInsertFilename);
CreateMenuSeparatorSection(mnuSource,itmSourceTools,'itmSourceTools');
ParentMI:=itmSourceTools;
CreateMenuItem(ParentMI,itmSourceUnitInfo,'itmViewUnitInfo',lisMenuViewUnitInfo, 'menu_view_unit_info');
@ -933,6 +935,7 @@ begin
itmSourceInsertDateTime.Command:=GetCommand(ecInsertDateTime);
itmSourceInsertChangeLogEntry.Command:=GetCommand(ecInsertChangeLogEntry);
itmSourceInsertGUID.Command:=GetCommand(ecInsertGUID);
itmSourceInsertFilename.Command:=GetCommand(ecInsertFilename);
itmSourceUnitInfo.Command:=GetCommand(ecViewUnitInfo);

View File

@ -117,6 +117,7 @@ const
ecInsertCVSSource = ecFirstLazarus + 93;
ecInsertModifiedLGPLNotice= ecFirstLazarus + 94;
ecInsertGUID = ecFirstLazarus + 95;
ecInsertFilename = ecFirstLazarus + 96;
// source tools
ecWordCompletion = ecFirstLazarus + 100;