mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 07:42:33 +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;
|
||||
|
||||
SourceEditorMenuRoot.MenuItem:=SrcPopupMenu.Items;
|
||||
//SourceEditorMenuRoot.BeginUpdate;
|
||||
try
|
||||
RemoveUserDefinedMenuItems;
|
||||
RemoveContextMenuItems;
|
||||
RemoveUserDefinedMenuItems;
|
||||
RemoveContextMenuItems;
|
||||
|
||||
ASrcEdit:=FindSourceEditorWithEditorComponent(TPopupMenu(Sender).PopupComponent);
|
||||
Assert(Assigned(ASrcEdit), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit=nil');
|
||||
Assert((ASrcEdit=GetActiveSE), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit<>GetActiveSE');
|
||||
EditorComp:=ASrcEdit.EditorComponent;
|
||||
ASrcEdit:=FindSourceEditorWithEditorComponent(TPopupMenu(Sender).PopupComponent);
|
||||
Assert(Assigned(ASrcEdit), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit=nil');
|
||||
Assert((ASrcEdit=GetActiveSE), 'TSourceNotebook.SrcPopUpMenuPopup: ASrcEdit<>GetActiveSE');
|
||||
EditorComp:=ASrcEdit.EditorComponent;
|
||||
|
||||
SrcEditMenuReadOnly.Checked:=ASrcEdit.ReadOnly;
|
||||
SrcEditMenuShowLineNumbers.Checked := ASrcEdit.EditorComponent.Gutter.LineNumberPart.Visible;
|
||||
SrcEditMenuDisableI18NForLFM.Visible:=false;
|
||||
SrcEditMenuReadOnly.Checked:=ASrcEdit.ReadOnly;
|
||||
SrcEditMenuShowLineNumbers.Checked := ASrcEdit.EditorComponent.Gutter.LineNumberPart.Visible;
|
||||
SrcEditMenuDisableI18NForLFM.Visible:=false;
|
||||
|
||||
UpdateHighlightMenuItems(ASrcEdit);
|
||||
UpdateEncodingMenuItems(ASrcEdit);
|
||||
UpdateLineEndingMenuItems(ASrcEdit);
|
||||
UpdateHighlightMenuItems(ASrcEdit);
|
||||
UpdateEncodingMenuItems(ASrcEdit);
|
||||
UpdateLineEndingMenuItems(ASrcEdit);
|
||||
|
||||
// ask Codetools
|
||||
CurFilename:=ASrcEdit.FileName;
|
||||
ShortFileName:=ExtractFileName(CurFilename);
|
||||
MainCodeBuf:=nil;
|
||||
if FilenameIsPascalUnit(ShortFileName)
|
||||
or (CompareFileExt(ShortFileName,'.inc',true)=0) then
|
||||
MainCodeBuf:=CodeToolBoss.GetMainCode(ASrcEdit.CodeBuffer)
|
||||
else if FilenameIsPascalSource(ShortFileName) then
|
||||
MainCodeBuf:=ASrcEdit.CodeBuffer;
|
||||
// ask Codetools
|
||||
CurFilename:=ASrcEdit.FileName;
|
||||
ShortFileName:=ExtractFileName(CurFilename);
|
||||
MainCodeBuf:=nil;
|
||||
if FilenameIsPascalUnit(ShortFileName)
|
||||
or (CompareFileExt(ShortFileName,'.inc',true)=0) then
|
||||
MainCodeBuf:=CodeToolBoss.GetMainCode(ASrcEdit.CodeBuffer)
|
||||
else if FilenameIsPascalSource(ShortFileName) then
|
||||
MainCodeBuf:=ASrcEdit.CodeBuffer;
|
||||
|
||||
if (FilenameIsAbsolute(CurFilename)) then begin
|
||||
if (MainCodeBuf<>nil) and (MainCodeBuf<>ASrcEdit.CodeBuffer)
|
||||
and (not MainCodeBuf.IsVirtual) then begin
|
||||
// this is an include file => add link to open unit
|
||||
CurFilename:=MainCodeBuf.Filename;
|
||||
ShortFileName:=ExtractFileName(CurFilename);
|
||||
AddContextPopupMenuItem(
|
||||
Format(lisOpenLfm,
|
||||
[CreateRelativePath(CurFilename,ExtractFilePath(ASrcEdit.Filename))]),
|
||||
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);
|
||||
if (FilenameIsAbsolute(CurFilename)) then begin
|
||||
if (MainCodeBuf<>nil) and (MainCodeBuf<>ASrcEdit.CodeBuffer)
|
||||
and (not MainCodeBuf.IsVirtual) then begin
|
||||
// this is an include file => add link to open unit
|
||||
CurFilename:=MainCodeBuf.Filename;
|
||||
ShortFileName:=ExtractFileName(CurFilename);
|
||||
AddContextPopupMenuItem(
|
||||
Format(lisOpenLfm,
|
||||
[CreateRelativePath(CurFilename,ExtractFilePath(ASrcEdit.Filename))]),
|
||||
true,@OnPopupMenuOpenFile);
|
||||
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);
|
||||
if FilenameIsPascalUnit(ShortFileName) then begin
|
||||
MaybeAddPopup('.lfm');
|
||||
MaybeAddPopup('.dfm');
|
||||
MaybeAddPopup('.lrs');
|
||||
MaybeAddPopup('.s');
|
||||
end;
|
||||
|
||||
if Assigned(Manager.OnPopupMenu) then
|
||||
Manager.OnPopupMenu(@AddContextPopupMenuItem);
|
||||
SourceEditorMenuRoot.NotifySubSectionOnShow(Self);
|
||||
finally
|
||||
//SourceEditorMenuRoot.EndUpdate;
|
||||
//SrcPopupMenu.Items.WriteDebugReport('TSourceNotebook.SrcPopUpMenuPopup() ');
|
||||
// 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;
|
||||
|
||||
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;
|
||||
|
||||
procedure TSourceNotebook.DbgPopUpMenuPopup(Sender: TObject);
|
||||
|
Loading…
Reference in New Issue
Block a user