mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
Move WF AGC/NF from main form buttons to Settings → Waterfall checkboxes
Replaced the WF AGC and WF NF toggle buttons in the main panel with "Waterfall AGC" and "Waterfall NF" checkboxes in the Settings form Waterfall tab (AGC & Noise Floor group). Settings are global, defaults remain AGC=on, NF=off. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -47,6 +47,7 @@ type
|
||||
TOnVisibilityChange = procedure(ShowSpectrum, ShowWaterfall: Boolean) of object;
|
||||
TOnFPSChange = procedure(FPS: Integer) of object;
|
||||
TOnThemeChange = procedure(LightTheme: Boolean) of object;
|
||||
TOnWfAGCNFChange = procedure(WfAGC, WfNF: Boolean) of object;
|
||||
TOnCATChange = procedure(
|
||||
const SerEnabled: array of Boolean;
|
||||
const SerPort: array of string;
|
||||
@@ -101,6 +102,8 @@ type
|
||||
FWfHigh: TFloatSpinEdit;
|
||||
FWfLow: TFloatSpinEdit;
|
||||
FWfAGCOffset: TFloatSpinEdit;
|
||||
FChkWfAGC: TCheckBox;
|
||||
FChkWfNF: TCheckBox;
|
||||
FEdRefLevel: TEdit;
|
||||
FEdRange: TEdit;
|
||||
FCmbGridStep: TComboBox;
|
||||
@@ -246,6 +249,7 @@ type
|
||||
FOnVisibilityChange: TOnVisibilityChange;
|
||||
FOnFPSChange: TOnFPSChange;
|
||||
FOnThemeChange: TOnThemeChange;
|
||||
FOnWfAGCNFChange: TOnWfAGCNFChange;
|
||||
FOnFreqMhzDigitsChange: TOnFreqMhzDigitsChange;
|
||||
FOnTXChange: TOnTXSettingsChange;
|
||||
|
||||
@@ -293,6 +297,7 @@ type
|
||||
procedure OnWfAvgModeChange(Sender: TObject);
|
||||
procedure OnWfAvgTimeChange(Sender: TObject);
|
||||
procedure OnWfThresholdChange(Sender: TObject);
|
||||
procedure OnWfAGCNFChkChange(Sender: TObject);
|
||||
procedure OnRefLevelChange(Sender: TObject);
|
||||
procedure OnRangeChange(Sender: TObject);
|
||||
procedure OnGridStepChange(Sender: TObject);
|
||||
@@ -349,6 +354,7 @@ type
|
||||
procedure LoadTXSettings(const T: TTXSettings);
|
||||
procedure LoadAlexSettings(const A: TAlexSettings; BoardType: Integer);
|
||||
procedure LoadXvtrSettings(const X: TXvtrSettings);
|
||||
procedure LoadWfAGCNF(AGC, NF: Boolean);
|
||||
|
||||
property OnCATChange: TOnCATChange read FOnCATChange write FOnCATChange;
|
||||
property OnAlexChange: TOnAlexChange read FOnAlexChange write FOnAlexChange;
|
||||
@@ -364,6 +370,7 @@ type
|
||||
property OnThemeChange: TOnThemeChange read FOnThemeChange write FOnThemeChange;
|
||||
property OnFreqMhzDigitsChange: TOnFreqMhzDigitsChange read FOnFreqMhzDigitsChange write FOnFreqMhzDigitsChange;
|
||||
property OnTXChange: TOnTXSettingsChange read FOnTXChange write FOnTXChange;
|
||||
property OnWfAGCNFChange: TOnWfAGCNFChange read FOnWfAGCNFChange write FOnWfAGCNFChange;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@@ -934,6 +941,26 @@ begin
|
||||
FWfLow := MkFloat(CX, R1 + STEP, SPW, -130.0, -180.0, 0.0, 1.0, OnWfThresholdChange);
|
||||
MakeLbl(Grp, 'AGC Offset (dB):', PAD, R1 + 2 * STEP + 5, LW);
|
||||
FWfAGCOffset := MkFloat(CX, R1 + 2 * STEP, SPW, 0.0, -40.0, 40.0, 0.5, OnWfThresholdChange);
|
||||
|
||||
Grp := MakeGroupPanel(FPageWaterfall, 'AGC && Noise Floor', MARGIN, 458, 650, 140);
|
||||
FChkWfAGC := TCheckBox.Create(Self);
|
||||
FChkWfAGC.Parent := Grp;
|
||||
FChkWfAGC.Caption := 'Waterfall AGC';
|
||||
FChkWfAGC.SetBounds(PAD, R1, 200, 22);
|
||||
FChkWfAGC.Checked := True;
|
||||
FChkWfAGC.Font.Color := CLR_TEXT;
|
||||
FChkWfAGC.Font.Name := UI_FONT;
|
||||
FChkWfAGC.Font.Size := 9;
|
||||
FChkWfAGC.OnChange := OnWfAGCNFChkChange;
|
||||
FChkWfNF := TCheckBox.Create(Self);
|
||||
FChkWfNF.Parent := Grp;
|
||||
FChkWfNF.Caption := 'Waterfall NF';
|
||||
FChkWfNF.SetBounds(PAD, R1 + STEP, 200, 22);
|
||||
FChkWfNF.Checked := False;
|
||||
FChkWfNF.Font.Color := CLR_TEXT;
|
||||
FChkWfNF.Font.Name := UI_FONT;
|
||||
FChkWfNF.Font.Size := 9;
|
||||
FChkWfNF.OnChange := OnWfAGCNFChkChange;
|
||||
end;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -1911,6 +1938,13 @@ begin FireWaterfallChange; end;
|
||||
procedure TSettingsForm.OnWfThresholdChange(Sender: TObject);
|
||||
begin FireWaterfallChange; end;
|
||||
|
||||
procedure TSettingsForm.OnWfAGCNFChkChange(Sender: TObject);
|
||||
begin
|
||||
if FLoading then Exit;
|
||||
if not Assigned(FOnWfAGCNFChange) then Exit;
|
||||
FOnWfAGCNFChange(FChkWfAGC.Checked, FChkWfNF.Checked);
|
||||
end;
|
||||
|
||||
procedure TSettingsForm.OnRefLevelChange(Sender: TObject);
|
||||
begin FireGridChange; end;
|
||||
|
||||
@@ -1975,6 +2009,17 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSettingsForm.LoadWfAGCNF(AGC, NF: Boolean);
|
||||
begin
|
||||
FLoading := True;
|
||||
try
|
||||
FChkWfAGC.Checked := AGC;
|
||||
FChkWfNF.Checked := NF;
|
||||
finally
|
||||
FLoading := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSettingsForm.OnVisibilityChkChange(Sender: TObject);
|
||||
begin
|
||||
if FLoading then Exit;
|
||||
|
||||
Reference in New Issue
Block a user