mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Add NR/NB/SNB/ANF DSP row to VfoOverlay
Third button row mirrors MainForm NR (cycle 0-4), NB (cycle 0-2), SNB and ANF toggles. OnDSPChange event syncs state back to MainForm buttons and DSP engine. Overlay height tightened to match top/bottom padding. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+15
-2
@@ -666,6 +666,7 @@ type
|
||||
procedure BtnSettingsClick(Sender: TObject);
|
||||
procedure PositionVfoOverlay;
|
||||
procedure OnModeFilterSelect(Mode: Integer; FilterBW: Integer);
|
||||
procedure OnVfoOverlayDSPChange(NRMode, NBMode: Integer; SNBOn, ANFOn: Boolean);
|
||||
procedure PbSpectrumDblClick(Sender: TObject);
|
||||
procedure TrkDriveChange(Sender: TObject);
|
||||
procedure TrkVolumeChange(Sender: TObject);
|
||||
@@ -1329,7 +1330,8 @@ begin
|
||||
FDeviceDialog := TDeviceDialog.Create(Self);
|
||||
FDeviceDialog.OnDiscover := BtnDiscoverFromDialog;
|
||||
FVfoOverlay := TVfoOverlay.Create(Self);
|
||||
FVfoOverlay.OnSelect := OnModeFilterSelect;
|
||||
FVfoOverlay.OnSelect := OnModeFilterSelect;
|
||||
FVfoOverlay.OnDSPChange := OnVfoOverlayDSPChange;
|
||||
FVfoOverlay.Visible := False;
|
||||
FPanelHidden := False;
|
||||
FShowSpectrum := True;
|
||||
@@ -5479,8 +5481,9 @@ begin
|
||||
BtnHidePanel.Caption := '▶';
|
||||
FVfoOverlay.Parent := PanelRight;
|
||||
FVfoOverlay.Width := 260;
|
||||
FVfoOverlay.Height := 130;
|
||||
FVfoOverlay.Height := 136;
|
||||
FVfoOverlay.SetState(FMode, FFilterBW, FVfoA, FLastSMeter);
|
||||
FVfoOverlay.SetDSPState(BtnNR.Tag, BtnNB.Tag, BtnSNB.Tag <> 0, BtnANF.Tag <> 0);
|
||||
FVfoOverlay.Visible := True;
|
||||
FVfoOverlay.BringToFront;
|
||||
PositionVfoOverlay;
|
||||
@@ -5544,10 +5547,20 @@ begin
|
||||
if Assigned(FVfoOverlay) and FVfoOverlay.Visible then
|
||||
begin
|
||||
FVfoOverlay.SetState(FMode, FFilterBW, FVfoA, FLastSMeter);
|
||||
FVfoOverlay.SetDSPState(BtnNR.Tag, BtnNB.Tag, BtnSNB.Tag <> 0, BtnANF.Tag <> 0);
|
||||
PositionVfoOverlay; // перепозиционируем при смене LSB↔USB
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.OnVfoOverlayDSPChange(NRMode, NBMode: Integer; SNBOn, ANFOn: Boolean);
|
||||
begin
|
||||
BtnNR.Tag := NRMode; UpdateNRButton;
|
||||
BtnNB.Tag := NBMode; UpdateNBButton;
|
||||
BtnSNB.Tag := Ord(SNBOn); UpdateSNBButton;
|
||||
BtnANF.Tag := Ord(ANFOn); UpdateANFButton;
|
||||
ApplyNoiseFilterButtonsToDSP;
|
||||
end;
|
||||
|
||||
procedure TMainForm.BtnSpanClick(Sender: TObject);
|
||||
var
|
||||
NewRate: Integer;
|
||||
|
||||
Reference in New Issue
Block a user