IDE, Debugger: Callstack, implement middle (double) click for "set as current" (and jump to source)

This commit is contained in:
Martin 2025-06-18 16:36:20 +02:00
parent 175ac42f2b
commit 653d387b2e
2 changed files with 24 additions and 0 deletions

View File

@ -44,6 +44,7 @@ object CallStackDlg: TCallStackDlg
ViewStyle = vsReport
OnClick = lvCallStackClick
OnDblClick = lvCallStackDBLCLICK
OnMouseDown = lvCallStackMouseDown
end
object ToolBar1: TToolBar
Left = 0

View File

@ -114,6 +114,8 @@ type
procedure actViewUpExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure lvCallStackClick(Sender: TObject);
procedure lvCallStackMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
procedure popCountClick(Sender: TObject);
procedure ToolButtonPowerClick(Sender: TObject);
procedure txtGotoKeyPress(Sender: TObject; var Key: char);
@ -958,6 +960,27 @@ begin
ToggleBreakPoint(Item);
end;
procedure TCallStackDlg.lvCallStackMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
itm: TListItem;
begin
if Button = mbMiddle then begin
itm := lvCallStack.GetItemAt(X, Y);
if itm <> nil then begin
DisableAllActions;
try
itm.Selected := True;
actSetAsCurrentClick(nil);
if ssDouble in Shift then
JumpToSource;
finally
EnableAllActions;
end;
end;
end;
end;
procedure TCallStackDlg.actViewLimitExecute(Sender: TObject);
begin
try