mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-03 02:03:41 +02:00
109 lines
3.2 KiB
ObjectPascal
109 lines
3.2 KiB
ObjectPascal
{ IDE options frame for project groups options
|
|
|
|
Author: Mattias Gaertner
|
|
}
|
|
unit PrjGrpOptionsFrm;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, ProjectGroupStrConst,
|
|
// LCL
|
|
Forms, StdCtrls, Dialogs,
|
|
// LazUtils
|
|
LazFileCache, LazFileUtils, LazLoggerBase,
|
|
// IdeIntf
|
|
IDEOptionsIntf, IDEOptEditorIntf, ProjectGroup;
|
|
|
|
type
|
|
|
|
{ TProjGrpOptionsFrame }
|
|
|
|
TProjGrpOptionsFrame = class(TAbstractIDEOptionsEditor)
|
|
BuildCommandToCompileTargetCheckBox: TCheckBox;
|
|
OpenLastGroupOnStartCheckBox: TCheckBox;
|
|
ShowTargetPathsCheckBox: TCheckBox;
|
|
private
|
|
FLastOpenLastGroupOnStart: Boolean;
|
|
FLastShowTargetPaths: Boolean;
|
|
FLastBuildCommandToCompileTarget: Boolean;
|
|
public
|
|
function GetTitle: String; override;
|
|
procedure Setup({%H-}ADialog: TAbstractOptionsEditorDialog); override;
|
|
procedure ReadSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
|
procedure WriteSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
|
procedure RestoreSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
|
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TProjGrpOptionsFrame }
|
|
|
|
function TProjGrpOptionsFrame.GetTitle: String;
|
|
begin
|
|
Result:=lisProjectGroups;
|
|
end;
|
|
|
|
procedure TProjGrpOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
|
begin
|
|
OpenLastGroupOnStartCheckBox.Caption:=lisOpenLastGroupOnStart;
|
|
OpenLastGroupOnStartCheckBox.Hint:=lisOnIDEStartReopenLastOpenGroup;
|
|
|
|
ShowTargetPathsCheckBox.Caption:=lisShowTargetPaths;
|
|
ShowTargetPathsCheckBox.Hint:=lisEnableToShowTargetFilenamesWithPaths;
|
|
|
|
BuildCommandToCompileTargetCheckBox.Caption:=lisCompileAndBuildCompileTarget;
|
|
BuildCommandToCompileTargetCheckBox.Hint:=
|
|
lisIDECommandsCompileAndBuildInvokeCompileBuildSelect;
|
|
end;
|
|
|
|
procedure TProjGrpOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
|
var
|
|
Opts: TIDEProjectGroupOptions;
|
|
begin
|
|
Opts:=IDEProjectGroupManager.Options;
|
|
|
|
FLastOpenLastGroupOnStart:=Opts.OpenLastGroupOnStart;
|
|
OpenLastGroupOnStartCheckBox.Checked:=FLastOpenLastGroupOnStart;
|
|
FLastShowTargetPaths:=Opts.ShowTargetPaths;
|
|
ShowTargetPathsCheckBox.Checked:=FLastShowTargetPaths;
|
|
FLastBuildCommandToCompileTarget:=Opts.BuildCommandToCompileTarget;
|
|
BuildCommandToCompileTargetCheckBox.Checked:=FLastBuildCommandToCompileTarget;
|
|
end;
|
|
|
|
procedure TProjGrpOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
|
var
|
|
Opts: TIDEProjectGroupOptions;
|
|
begin
|
|
Opts:=IDEProjectGroupManager.Options;
|
|
Opts.OpenLastGroupOnStart:=OpenLastGroupOnStartCheckBox.Checked;
|
|
Opts.ShowTargetPaths:=ShowTargetPathsCheckBox.Checked;
|
|
Opts.BuildCommandToCompileTarget:=BuildCommandToCompileTargetCheckBox.Checked;
|
|
|
|
if Opts.Modified then begin
|
|
Opts.SaveSafe;
|
|
if IDEProjectGroupManager.OnEditorOptionsChanged<>nil then
|
|
IDEProjectGroupManager.OnEditorOptionsChanged(Self);
|
|
end;
|
|
end;
|
|
|
|
procedure TProjGrpOptionsFrame.RestoreSettings(AOptions: TAbstractIDEOptions);
|
|
begin
|
|
OpenLastGroupOnStartCheckBox.Checked:=FLastOpenLastGroupOnStart;
|
|
ShowTargetPathsCheckBox.Checked:=FLastShowTargetPaths;
|
|
end;
|
|
|
|
class function TProjGrpOptionsFrame.
|
|
SupportedOptionsClass: TAbstractIDEOptionsClass;
|
|
begin
|
|
Result:=IDEEditorGroups.GetByIndex(GroupEnvironment)^.GroupClass;
|
|
end;
|
|
|
|
end.
|
|
|