mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
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:
@@ -5689,6 +5689,10 @@ begin
|
||||
else
|
||||
BtnTXProfile.Caption := 'TX Profile';
|
||||
BtnTXProfile.Invalidate;
|
||||
// Профиль несёт кромки TX-фильтра: на передаче красная полоска обязана
|
||||
// переехать сразу, а не ждать следующего rfMOX/rfFilter (их на TX не будет).
|
||||
PushFilterEdgesToView;
|
||||
FSpectrumDirty := True;
|
||||
if FTXProfileDropDown <> nil then
|
||||
begin
|
||||
SetLength(Names, Cnt);
|
||||
@@ -7930,6 +7934,10 @@ begin
|
||||
if GridChanged and FController.FTransmitting then
|
||||
ApplySpecViewGridFromState;
|
||||
FController.ApplyTXSettingsToDSP;
|
||||
// Low/High из вкладки Transmit — та же полоска фильтра на спектре: кромки
|
||||
// берём уже пересчитанными движком (знак боковой) и на передаче перерисовываем.
|
||||
PushFilterEdgesToView;
|
||||
if FController.FTransmitting then FSpectrumDirty := True;
|
||||
if (OldMicByte <> NewMicByte) or (OldAtt <> FController.FTXSettings.AttOnTX) then
|
||||
FController.SendDUCSpecificFromSettings;
|
||||
// TUN-параметры live: если идёт tune — обновить тон/drive, иначе просто запомнить.
|
||||
|
||||
Reference in New Issue
Block a user