diff --git a/debugger/debugeventsform.lfm b/debugger/debugeventsform.lfm index b372fca7e5..6232044381 100644 --- a/debugger/debugeventsform.lfm +++ b/debugger/debugeventsform.lfm @@ -254,4 +254,16 @@ inherited DbgEventsForm: TDbgEventsForm 000600000001FFFFFF00FFFFFF00 } end + object ActionList1: TActionList[2] + left = 216 + top = 64 + object EditCopy1: TEditCopy + Category = 'Edit' + Caption = '&Copy' + Hint = 'Copy' + OnExecute = EditCopy1Execute + OnUpdate = EditCopy1Update + ShortCut = 16451 + end + end end diff --git a/debugger/debugeventsform.pp b/debugger/debugeventsform.pp index cf69b20e2c..4b20d99d2d 100644 --- a/debugger/debugeventsform.pp +++ b/debugger/debugeventsform.pp @@ -33,15 +33,19 @@ unit DebugEventsForm; interface uses - Classes, SysUtils, Forms, Controls, Graphics, ExtCtrls, ComCtrls, - Debugger, DebuggerDlg, LazarusIDEStrConsts, EnvironmentOpts; + Classes, SysUtils, Forms, Controls, Graphics, ExtCtrls, ComCtrls, ActnList, + StdActns, ClipBrd, Debugger, DebuggerDlg, LazarusIDEStrConsts, EnvironmentOpts; type { TDbgEventsForm } TDbgEventsForm = class(TDebuggerDlg) + ActionList1: TActionList; + EditCopy1: TEditCopy; imlMain: TImageList; tvFilteredEvents: TTreeView; + procedure EditCopy1Execute(Sender: TObject); + procedure EditCopy1Update(Sender: TObject); procedure tvFilteredEventsAdvancedCustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage; var PaintImages, DefaultDraw: Boolean); @@ -100,6 +104,18 @@ begin Sender.Canvas.TextOut(TextRect.Left, TextY, Node.Text); end; +procedure TDbgEventsForm.EditCopy1Execute(Sender: TObject); +begin + Clipboard.Open; + Clipboard.AsText := tvFilteredEvents.Selected.Text; + Clipboard.Close; +end; + +procedure TDbgEventsForm.EditCopy1Update(Sender: TObject); +begin + EditCopy1.Enabled := Assigned(tvFilteredEvents.Selected); +end; + procedure TDbgEventsForm.UpdateFilteredList; const CategoryImages: array [TDBGEventCategory] of Integer = (