Uladzimir KarpenkaandClaude Opus 4.8 967e7cb7b1 Phase 3 (batch 9): route FM repeater shift through controller commands
FM Rpt is the first FM-Rpt heavy-class item (XvtrTranslate/ActiveTXFreqHz
blocker already lifted in d895800). Following the established pattern:

- TRadioController.SetFMRpt(Dir): explicit direction, clears auto-active,
  pushes network state; rendered via OnControllerState(rfFMRpt).
- SetFMRptOffset(Hz): updates offset, re-pushes when RPT engaged.
- UpdateRptAutoState: 2 m auto-MINUS logic moved into controller, fires
  Changed(rfFMRpt) instead of inline StyleButton.
- Extracted private PushNetworkState helper (full HP frame); SetCTun now
  reuses it (dedupes the UpdateState+SendFullHP block).

MainForm: Btn/EdFMRpt handlers are thin wrappers (toggle decision +
SaveCurrentBand stay in UI); UpdateRptAutoState delegates to controller;
ApplyFMRpt removed. OnControllerState(rfFMRpt) restyles both buttons and
sets the offset edit text only when unfocused (avoids disrupting typing).
Direct FFMRptDir writes in band/channel/xvtr restore paths left as-is
(migrate with their own commands later). Builds clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 19:56:56 +03:00
2026-03-26 22:50:55 +03:00
2026-03-09 18:48:24 +03:00
2026-04-22 22:09:42 +03:00
2026-05-29 08:00:22 +03:00
2026-06-02 18:08:10 +03:00
2026-05-28 15:59:49 +03:00
2026-05-02 13:39:46 +03:00
2026-05-28 15:59:49 +03:00
2026-05-28 15:59:49 +03:00
2026-03-09 18:48:24 +03:00
2026-06-02 18:08:10 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-21 15:19:43 +03:00
2026-03-05 16:19:26 +03:00
2026-05-21 21:37:25 +03:00
2026-05-24 16:29:13 +03:00
2026-03-05 16:19:26 +03:00
S
Description
No description provided
Readme GPL-2.0
13 MiB
Languages
Pascal 96.4%
Python 2.9%
Shell 0.6%