IDE: clean up

git-svn-id: trunk@52934 -
This commit is contained in:
mattias 2016-09-08 08:03:11 +00:00
parent 784b68175b
commit 7cbaf52c25

View File

@ -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);