Add channel memory: CH button, dropdown, editor form, smart CTCSS/RPT auto-clear

- New ChannelStore.pas: TChannel record + JSON persistence (channels.json)
- New ChannelsForm.pas: full channel editor (list + fields, pre-fills from current radio state)
- CH button in RX block: left-click opens dropdown, right-click opens editor
- Active channel: button highlights with channel name, deactivates on VFO move
- ApplyChannel: auto-switches XVTR/HF band based on channel frequency; saves old
  band state before switching to prevent cache corruption
- SaveCurrentBand: skip save when VFO > 61 MHz (prevents HF cache corruption
  from VHF channel application without XVTR)
- DeactivateXvtr: save full XVTR state (was only saving LastFreq)
- CTCSS/RPT from channel marked as auto: cleared automatically when tuning away
  from channel frequency; survives band switches via FXvtrSettings auto-flags
- TXvtrEntry: add LastCTCSSAutoActive, LastFMRptAutoActive fields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 15:39:37 +03:00
co-authored by Claude Sonnet 4.6
parent d08317e835
commit 1175e42516
7 changed files with 1298 additions and 24 deletions
+8
View File
@@ -150,6 +150,14 @@
<Filename Value="FMRepeater.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="ChannelStore.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="ChannelsForm.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="FlatSpinEdit.pas"/>
<IsPartOfProject Value="True"/>