mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-06 16:32:43 +02:00
114 lines
3.1 KiB
ObjectPascal
114 lines
3.1 KiB
ObjectPascal
unit fradelphioptions;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, StdCtrls,
|
|
// LazUtils
|
|
LazFileCache, LazFileUtils, LazStringUtils, FileUtil,
|
|
// IdeIntf
|
|
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, IDEDialogs,
|
|
DelphiOptions;
|
|
|
|
type
|
|
|
|
{ TDelphiOptionsFrame }
|
|
|
|
TDelphiOptionsFrame = class(TAbstractIDEOptionsEditor)
|
|
cbConfigFileExtension: TComboBox;
|
|
cbAdditionalOptions: TComboBox;
|
|
cbConvertDosToUnix: TCheckBox;
|
|
lblConfigFileExtension: TLabel;
|
|
lblAdditionalOptions: TLabel;
|
|
DelphiPathBrowseButton: TButton;
|
|
cbDelphiPath: TComboBox;
|
|
lblDelphiPath: TLabel;
|
|
procedure DelphiPathBrowseButtonClick(Sender: TObject);
|
|
private
|
|
|
|
public
|
|
function GetTitle: String; override;
|
|
procedure Setup({%H-}ADialog: TAbstractOptionsEditorDialog); override;
|
|
procedure ReadSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
|
procedure WriteSettings({%H-}AOptions: TAbstractIDEOptions); override;
|
|
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses dialogs, strdelphitool;
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TDelphiOptionsFrame }
|
|
|
|
procedure TDelphiOptionsFrame.DelphiPathBrowseButtonClick(Sender: TObject);
|
|
var
|
|
OpenDialog: TOpenDialog;
|
|
AFilename: String;
|
|
begin
|
|
OpenDialog:=TOpenDialog.Create(nil);
|
|
try
|
|
//InputHistories.ApplyFileDialogSettings(OpenDialog);
|
|
OpenDialog.Options:=OpenDialog.Options+[ofPathMustExist];
|
|
OpenDialog.Title:=SSelectDelphiExecutable;
|
|
OpenDialog.FileName:=cbDelphiPath.Text;
|
|
if OpenDialog.Execute then begin
|
|
AFilename:=CleanAndExpandFilename(OpenDialog.Filename);
|
|
SetComboBoxText(cbDelphiPath,AFilename,cstFilename,30);
|
|
end;
|
|
finally
|
|
OpenDialog.Free;
|
|
end;
|
|
end;
|
|
|
|
function TDelphiOptionsFrame.GetTitle: String;
|
|
begin
|
|
Result:=SDelphiLocalizedParserName;
|
|
end;
|
|
|
|
procedure TDelphiOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
|
begin
|
|
lblDelphiPath.Caption:=SDelphiCompilerFileNameCaption;
|
|
lblConfigFileExtension.Caption:=SConfigFileExtensionCaption;
|
|
cbConvertDosToUnix.Caption:=SConvertDosToUnixCaption;
|
|
cbConvertDosToUnix.Enabled:={$IFDEF UNIX}True{$ELSE}False{$ENDIF};
|
|
lblAdditionalOptions.Caption:=SDelphiCompilerArgs;
|
|
end;
|
|
|
|
procedure TDelphiOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
|
|
|
var
|
|
Opts : TDelphiToolOptions;
|
|
|
|
begin
|
|
Opts:=DelphiToolOptions;
|
|
cbConvertDosToUnix.Checked:=Opts.ConvertPathsToUnix;
|
|
cbDelphiPath.Text:=Opts.CompilerFileName;
|
|
cbConfigFileExtension.Text:=Opts.ConfigFileExtension;
|
|
cbAdditionalOptions.Text:=Opts.AdditionalOptions;
|
|
end;
|
|
|
|
procedure TDelphiOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
|
var
|
|
Opts : TDelphiToolOptions;
|
|
|
|
begin
|
|
Opts:=DelphiToolOptions;
|
|
Opts.ConvertPathsToUnix:=cbConvertDosToUnix.Checked;
|
|
Opts.CompilerFileName:=cbDelphiPath.Text;
|
|
Opts.ConfigFileExtension:=cbConfigFileExtension.Text;
|
|
Opts.AdditionalOptions:=cbAdditionalOptions.Text;
|
|
Opts.Save;
|
|
end;
|
|
|
|
class function TDelphiOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
|
begin
|
|
Result:=IDEEditorGroups.GetByIndex(GroupEnvironment)^.GroupClass;
|
|
end;
|
|
|
|
end.
|
|
|