mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 18:22:54 +02:00
IDE, Debugger-conf: Make sure debugger path history is saved
git-svn-id: trunk@62024 -
This commit is contained in:
parent
9c7ef38222
commit
51b18e32f4
@ -87,6 +87,7 @@ type
|
|||||||
procedure FillDebuggerClassDropDown;
|
procedure FillDebuggerClassDropDown;
|
||||||
procedure UpdateDebuggerClass;
|
procedure UpdateDebuggerClass;
|
||||||
procedure UpdateDebuggerClassDropDown;
|
procedure UpdateDebuggerClassDropDown;
|
||||||
|
procedure UpdateDebuggerPathHistory;
|
||||||
procedure FetchDebuggerSpecificOptions;
|
procedure FetchDebuggerSpecificOptions;
|
||||||
function GetDebuggerClassFromDropDown: TDebuggerClass;
|
function GetDebuggerClassFromDropDown: TDebuggerClass;
|
||||||
function GetUniqueName(AName: String): String;
|
function GetUniqueName(AName: String): String;
|
||||||
@ -115,6 +116,7 @@ procedure TDebuggerClassOptionsFrame.cmbDebuggerPathEditingDone(Sender: TObject
|
|||||||
var
|
var
|
||||||
ParsedFName: String;
|
ParsedFName: String;
|
||||||
begin
|
begin
|
||||||
|
UpdateDebuggerPathHistory;
|
||||||
if FSelectedDbgPropertiesConfig = nil then
|
if FSelectedDbgPropertiesConfig = nil then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@ -208,6 +210,7 @@ end;
|
|||||||
|
|
||||||
procedure TDebuggerClassOptionsFrame.tbAddNewClick(Sender: TObject);
|
procedure TDebuggerClassOptionsFrame.tbAddNewClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
UpdateDebuggerPathHistory;
|
||||||
edNameExit(nil);
|
edNameExit(nil);
|
||||||
UpdateDebuggerClass;
|
UpdateDebuggerClass;
|
||||||
cmbDebuggerPathEditingDone(nil);
|
cmbDebuggerPathEditingDone(nil);
|
||||||
@ -226,6 +229,7 @@ var
|
|||||||
pc: TDebuggerPropertiesConfig;
|
pc: TDebuggerPropertiesConfig;
|
||||||
s: String;
|
s: String;
|
||||||
begin
|
begin
|
||||||
|
UpdateDebuggerPathHistory;
|
||||||
if FSelectedDbgPropertiesConfig = nil then
|
if FSelectedDbgPropertiesConfig = nil then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@ -312,7 +316,6 @@ end;
|
|||||||
procedure TDebuggerClassOptionsFrame.UpdateDebuggerClass;
|
procedure TDebuggerClassOptionsFrame.UpdateDebuggerClass;
|
||||||
var
|
var
|
||||||
c: TDebuggerClass;
|
c: TDebuggerClass;
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
if FSelectedDbgPropertiesConfig = nil then
|
if FSelectedDbgPropertiesConfig = nil then
|
||||||
exit;
|
exit;
|
||||||
@ -320,11 +323,7 @@ begin
|
|||||||
if SelectedDebuggerClass = c then
|
if SelectedDebuggerClass = c then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
i := FDebuggerFileHistory.IndexOf(SelectedDebuggerClass.ExePathsMruGroup.ClassName);
|
UpdateDebuggerPathHistory;
|
||||||
Assert((i>=0) or (not SelectedDebuggerClass.NeedsExePath), 'Missing dbg lru');
|
|
||||||
if i >= 0 then // not found if not NeedExePath
|
|
||||||
TStringList(FDebuggerFileHistory.Objects[i]).Assign(cmbDebuggerPath.Items);
|
|
||||||
|
|
||||||
|
|
||||||
FSelectedDbgPropertiesConfig.ChangeDebuggerClass(c, True);
|
FSelectedDbgPropertiesConfig.ChangeDebuggerClass(c, True);
|
||||||
// TOOD: Ask user?
|
// TOOD: Ask user?
|
||||||
@ -345,10 +344,23 @@ begin
|
|||||||
else SetComboBoxText(cmbDebuggerType, SelectedDebuggerClass.Caption,cstCaseInsensitive);
|
else SetComboBoxText(cmbDebuggerType, SelectedDebuggerClass.Caption,cstCaseInsensitive);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TDebuggerClassOptionsFrame.UpdateDebuggerPathHistory;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
if FSelectedDbgPropertiesConfig = nil then
|
||||||
|
exit;
|
||||||
|
i := FDebuggerFileHistory.IndexOf(SelectedDebuggerClass.ExePathsMruGroup.ClassName);
|
||||||
|
Assert((i>=0) or (not SelectedDebuggerClass.NeedsExePath), 'Missing dbg lru');
|
||||||
|
if i >= 0 then // not found if not NeedExePath
|
||||||
|
TStringList(FDebuggerFileHistory.Objects[i]).Assign(cmbDebuggerPath.Items);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TDebuggerClassOptionsFrame.DoNameSelected(Sender: TObject);
|
procedure TDebuggerClassOptionsFrame.DoNameSelected(Sender: TObject);
|
||||||
var
|
var
|
||||||
idx: PtrInt;
|
idx: PtrInt;
|
||||||
begin
|
begin
|
||||||
|
UpdateDebuggerPathHistory;
|
||||||
idx := TMenuItem(Sender).Tag;
|
idx := TMenuItem(Sender).Tag;
|
||||||
|
|
||||||
edNameExit(nil);
|
edNameExit(nil);
|
||||||
@ -639,6 +651,7 @@ var
|
|||||||
i: Integer;
|
i: Integer;
|
||||||
EnvConf: TDebuggerPropertiesConfigList;
|
EnvConf: TDebuggerPropertiesConfigList;
|
||||||
begin
|
begin
|
||||||
|
UpdateDebuggerPathHistory;
|
||||||
with EnvironmentOptions do
|
with EnvironmentOptions do
|
||||||
begin
|
begin
|
||||||
for i := 0 to FDebuggerFileHistory.Count - 1 do
|
for i := 0 to FDebuggerFileHistory.Count - 1 do
|
||||||
|
Loading…
Reference in New Issue
Block a user