fix(tx): полоска TX-фильтра перерисовывается при смене профиля и правке Low/High

Кромки TX-полосы в SpectrumView обновляла только PushFilterEdgesToView,
которую звали из rfMOX/rfMode/rfFilter. Смена TX-профиля (rfTXProfile) и
правка Low/High во вкладке Transmit перешивали WDSP, но вьюха продолжала
рисовать старую полосу до следующего MOX или смены режима — на передаче
эти события не приходят вовсе.

Зовём PushFilterEdgesToView из RenderTXProfile и из OnTXSettingsChange
(кромки берутся из движка уже со знаком боковой, TXSignedEdges). Кадр
форсируем через MainForm.FSpectrumDirty — он же покрывает TX со слайса,
где FTXOverlay=False, а полоса слайса читает те же FTXEdgeLo/Hi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-04 14:50:06 +03:00
co-authored by Claude Opus 5
parent 71a97b63f0
commit c8781bee6a
+8
View File
@@ -5689,6 +5689,10 @@ begin
else else
BtnTXProfile.Caption := 'TX Profile'; BtnTXProfile.Caption := 'TX Profile';
BtnTXProfile.Invalidate; BtnTXProfile.Invalidate;
// Профиль несёт кромки TX-фильтра: на передаче красная полоска обязана
// переехать сразу, а не ждать следующего rfMOX/rfFilter (их на TX не будет).
PushFilterEdgesToView;
FSpectrumDirty := True;
if FTXProfileDropDown <> nil then if FTXProfileDropDown <> nil then
begin begin
SetLength(Names, Cnt); SetLength(Names, Cnt);
@@ -7930,6 +7934,10 @@ begin
if GridChanged and FController.FTransmitting then if GridChanged and FController.FTransmitting then
ApplySpecViewGridFromState; ApplySpecViewGridFromState;
FController.ApplyTXSettingsToDSP; FController.ApplyTXSettingsToDSP;
// Low/High из вкладки Transmit — та же полоска фильтра на спектре: кромки
// берём уже пересчитанными движком (знак боковой) и на передаче перерисовываем.
PushFilterEdgesToView;
if FController.FTransmitting then FSpectrumDirty := True;
if (OldMicByte <> NewMicByte) or (OldAtt <> FController.FTXSettings.AttOnTX) then if (OldMicByte <> NewMicByte) or (OldAtt <> FController.FTXSettings.AttOnTX) then
FController.SendDUCSpecificFromSettings; FController.SendDUCSpecificFromSettings;
// TUN-параметры live: если идёт tune — обновить тон/drive, иначе просто запомнить. // TUN-параметры live: если идёт tune — обновить тон/drive, иначе просто запомнить.