lazarus/ide/frames/compiler_verbosity_options.pas
2024-04-08 02:22:35 +03:00

140 lines
3.9 KiB
ObjectPascal

unit compiler_verbosity_options;
{$mode objfpc}{$H+}
interface
uses
SysUtils,
// LCL
ExtCtrls, StdCtrls,
// BuildIntf
IDEOptionsIntf,
// IdeIntf
IDEOptEditorIntf,
// IdeConfig
CompilerOptions,
// IDE
LazarusIDEStrConsts;
type
{ TCompilerVerbosityOptionsFrame }
TCompilerVerbosityOptionsFrame = class(TAbstractIDEOptionsEditor)
edtErrorCnt: TEdit;
grpErrorCnt: TGroupBox;
grpVerbosity: TCheckGroup;
public
function GetTitle: string; override;
procedure Setup({%H-}ADialog: TAbstractOptionsEditorDialog); override;
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
end;
implementation
{$R *.lfm}
{ TCompilerVerbosityOptionsFrame }
function TCompilerVerbosityOptionsFrame.GetTitle: string;
begin
Result := dlgCOVerbosity;
end;
procedure TCompilerVerbosityOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
begin
with grpVerbosity do
begin
Caption := dlgVerbosity;
AutoSize := True;
Items.Add(dlgShowWarnings + ' (-vw)');
Items.Add(dlgShowNotes + ' (-vn)');
Items.Add(dlgShowHint + ' (-vh)');
//Items.Add(dlgShowGeneralInfo + ' (-vi)'); always passed, see compileroptions.pp
Items.Add(dlgShowCompilingLineNumbers + ' (-vl)');
Items.Add(dlgShowConditionals + ' (-vc)');
Items.Add(dlgShowExecutableInfo + ' (-vx)');
Items.Add(dlgShowDebugInfo + ' (-vd)');
Items.Add(dlgShowUsedFiles + ' (-vu)');
Items.Add(dlgShowTriedFiles + ' (-vt)');
Items.Add(dlgShowCompiledProcedures + ' (-vp)');
Items.Add(dlgShowEverything + ' (-va)');
Items.Add(dlgWriteFPCLogo + ' (-l)');
Items.Add(dlgHintsUnused + ' ' + dlgPOIconDescNone);
Items.Add(dlgHintsParameterSenderNotUsed + ' ' + dlgPOIconDescNone);
end;
grpErrorCnt.Caption := dlgStopAfterNrErr + ' (-Se)';
edtErrorCnt.Text := '';
end;
procedure TCompilerVerbosityOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
var
i: Integer;
begin
i:=0;
with AOptions as TBaseCompilerOptions, grpVerbosity do
begin
Checked[i] := ShowWarn; i+=1;
Checked[i] := ShowNotes; i+=1;
Checked[i] := ShowHints; i+=1;
Checked[i] := ShowLineNum; i+=1;
Checked[i] := ShowCond; i+=1;
Checked[i] := ShowExecInfo; i+=1;
Checked[i] := ShowDebugInfo; i+=1;
Checked[i] := ShowUsedFiles; i+=1;
Checked[i] := ShowTriedFiles; i+=1;
Checked[i] := ShowCompProc; i+=1;
Checked[i] := ShowAll; i+=1;
Checked[i] := WriteFPCLogo; i+=1;
Checked[i] := ShowHintsForUnusedUnitsInMainSrc; i+=1;
Checked[i] := ShowHintsForSenderNotUsed; i+=1;
edtErrorCnt.Text := IntToStr(StopAfterErrCount);
end;
end;
procedure TCompilerVerbosityOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
var
i: Integer;
begin
i:=0;
with AOptions as TBaseCompilerOptions, grpVerbosity do
begin
ShowWarn := Checked[i]; i+=1;
ShowNotes := Checked[i]; i+=1;
ShowHints := Checked[i]; i+=1;
ShowLineNum := Checked[i]; i+=1;
ShowCond := Checked[i]; i+=1;
ShowExecInfo := Checked[i]; i+=1;
ShowDebugInfo := Checked[i]; i+=1;
ShowUsedFiles := Checked[i]; i+=1;
ShowTriedFiles := Checked[i]; i+=1;
ShowCompProc := Checked[i]; i+=1;
ShowAll := Checked[i]; i+=1;
WriteFPCLogo := Checked[i]; i+=1;
ShowHintsForUnusedUnitsInMainSrc := Checked[i]; i+=1;
ShowHintsForSenderNotUsed := Checked[i]; i+=1;
StopAfterErrCount := StrToIntDef(edtErrorCnt.Text, 1);
end;
end;
class function TCompilerVerbosityOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
begin
Result := TBaseCompilerOptions;
end;
initialization
RegisterIDEOptionsEditor(GroupCompiler, TCompilerVerbosityOptionsFrame,
CompilerOptionsVerbosity);
RegisterIDEOptionsEditor(GroupPkgCompiler, TCompilerVerbosityOptionsFrame,
CompilerOptionsVerbosity);
end.