1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
unit EMSIdeOptions;
{$mode objfpc}{$H+}
{$WARN 5024 off : Parameter "$1" not used}
{$WARN 6018 off : unreachable code}
interface
uses
SysUtils,
// LCL
StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, SrcEditorIntf,
// MacroScript
EMScriptMacro, EMSStrings;
type
{ TEMSIdeOptionsFrame }
TEMSIdeOptionsFrame = class(TAbstractIDEOptionsEditor)
btnActivate: TButton;
lblStatus: TLabel;
procedure btnActivateClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
function GetTitle: String; override;
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
end;
implementation
{$R *.lfm}
{ EMSIdeOptionsFrame }
procedure TEMSIdeOptionsFrame.btnActivateClick(Sender: TObject);
var
cfg: TEMSConfig;
begin
cfg := GetEMSConf;
cfg.SelfTestFailed := 0;
cfg.SelfTestActive := False;
cfg.Save;
ReadSettings(nil);
end;
function TEMSIdeOptionsFrame.GetTitle: String;
begin
Result := EMSStatusTitle;
end;
procedure TEMSIdeOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
begin
btnActivate.Caption := EMSBtnTestAgain;
end;
procedure TEMSIdeOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
var
cfg: TEMSConfig;
begin
if not EMSSupported then begin
lblStatus.Caption := EMSNotSupported;
btnActivate.Enabled := True;
exit;
end;
cfg := GetEMSConf;
if cfg.SelfTestFailed >= EMSVersion then begin
lblStatus.Caption := EMSNotActive;
btnActivate.Enabled := True;
end
else
if EditorMacroPlayerClass = TEMSEditorMacro then begin
lblStatus.Caption := EMSActive;
btnActivate.Enabled := False;
end
else
begin
lblStatus.Caption := EMSPending;
btnActivate.Enabled := False;
end;
end;
procedure TEMSIdeOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
begin
//
end;
class function TEMSIdeOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
begin
Result := TEMSConfig;
end;
end.
|