mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 21:00:43 +02:00
IDE: clean up
git-svn-id: trunk@52934 -
This commit is contained in:
parent
784b68175b
commit
7cbaf52c25
@ -6661,94 +6661,89 @@ begin
|
|||||||
IDECommandList.ExecuteUpdateEvents;
|
IDECommandList.ExecuteUpdateEvents;
|
||||||
|
|
||||||
SourceEditorMenuRoot.MenuItem:=SrcPopupMenu.Items;
|
SourceEditorMenuRoot.MenuItem:=SrcPopupMenu.Items;
|
||||||
//SourceEditorMenuRoot.BeginUpdate;
|
RemoveUserDefinedMenuItems;
|
||||||
try
|
RemoveContextMenuItems;
|
||||||
RemoveUserDefinedMenuItems;
|
|
||||||
RemoveContextMenuItems;
|
|
||||||
|
|
||||||
ASrcEdit:=FindSourceEditorWithEditorComponent(TPopupMenu(Sender).PopupComponent);
|
ASrcEdit:=FindSourceEditorWithEditorComponent(TPopupMenu(Sender).PopupComponent);
|
||||||
Assert(Assigned(ASrcEdit), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit=nil');
|
Assert(Assigned(ASrcEdit), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit=nil');
|
||||||
Assert((ASrcEdit=GetActiveSE), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit<>GetActiveSE');
|
Assert((ASrcEdit=GetActiveSE), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit<>GetActiveSE');
|
||||||
EditorComp:=ASrcEdit.EditorComponent;
|
EditorComp:=ASrcEdit.EditorComponent;
|
||||||
|
|
||||||
SrcEditMenuReadOnly.Checked:=ASrcEdit.ReadOnly;
|
SrcEditMenuReadOnly.Checked:=ASrcEdit.ReadOnly;
|
||||||
SrcEditMenuShowLineNumbers.Checked := ASrcEdit.EditorComponent.Gutter.LineNumberPart.Visible;
|
SrcEditMenuShowLineNumbers.Checked := ASrcEdit.EditorComponent.Gutter.LineNumberPart.Visible;
|
||||||
SrcEditMenuDisableI18NForLFM.Visible:=false;
|
SrcEditMenuDisableI18NForLFM.Visible:=false;
|
||||||
|
|
||||||
UpdateHighlightMenuItems(ASrcEdit);
|
UpdateHighlightMenuItems(ASrcEdit);
|
||||||
UpdateEncodingMenuItems(ASrcEdit);
|
UpdateEncodingMenuItems(ASrcEdit);
|
||||||
UpdateLineEndingMenuItems(ASrcEdit);
|
UpdateLineEndingMenuItems(ASrcEdit);
|
||||||
|
|
||||||
// ask Codetools
|
// ask Codetools
|
||||||
CurFilename:=ASrcEdit.FileName;
|
CurFilename:=ASrcEdit.FileName;
|
||||||
ShortFileName:=ExtractFileName(CurFilename);
|
ShortFileName:=ExtractFileName(CurFilename);
|
||||||
MainCodeBuf:=nil;
|
MainCodeBuf:=nil;
|
||||||
if FilenameIsPascalUnit(ShortFileName)
|
if FilenameIsPascalUnit(ShortFileName)
|
||||||
or (CompareFileExt(ShortFileName,'.inc',true)=0) then
|
or (CompareFileExt(ShortFileName,'.inc',true)=0) then
|
||||||
MainCodeBuf:=CodeToolBoss.GetMainCode(ASrcEdit.CodeBuffer)
|
MainCodeBuf:=CodeToolBoss.GetMainCode(ASrcEdit.CodeBuffer)
|
||||||
else if FilenameIsPascalSource(ShortFileName) then
|
else if FilenameIsPascalSource(ShortFileName) then
|
||||||
MainCodeBuf:=ASrcEdit.CodeBuffer;
|
MainCodeBuf:=ASrcEdit.CodeBuffer;
|
||||||
|
|
||||||
if (FilenameIsAbsolute(CurFilename)) then begin
|
if (FilenameIsAbsolute(CurFilename)) then begin
|
||||||
if (MainCodeBuf<>nil) and (MainCodeBuf<>ASrcEdit.CodeBuffer)
|
if (MainCodeBuf<>nil) and (MainCodeBuf<>ASrcEdit.CodeBuffer)
|
||||||
and (not MainCodeBuf.IsVirtual) then begin
|
and (not MainCodeBuf.IsVirtual) then begin
|
||||||
// this is an include file => add link to open unit
|
// this is an include file => add link to open unit
|
||||||
CurFilename:=MainCodeBuf.Filename;
|
CurFilename:=MainCodeBuf.Filename;
|
||||||
ShortFileName:=ExtractFileName(CurFilename);
|
ShortFileName:=ExtractFileName(CurFilename);
|
||||||
AddContextPopupMenuItem(
|
AddContextPopupMenuItem(
|
||||||
Format(lisOpenLfm,
|
Format(lisOpenLfm,
|
||||||
[CreateRelativePath(CurFilename,ExtractFilePath(ASrcEdit.Filename))]),
|
[CreateRelativePath(CurFilename,ExtractFilePath(ASrcEdit.Filename))]),
|
||||||
true,@OnPopupMenuOpenFile);
|
true,@OnPopupMenuOpenFile);
|
||||||
end;
|
|
||||||
if FilenameIsPascalUnit(ShortFileName) then begin
|
|
||||||
MaybeAddPopup('.lfm');
|
|
||||||
MaybeAddPopup('.dfm');
|
|
||||||
MaybeAddPopup('.lrs');
|
|
||||||
MaybeAddPopup('.s');
|
|
||||||
end;
|
|
||||||
// ToDo: unit resources
|
|
||||||
if (CompareFileExt(ShortFileName,'.lfm',true)=0)
|
|
||||||
or (CompareFileExt(ShortFileName,'.dfm',true)=0) then begin
|
|
||||||
MaybeAddPopup('.pas');
|
|
||||||
MaybeAddPopup('.pp');
|
|
||||||
MaybeAddPopup('.p');
|
|
||||||
end;
|
|
||||||
if (CompareFileExt(ShortFileName,'.lpi',true)=0)
|
|
||||||
or (CompareFileExt(ShortFileName,'.lpk',true)=0) then begin
|
|
||||||
AddContextPopupMenuItem(
|
|
||||||
Format(lisOpenLfm,[ShortFileName]),true,@OnPopupMenuOpenFile);
|
|
||||||
end;
|
|
||||||
FPDocSrc:=LazarusHelp.GetFPDocFilenameForSource(CurFilename,false,AnOwner);
|
|
||||||
if FPDocSrc<>'' then
|
|
||||||
AddContextPopupMenuItem(
|
|
||||||
Format(lisOpenLfm,
|
|
||||||
[CreateRelativePath(FPDocSrc,ExtractFilePath(CurFilename))]),
|
|
||||||
true,@OnPopupMenuOpenFile);
|
|
||||||
end;
|
end;
|
||||||
|
if FilenameIsPascalUnit(ShortFileName) then begin
|
||||||
EditorPopupPoint:=EditorComp.ScreenToClient(SrcPopUpMenu.PopupPoint);
|
MaybeAddPopup('.lfm');
|
||||||
if EditorPopupPoint.X<=EditorComp.Gutter.Width then begin
|
MaybeAddPopup('.dfm');
|
||||||
EditorCaret := EditorComp.PhysicalToLogicalPos(EditorComp.PixelsToRowColumn(EditorPopupPoint));
|
MaybeAddPopup('.lrs');
|
||||||
// user clicked on gutter
|
MaybeAddPopup('.s');
|
||||||
SourceEditorMarks.GetMarksForLine(ASrcEdit, EditorCaret.y, Marks, MarkCount);
|
|
||||||
if Marks <> nil then begin
|
|
||||||
for i := 0 to MarkCount-1 do
|
|
||||||
Marks[i].CreatePopupMenuItems(@AddUserDefinedPopupMenuItem);
|
|
||||||
FreeMem(Marks);
|
|
||||||
end;
|
|
||||||
if (EditorCaret.Y<=EditorComp.Lines.Count)
|
|
||||||
and (MessagesView<>nil) then
|
|
||||||
MessagesView.SourceEditorPopup(EditorComp.Marks.Line[EditorCaret.Y],
|
|
||||||
EditorComp.LogicalCaretXY);
|
|
||||||
end;
|
end;
|
||||||
|
// ToDo: unit resources
|
||||||
if Assigned(Manager.OnPopupMenu) then
|
if (CompareFileExt(ShortFileName,'.lfm',true)=0)
|
||||||
Manager.OnPopupMenu(@AddContextPopupMenuItem);
|
or (CompareFileExt(ShortFileName,'.dfm',true)=0) then begin
|
||||||
SourceEditorMenuRoot.NotifySubSectionOnShow(Self);
|
MaybeAddPopup('.pas');
|
||||||
finally
|
MaybeAddPopup('.pp');
|
||||||
//SourceEditorMenuRoot.EndUpdate;
|
MaybeAddPopup('.p');
|
||||||
//SrcPopupMenu.Items.WriteDebugReport('TSourceNotebook.SrcPopUpMenuPopup() ');
|
end;
|
||||||
|
if (CompareFileExt(ShortFileName,'.lpi',true)=0)
|
||||||
|
or (CompareFileExt(ShortFileName,'.lpk',true)=0) then begin
|
||||||
|
AddContextPopupMenuItem(
|
||||||
|
Format(lisOpenLfm,[ShortFileName]),true,@OnPopupMenuOpenFile);
|
||||||
|
end;
|
||||||
|
FPDocSrc:=LazarusHelp.GetFPDocFilenameForSource(CurFilename,false,AnOwner);
|
||||||
|
if FPDocSrc<>'' then
|
||||||
|
AddContextPopupMenuItem(
|
||||||
|
Format(lisOpenLfm,
|
||||||
|
[CreateRelativePath(FPDocSrc,ExtractFilePath(CurFilename))]),
|
||||||
|
true,@OnPopupMenuOpenFile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
EditorPopupPoint:=EditorComp.ScreenToClient(SrcPopUpMenu.PopupPoint);
|
||||||
|
if EditorPopupPoint.X<=EditorComp.Gutter.Width then begin
|
||||||
|
EditorCaret := EditorComp.PhysicalToLogicalPos(EditorComp.PixelsToRowColumn(EditorPopupPoint));
|
||||||
|
// user clicked on gutter
|
||||||
|
SourceEditorMarks.GetMarksForLine(ASrcEdit, EditorCaret.y, Marks, MarkCount);
|
||||||
|
if Marks <> nil then begin
|
||||||
|
for i := 0 to MarkCount-1 do
|
||||||
|
Marks[i].CreatePopupMenuItems(@AddUserDefinedPopupMenuItem);
|
||||||
|
FreeMem(Marks);
|
||||||
|
end;
|
||||||
|
if (EditorCaret.Y<=EditorComp.Lines.Count)
|
||||||
|
and (MessagesView<>nil) then
|
||||||
|
MessagesView.SourceEditorPopup(EditorComp.Marks.Line[EditorCaret.Y],
|
||||||
|
EditorComp.LogicalCaretXY);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(Manager.OnPopupMenu) then
|
||||||
|
Manager.OnPopupMenu(@AddContextPopupMenuItem);
|
||||||
|
SourceEditorMenuRoot.NotifySubSectionOnShow(Self);
|
||||||
|
//SrcPopupMenu.Items.WriteDebugReport('TSourceNotebook.SrcPopUpMenuPopup() ');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.DbgPopUpMenuPopup(Sender: TObject);
|
procedure TSourceNotebook.DbgPopUpMenuPopup(Sender: TObject);
|
||||||
|
Loading…
Reference in New Issue
Block a user