From f71773d3f0bf4344a9060fb4c0cd6457dd4ead0f Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 1 Jun 2014 18:24:20 +0000 Subject: [PATCH] messages: quickfix items in src git-svn-id: trunk@45290 - --- ide/etmessageframe.pas | 12 ++---------- ide/etmessageswnd.pas | 10 +++++----- ide/sourceeditor.pp | 5 +++-- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/ide/etmessageframe.pas b/ide/etmessageframe.pas index 65c3f1fe4e..35f6fa7665 100644 --- a/ide/etmessageframe.pas +++ b/ide/etmessageframe.pas @@ -446,7 +446,7 @@ type DeleteOld: boolean); procedure ApplySrcChanges(Changes: TETSingleSrcChanges); procedure ApplyMultiSrcChanges(Changes: TETMultiSrcChanges); - procedure SourceEditorPopup(aSrcEdit: TSourceEditorInterface); + procedure SourceEditorPopup(MarkLine: TSynEditMarkLine); // message lines procedure SelectMsgLine(Msg: TMessageLine; DoScroll: boolean); @@ -3742,21 +3742,13 @@ begin ApplySrcChanges(TETSingleSrcChanges(Node.Data)); end; -procedure TMessagesFrame.SourceEditorPopup(aSrcEdit: TSourceEditorInterface); +procedure TMessagesFrame.SourceEditorPopup(MarkLine: TSynEditMarkLine); var - LineCol: TPoint; - aSynEdit: TSynEdit; - MarkLine: TSynEditMarkLine; i: Integer; Mark: TETMark; begin //debugln(['TMessagesFrame.SourceEditorPopup ']); // get all marks of the current source editor line - aSynEdit:=TSynEdit(aSrcEdit.EditorControl); - if not (aSynEdit is TSynEdit) then exit; - LineCol:=aSrcEdit.CursorScreenXY; - if LineCol.Y>aSynEdit.Lines.Count then exit; - MarkLine:=aSynEdit.Marks.Line[LineCol.Y]; if MarkLine=nil then exit; IDEQuickFixes.ClearLines; for i:=0 to MarkLine.Count-1 do begin diff --git a/ide/etmessageswnd.pas b/ide/etmessageswnd.pas index 33c1f30301..d7f611254a 100644 --- a/ide/etmessageswnd.pas +++ b/ide/etmessageswnd.pas @@ -33,8 +33,8 @@ interface uses Classes, SysUtils, FileUtil, IDEMsgIntf, IDEImagesIntf, IDEExternToolIntf, - LazIDEIntf, SrcEditorIntf, Forms, Controls, Graphics, Dialogs, LCLProc, - etMessageFrame, etSrcEditMarks, etQuickFixes; + LazIDEIntf, SrcEditorIntf, SynEditMarks, Forms, Controls, Graphics, Dialogs, + LCLProc, etMessageFrame, etSrcEditMarks, etQuickFixes; type @@ -76,7 +76,7 @@ type const ViewCaption: string=''): TMessageLine; override; // misc - procedure SourceEditorPopup(aSrcEdit: TSourceEditorInterface); + procedure SourceEditorPopup(MarkLine: TSynEditMarkLine); // options procedure ApplyIDEOptions; @@ -156,9 +156,9 @@ begin LineNumber,Column,ViewCaption); end; -procedure TMessagesView.SourceEditorPopup(aSrcEdit: TSourceEditorInterface); +procedure TMessagesView.SourceEditorPopup(MarkLine: TSynEditMarkLine); begin - MessagesFrame1.SourceEditorPopup(aSrcEdit); + MessagesFrame1.SourceEditorPopup(MarkLine); end; procedure TMessagesView.Clear; diff --git a/ide/sourceeditor.pp b/ide/sourceeditor.pp index 022fe4f655..55f241b535 100644 --- a/ide/sourceeditor.pp +++ b/ide/sourceeditor.pp @@ -6409,8 +6409,9 @@ begin FreeMem(Marks); end; {$IFDEF EnableNewExtTools} - if MessagesView<>nil then - MessagesView.SourceEditorPopup(ASrcEdit); + if (EditorCaret.Y<=EditorComp.Lines.Count) + and (MessagesView<>nil) then + MessagesView.SourceEditorPopup(EditorComp.Marks.Line[EditorCaret.Y]); {$ENDIF} end;