mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat(overlay): clickable TX badge with slice-select groundwork
TX-индикатор теперь кликабельный (хит HIT_TX → колбэк OnTxSelect) — задел под выбор TX-слайса в мультислайсах. Три состояния цвета: - передача идёт → красный; - слайс выбран для TX → янтарный (CLR_TX_SEL); - не выбран → нейтральный. Новое состояние FTxSel прокидывается через SetExtState (пока True — один слайс всегда TX-слайс). MainForm.OnVfoOverlayTxSelect — заглушка с TODO под мультислайсы. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+11
-1
@@ -523,6 +523,7 @@ type
|
||||
procedure OnVfoOverlayMute(Sender: TObject);
|
||||
procedure OnVfoOverlayAudioDevice(DevIndex: Integer; const DevName: string);
|
||||
procedure OnVfoOverlaySplit(Sender: TObject);
|
||||
procedure OnVfoOverlayTxSelect(Sender: TObject);
|
||||
procedure PushVfoOverlayExtState;
|
||||
procedure PushVfoOverlayAudioDevices;
|
||||
procedure OnVfoOverlayInvalidate(Sender: TObject);
|
||||
@@ -966,6 +967,7 @@ begin
|
||||
FVfoOverlay.OnMute := OnVfoOverlayMute;
|
||||
FVfoOverlay.OnAudioDevice := OnVfoOverlayAudioDevice;
|
||||
FVfoOverlay.OnSplit := OnVfoOverlaySplit;
|
||||
FVfoOverlay.OnTxSelect := OnVfoOverlayTxSelect;
|
||||
FVfoOverlay.OnInvalidate := OnVfoOverlayInvalidate;
|
||||
FVfoOverlay.Visible := False;
|
||||
FPanelHidden := False;
|
||||
@@ -5144,6 +5146,13 @@ begin
|
||||
PushVfoOverlayExtState;
|
||||
end;
|
||||
|
||||
procedure TMainForm.OnVfoOverlayTxSelect(Sender: TObject);
|
||||
begin
|
||||
// TODO(слайсы): выбрать этот слайс как TX-слайс. Пока один слайс —
|
||||
// он всегда TX-слайс, поэтому клик ничего не меняет (хук под мультислайсы).
|
||||
PushVfoOverlayExtState;
|
||||
end;
|
||||
|
||||
procedure TMainForm.OnVfoOverlayAudioDevice(DevIndex: Integer; const DevName: string);
|
||||
begin
|
||||
ApplyAudioDevice(DevIndex, DevName);
|
||||
@@ -5153,8 +5162,9 @@ end;
|
||||
procedure TMainForm.PushVfoOverlayExtState;
|
||||
begin
|
||||
if not (Assigned(FVfoOverlay) and FVfoOverlay.Visible) then Exit;
|
||||
// TxSel: этот слайс выбран для передачи. Пока слайс один → всегда True.
|
||||
FVfoOverlay.SetExtState(FController.FVolume, FController.FMuted,
|
||||
FController.FSplitTxB, FController.FTransmitting);
|
||||
FController.FSplitTxB, FController.FTransmitting, True);
|
||||
end;
|
||||
|
||||
procedure TMainForm.PushVfoOverlayAudioDevices;
|
||||
|
||||
Reference in New Issue
Block a user