mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 06:38:06 +02:00
Debugger: "Value Converter Conf" in "Project Options"
This commit is contained in:
parent
af214f8719
commit
b41163de42
@ -219,7 +219,8 @@ const
|
||||
ProjectOptionsI18N = 600;
|
||||
ProjectOptionsMisc = 700;
|
||||
ProjectOptionsDebug = 800;
|
||||
DbgOptionsLanguageExceptions = 900;
|
||||
DbgOptionsLanguageExceptions = 900;
|
||||
ProjectOptionsDbgValueConvert = 1000;
|
||||
|
||||
GroupPackage = 200100;
|
||||
PackageOptionsUsage = 100;
|
||||
|
@ -1859,6 +1859,8 @@ type
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure DoBackendConverterChanged; virtual; abstract;
|
||||
end;
|
||||
|
||||
procedure RegisterDebugger(const ADebuggerClass: TDebuggerClass);
|
||||
|
@ -59,9 +59,9 @@ uses
|
||||
EvaluateDlg, RegistersDlg, AssemblerDlg, DebugOutputForm, ExceptionDlg,
|
||||
InspectDlg, DebugEventsForm, PseudoTerminalDlg, FeedbackDlg, ThreadDlg,
|
||||
HistoryDlg, ProcessDebugger, IdeDebuggerBase, IdeDebuggerOpts,
|
||||
DbgIntfBaseTypes, DbgIntfDebuggerBase, DbgIntfMiscClasses,
|
||||
DbgIntfPseudoTerminal, LazDebuggerIntf, LazDebuggerIntfBaseTypes,
|
||||
BaseDebugManager;
|
||||
IdeDebuggerBackendValueConv, DbgIntfBaseTypes, DbgIntfDebuggerBase,
|
||||
DbgIntfMiscClasses, DbgIntfPseudoTerminal, LazDebuggerIntf,
|
||||
LazDebuggerIntfBaseTypes, BaseDebugManager;
|
||||
|
||||
|
||||
type
|
||||
@ -216,6 +216,7 @@ type
|
||||
procedure DoRestoreDebuggerMarks(AnUnitInfo: TUnitInfo); override;
|
||||
procedure ClearDebugOutputLog;
|
||||
procedure ClearDebugEventsLog;
|
||||
procedure DoBackendConverterChanged; override;
|
||||
|
||||
function RequiredCompilerOpts(ATargetCPU, ATargetOS: String
|
||||
): TDebugCompilerRequirements; override;
|
||||
@ -2371,6 +2372,22 @@ begin
|
||||
FEventLogManager.ClearDebugEventsLog;
|
||||
end;
|
||||
|
||||
procedure TDebugManager.DoBackendConverterChanged;
|
||||
begin
|
||||
ValueConverterSelectorList.Lock;
|
||||
|
||||
try
|
||||
ValueConverterSelectorList.Clear;
|
||||
if (Project1 <> nil) and (Project1.UseBackendConverterFromProject) then
|
||||
Project1.BackendConverterConfig.AssignEnabledTo(ValueConverterSelectorList, True);
|
||||
if (Project1 = nil) or (Project1.UseBackendConverterFromIDE) then
|
||||
DebuggerOptions.BackendConverterConfig.AssignEnabledTo(ValueConverterSelectorList, True);
|
||||
|
||||
finally
|
||||
ValueConverterSelectorList.Unlock;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDebugManager.RequiredCompilerOpts(ATargetCPU, ATargetOS: String
|
||||
): TDebugCompilerRequirements;
|
||||
begin
|
||||
|
@ -6657,6 +6657,11 @@ resourcestring
|
||||
drsTheDebuggerBackendSelecti = 'The "Debugger Backend" selection from the '
|
||||
+'dropdown (list of IDE debugger backends) is always stored in the session'
|
||||
+'. The project specific backends (below) are by default stored in the LPI.';
|
||||
drsStoreConverterConfigInSes = 'Store converter config in session';
|
||||
drsThisOnlyAffectsTheListOfC = 'This only affects the list of converters '
|
||||
+'below. The options which list to use are always stored in the session';
|
||||
drsUseTheIDEGlobalListOfConv = 'Use the IDE-Global list of converters';
|
||||
drsUseTheProjectListOfConver = 'Use the project list of converters';
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -134,6 +134,7 @@ uses
|
||||
project_application_options, project_forms_options, project_lazdoc_options,
|
||||
project_save_options, project_versioninfo_options, project_i18n_options,
|
||||
project_misc_options, project_resources_options, project_debug_options,
|
||||
project_valconv_options,
|
||||
// project compiler option frames
|
||||
compiler_path_options, compiler_config_target, compiler_parsing_options,
|
||||
compiler_codegen_options, compiler_debugging_options, compiler_verbosity_options,
|
||||
@ -1390,12 +1391,8 @@ begin
|
||||
DebuggerOptions.PrimaryConfigPath := GetPrimaryConfigPath;
|
||||
DebuggerOptions.CreateConfig;
|
||||
DebuggerOptions.Load;
|
||||
ValueConverterSelectorList.Lock;
|
||||
try
|
||||
DebuggerOptions.BackendConverterConfig.AssignEnabledTo(ValueConverterSelectorList);
|
||||
finally
|
||||
ValueConverterSelectorList.Unlock;
|
||||
end;
|
||||
if DebugBoss <> nil then
|
||||
DebugBoss.DoBackendConverterChanged;
|
||||
|
||||
Assert(InputHistories = nil, 'TMainIDE.LoadGlobalOptions: InputHistories is already assigned.');
|
||||
InputHistoriesSO := TInputHistoriesWithSearchOpt.Create;
|
||||
|
@ -6,7 +6,7 @@ interface
|
||||
|
||||
uses
|
||||
SysUtils, Forms, Controls, IDEOptEditorIntf, IDEOptionsIntf,
|
||||
IdeDebuggerStringConstants,
|
||||
DbgIntfDebuggerBase, IdeDebuggerStringConstants,
|
||||
IdeDbgValueConverterSettingsFrame, IdeDebuggerOpts,
|
||||
IdeDebuggerBackendValueConv;
|
||||
|
||||
@ -25,7 +25,6 @@ type
|
||||
procedure ReadSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
|
||||
end;
|
||||
|
||||
procedure Register;
|
||||
@ -76,12 +75,8 @@ begin
|
||||
DebuggerOptions.BackendConverterConfig.Assign(FValConvList);
|
||||
DebuggerOptions.BackendConverterConfig.Changed := True;
|
||||
|
||||
ValueConverterSelectorList.Lock;
|
||||
try
|
||||
DebuggerOptions.BackendConverterConfig.AssignEnabledTo(ValueConverterSelectorList);
|
||||
finally
|
||||
ValueConverterSelectorList.Unlock;
|
||||
end;
|
||||
if DebugBossManager <> nil then
|
||||
DebugBossManager.DoBackendConverterChanged;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -121,22 +121,22 @@ begin
|
||||
pnlCurrentConv.Enabled := lstConverters.Count > 0;
|
||||
|
||||
FCurIdx := lstConverters.ItemIndex;
|
||||
if FCurIdx >= FValConvList.Count then begin
|
||||
if (FCurIdx >= FValConvList.Count) or (FCurIdx < 0) then begin
|
||||
FCurIdx := -1;
|
||||
FCurConvConf := nil;
|
||||
lblDesc.Caption := '';
|
||||
EdName.Text := '';
|
||||
memoTypeNames.Text := '';
|
||||
end
|
||||
else
|
||||
else begin
|
||||
SetCurConv(FValConvList[FCurIdx]);
|
||||
lblDesc.Caption := FCurConvConf.Converter.GetRegistryEntry.GetName;
|
||||
EdName.Text := FCurConvConf.Name;
|
||||
memoTypeNames.Text := FCurConvConf.MatchTypeNames.Text;
|
||||
|
||||
lblDesc.Caption := FCurConvConf.Converter.GetRegistryEntry.GetName;
|
||||
EdName.Text := FCurConvConf.Name;
|
||||
memoTypeNames.Text := FCurConvConf.MatchTypeNames.Text;
|
||||
|
||||
AvailClass := ValueConverterRegistry;
|
||||
dropAction.ItemIndex := AvailClass.IndexOfConvertorClass(FCurConvConf.Converter.GetObject.ClassType);
|
||||
AvailClass := ValueConverterRegistry;
|
||||
dropAction.ItemIndex := AvailClass.IndexOfConvertorClass(FCurConvConf.Converter.GetObject.ClassType);
|
||||
end;
|
||||
|
||||
lstConvertersItemClick(nil, FCurIdx);
|
||||
end;
|
||||
@ -270,7 +270,7 @@ begin
|
||||
lblAction.Caption := dlgBackConvOptAction;
|
||||
|
||||
FCurConvConf := nil;
|
||||
lblDesc.Caption := '-';
|
||||
lblDesc.Caption := '';
|
||||
|
||||
dropAction.Clear;
|
||||
AvailClass := ValueConverterRegistry;
|
||||
|
@ -71,8 +71,8 @@
|
||||
<UnitName Value="IdeDebuggerStringConstants"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Filename Value="idedebuggerfpdbgvalueconv.pas"/>
|
||||
<UnitName Value="IdeDebuggerFpDbgValueConv"/>
|
||||
<Filename Value="idedebuggerbackendvalueconv.pas"/>
|
||||
<UnitName Value="IdeDebuggerBackendValueConv"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Filename Value="idedbgvalueconvertersettingsframe.pas"/>
|
||||
|
@ -49,10 +49,12 @@ type
|
||||
private
|
||||
FLock: TLazMonitor;
|
||||
FChanged: Boolean;
|
||||
FOnChanged: TNotifyEvent;
|
||||
function Count: Integer;
|
||||
function Get(Index: Integer): TLazDbgValueConvertSelectorIntf;
|
||||
function GetIdeItems(Index: Integer): TIdeDbgValueConvertSelector;
|
||||
procedure PutIdeItems(Index: Integer; AValue: TIdeDbgValueConvertSelector);
|
||||
procedure SetChanged(AValue: Boolean);
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -61,7 +63,7 @@ type
|
||||
procedure Lock;
|
||||
procedure Unlock;
|
||||
|
||||
procedure AssignEnabledTo(ADest: TIdeDbgValueConvertSelectorList);
|
||||
procedure AssignEnabledTo(ADest: TIdeDbgValueConvertSelectorList; AnAppend: Boolean = False);
|
||||
|
||||
procedure LoadDataFromXMLConfig(const AConfig: TRttiXMLConfig; const APath: string);
|
||||
procedure SaveDataToXMLConfig(const AConfig: TRttiXMLConfig; const APath: string);
|
||||
@ -69,7 +71,8 @@ type
|
||||
function IdeItemByName(AName: String): TIdeDbgValueConvertSelector;
|
||||
|
||||
property IdeItems[Index: Integer]: TIdeDbgValueConvertSelector read GetIdeItems write PutIdeItems; default;
|
||||
property Changed: Boolean read FChanged write FChanged;
|
||||
property Changed: Boolean read FChanged write SetChanged;
|
||||
property OnChanged: TNotifyEvent read FOnChanged write FOnChanged;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -183,6 +186,14 @@ begin
|
||||
Items[Index] := AValue;
|
||||
end;
|
||||
|
||||
procedure TIdeDbgValueConvertSelectorList.SetChanged(AValue: Boolean);
|
||||
begin
|
||||
if FChanged = AValue then Exit;
|
||||
FChanged := AValue;
|
||||
if FChanged and (FOnChanged <> nil) then
|
||||
FOnChanged(Self);
|
||||
end;
|
||||
|
||||
constructor TIdeDbgValueConvertSelectorList.Create;
|
||||
begin
|
||||
inherited Create(True);
|
||||
@ -217,11 +228,13 @@ begin
|
||||
end;
|
||||
|
||||
procedure TIdeDbgValueConvertSelectorList.AssignEnabledTo(
|
||||
ADest: TIdeDbgValueConvertSelectorList);
|
||||
ADest: TIdeDbgValueConvertSelectorList; AnAppend: Boolean);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
ADest.Clear;
|
||||
if not AnAppend then
|
||||
ADest.Clear;
|
||||
|
||||
for i := 0 to Count - 1 do
|
||||
if IdeItems[i].Enabled then
|
||||
ADest.Add(Items[i].CreateCopy);
|
||||
|
@ -61,7 +61,7 @@ uses
|
||||
CompOptsIntf, ProjectIntf, MacroIntf, MacroDefIntf, SrcEditorIntf,
|
||||
IDEOptionsIntf, IDEOptEditorIntf, IDEDialogs, LazIDEIntf, PackageIntf,
|
||||
// DebuggerIntf
|
||||
DbgIntfDebuggerBase, IdeDebuggerOpts,
|
||||
DbgIntfDebuggerBase, IdeDebuggerOpts, IdeDebuggerBackendValueConv,
|
||||
// IDE
|
||||
EnvironmentOpts,
|
||||
CompOptsModes, ProjectResources, LazConf, ProjectIcon,
|
||||
@ -730,6 +730,9 @@ type
|
||||
FLastCompileComplete: boolean;
|
||||
FMacroEngine: TTransferMacroList;
|
||||
FOnLoadSafeCustomData: TLazLoadSaveCustomDataEvent;
|
||||
FStoreBackendConverterConfigInSession: boolean;
|
||||
FBackendConverterConfigWasFromSession, FBackendConverterConfigWasFromLPI: boolean;
|
||||
FBackendConverterConfig: TIdeDbgValueConvertSelectorList;
|
||||
FStoreDebuggerClassConfInSession: boolean;
|
||||
FDebuggerClassConfWasFromSession, FDebuggerClassConfWasFromLPI: boolean;
|
||||
FTmpAutoCreatedForms: TStrings; // temporary, used to apply auto create forms changes
|
||||
@ -783,6 +786,8 @@ type
|
||||
FOtherDefines: TStrings; // list of user selectable defines for custom options
|
||||
FUpdateLock: integer;
|
||||
FUseAsDefault: Boolean;
|
||||
FUseBackendConverterFromIDE: boolean;
|
||||
FUseBackendConverterFromProject: boolean;
|
||||
// Variables used by ReadProject / WriteProject
|
||||
FXMLConfig: TRttiXMLConfig;
|
||||
FLoadAllOptions: Boolean; // All options / just options used as default for new projects
|
||||
@ -814,7 +819,11 @@ type
|
||||
procedure EmbeddedObjectModified(Sender: TObject);
|
||||
function FileBackupHandler(const Filename: string): TModalResult;
|
||||
procedure LoadSaveFilenameHandler(var AFilename: string; Load: boolean);
|
||||
procedure OnBackendConverterConfigChanged(Sender: TObject);
|
||||
procedure SetStoreBackendConverterConfigInSession(AValue: boolean);
|
||||
procedure SetStoreDebuggerClassConfInSession(AValue: boolean);
|
||||
procedure SetUseBackendConverterFromIDE(AValue: boolean);
|
||||
procedure SetUseBackendConverterFromProject(AValue: boolean);
|
||||
procedure UnitNameChangeHandler(AnUnitInfo: TUnitInfo;
|
||||
const OldUnitName, NewUnitName: string;
|
||||
CheckIfAllowed: boolean; var Allowed: boolean);
|
||||
@ -1154,6 +1163,10 @@ type
|
||||
procedure MarkDebuggerClassConfAsModified;
|
||||
property StoreDebuggerClassConfInSession: boolean read FStoreDebuggerClassConfInSession write SetStoreDebuggerClassConfInSession;
|
||||
|
||||
property BackendConverterConfig: TIdeDbgValueConvertSelectorList read FBackendConverterConfig write FBackendConverterConfig;
|
||||
property StoreBackendConverterConfigInSession: boolean read FStoreBackendConverterConfigInSession write SetStoreBackendConverterConfigInSession;
|
||||
property UseBackendConverterFromIDE: boolean read FUseBackendConverterFromIDE write SetUseBackendConverterFromIDE;
|
||||
property UseBackendConverterFromProject: boolean read FUseBackendConverterFromProject write SetUseBackendConverterFromProject;
|
||||
end;
|
||||
|
||||
|
||||
@ -2820,6 +2833,13 @@ begin
|
||||
FHistoryLists := THistoryLists.Create;
|
||||
|
||||
FDebuggerProperties := TDebuggerPropertiesConfigList.Create;
|
||||
FBackendConverterConfig := TIdeDbgValueConvertSelectorList.Create;
|
||||
FBackendConverterConfig.OnChanged := @OnBackendConverterConfigChanged;
|
||||
FUseBackendConverterFromIDE := True;
|
||||
FUseBackendConverterFromProject := True;
|
||||
|
||||
if DebugBossManager <> nil then
|
||||
DebugBossManager.DoBackendConverterChanged;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
@ -2851,6 +2871,7 @@ begin
|
||||
FreeThenNil(FHistoryLists);
|
||||
FDebuggerProperties.ClearAll;
|
||||
FreeAndNil(FDebuggerProperties);
|
||||
FreeAndNil(FBackendConverterConfig);
|
||||
|
||||
inherited Destroy;
|
||||
end;
|
||||
@ -3069,6 +3090,12 @@ begin
|
||||
FDebuggerClassConfWasFromLPI := True;
|
||||
end;
|
||||
|
||||
FStoreBackendConverterConfigInSession := FXMLConfig.GetValue(Path+'Debugger/StoreBackendConverterConfigInSession/Value', False);
|
||||
if not FStoreBackendConverterConfigInSession then begin
|
||||
FBackendConverterConfig.LoadDataFromXMLConfig(FXMLConfig, Path+'Debugger/BackendConv/');
|
||||
FBackendConverterConfigWasFromLPI := True;
|
||||
end;
|
||||
|
||||
// This is for backward compatibility (only trunk 2.1 did use this / Can be removed in some time after 2.2 / but needs LoadFromSession to change default to '')
|
||||
FDebuggerBackend := FXMLConfig.GetValue(Path+'Debugger/Backend/Value', '');
|
||||
|
||||
@ -3111,6 +3138,13 @@ begin
|
||||
FDebuggerClassConfWasFromSession := True;
|
||||
end;
|
||||
|
||||
FUseBackendConverterFromIDE := FXMLConfig.GetValue(Path+'Debugger/BackendConvOpts/UseBackendConverterFromIDE', True);
|
||||
FUseBackendConverterFromProject := FXMLConfig.GetValue(Path+'Debugger/BackendConvOpts/UseBackendConverterFromProject', True);
|
||||
|
||||
if FStoreBackendConverterConfigInSession then begin
|
||||
FBackendConverterConfig.LoadDataFromXMLConfig(FXMLConfig, Path+'Debugger/BackendConv/');
|
||||
FBackendConverterConfigWasFromSession := True;
|
||||
end;
|
||||
|
||||
// call hooks to read their info (e.g. DebugBoss)
|
||||
if Assigned(OnLoadProjectInfo) then
|
||||
@ -3281,6 +3315,10 @@ begin
|
||||
FAllEditorsInfoList.SortByPageIndex;
|
||||
end;
|
||||
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TProject.ReadProject END');{$ENDIF}
|
||||
|
||||
if DebugBossManager <> nil then
|
||||
DebugBossManager.DoBackendConverterChanged;
|
||||
|
||||
Result := mrOk;
|
||||
end;
|
||||
|
||||
@ -3428,8 +3466,8 @@ begin
|
||||
SaveUnits(Path,FSaveSessionInLPI);
|
||||
|
||||
FXMLConfig.DeletePath(Path+'Debugger/Backend'); // remove old value from trunk 2.1
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/StoreDebuggerClassConfInSession/Value', FStoreDebuggerClassConfInSession, False);
|
||||
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/StoreDebuggerClassConfInSession/Value', FStoreDebuggerClassConfInSession, False);
|
||||
if not FStoreDebuggerClassConfInSession then
|
||||
FDebuggerProperties.SaveToXml(FXMLConfig, Path+'Debugger/ClassConfig/')
|
||||
else
|
||||
@ -3438,6 +3476,14 @@ begin
|
||||
FDebuggerClassConfWasFromSession := False;
|
||||
FDebuggerClassConfWasFromLPI := False;
|
||||
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/StoreBackendConverterConfigInSession/Value', FStoreBackendConverterConfigInSession, False);
|
||||
if not FStoreBackendConverterConfigInSession then
|
||||
FBackendConverterConfig.SaveDataToXMLConfig(FXMLConfig, Path+'Debugger/BackendConv/')
|
||||
else
|
||||
if FBackendConverterConfigWasFromLPI then
|
||||
FXMLConfig.DeletePath(Path+'Debugger/BackendConv');
|
||||
FBackendConverterConfigWasFromSession := False;
|
||||
FBackendConverterConfigWasFromLPI := False;
|
||||
|
||||
if FSaveSessionInLPI then begin
|
||||
// save defines used for custom options
|
||||
@ -3494,6 +3540,7 @@ begin
|
||||
SaveUnits(Path,true);
|
||||
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/Backend/Value', DebuggerBackend, '');
|
||||
|
||||
if FStoreDebuggerClassConfInSession then
|
||||
FDebuggerProperties.SaveToXml(FXMLConfig, Path+'Debugger/ClassConfig/')
|
||||
else
|
||||
@ -3502,6 +3549,17 @@ begin
|
||||
FDebuggerClassConfWasFromSession := False;
|
||||
FDebuggerClassConfWasFromLPI := False;
|
||||
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/BackendConvOpts/UseBackendConverterFromIDE', FUseBackendConverterFromIDE, True);
|
||||
FXMLConfig.SetDeleteValue(Path+'Debugger/BackendConvOpts/UseBackendConverterFromProject', FUseBackendConverterFromProject, True);
|
||||
|
||||
if FStoreBackendConverterConfigInSession then
|
||||
FBackendConverterConfig.SaveDataToXMLConfig(FXMLConfig, Path+'Debugger/BackendConv/')
|
||||
else
|
||||
if FBackendConverterConfigWasFromSession then
|
||||
FXMLConfig.DeletePath(Path+'Debugger/BackendConv');
|
||||
FBackendConverterConfigWasFromSession := False;
|
||||
FBackendConverterConfigWasFromLPI := False;
|
||||
|
||||
// save defines used for custom options
|
||||
SaveOtherDefines(Path);
|
||||
// save session info
|
||||
@ -3932,6 +3990,8 @@ begin
|
||||
UpdateProjectDirectory;
|
||||
FPublishOptions.Clear;
|
||||
Title := '';
|
||||
FUseBackendConverterFromIDE := True;
|
||||
FUseBackendConverterFromProject := True;
|
||||
|
||||
Modified := false;
|
||||
SessionModified := false;
|
||||
@ -4617,6 +4677,22 @@ begin
|
||||
//debugln('TProject.OnLoadSaveFilename END "',AFilename,'" FileWasAbsolute=',dbgs(FileWasAbsolute));
|
||||
end;
|
||||
|
||||
procedure TProject.OnBackendConverterConfigChanged(Sender: TObject);
|
||||
begin
|
||||
if FStoreBackendConverterConfigInSession then
|
||||
SessionModified := True
|
||||
else
|
||||
Modified := True;
|
||||
end;
|
||||
|
||||
procedure TProject.SetStoreBackendConverterConfigInSession(AValue: boolean);
|
||||
begin
|
||||
if FStoreBackendConverterConfigInSession = AValue then Exit;
|
||||
FStoreBackendConverterConfigInSession := AValue;
|
||||
Modified := True;
|
||||
SessionModified := True;
|
||||
end;
|
||||
|
||||
procedure TProject.SetStoreDebuggerClassConfInSession(AValue: boolean);
|
||||
begin
|
||||
if FStoreDebuggerClassConfInSession = AValue then Exit;
|
||||
@ -4625,6 +4701,20 @@ begin
|
||||
SessionModified := True;
|
||||
end;
|
||||
|
||||
procedure TProject.SetUseBackendConverterFromIDE(AValue: boolean);
|
||||
begin
|
||||
if FUseBackendConverterFromIDE = AValue then Exit;
|
||||
FUseBackendConverterFromIDE := AValue;
|
||||
SessionModified := True;
|
||||
end;
|
||||
|
||||
procedure TProject.SetUseBackendConverterFromProject(AValue: boolean);
|
||||
begin
|
||||
if FUseBackendConverterFromProject = AValue then Exit;
|
||||
FUseBackendConverterFromProject := AValue;
|
||||
SessionModified := True;
|
||||
end;
|
||||
|
||||
function TProject.RemoveProjectPathFromFilename(const AFilename: string): string;
|
||||
var
|
||||
ProjectPath:string;
|
||||
|
Loading…
Reference in New Issue
Block a user