mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
fix(beacon): взведённый клик снимается при любом наведении, не только мышью
FBeaconArming гасился только в обработчике клика по спектру. Навёл AUTO из окна лупы — флаг остался взведён, и следующий случайный ЛКМ по панораме утаскивал маяк на пустое место. Те же грабли были для наведения из web и CAT. Снимаем в обработчике rfBeaconLock, как только BeaconDecodeFreqHz стал ненулевым — кто навёл, роли не играет. FSpectrumDirty просим только в этот момент: маркеры и так едут вместе с кадрами, а на стопе спектр статичен, дёргать перерисовку 10 раз в секунду незачем. Сборка ewsdr (--ws=qt6) — ОК. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1661,7 +1661,19 @@ begin
|
|||||||
PbSpectrum.Invalidate;
|
PbSpectrum.Invalidate;
|
||||||
end;
|
end;
|
||||||
rfBeaconLock:
|
rfBeaconLock:
|
||||||
|
begin
|
||||||
|
// Наведение ставит не только клик по спектру: есть AUTO в окне маяка,
|
||||||
|
// web и CAT. Как только декодер куда-то наведён — снимаем «вооружение»,
|
||||||
|
// иначе следующий случайный ЛКМ по панораме утащил бы маяк на пустое
|
||||||
|
// место. Перерисовку просим только в этот момент: маркеры и так едут с
|
||||||
|
// кадрами, а на стопе спектр статичен.
|
||||||
|
if FBeaconArming and (FController.BeaconDecodeFreqHz > 0) then
|
||||||
|
begin
|
||||||
|
FBeaconArming := False;
|
||||||
|
FSpectrumDirty := True;
|
||||||
|
end;
|
||||||
UpdateBeaconButton; // статус/коррекция QO-100 beacon lock
|
UpdateBeaconButton; // статус/коррекция QO-100 beacon lock
|
||||||
|
end;
|
||||||
rfCTun:
|
rfCTun:
|
||||||
begin
|
begin
|
||||||
StyleButton(BtnCTun, FController.FCTun);
|
StyleButton(BtnCTun, FController.FCTun);
|
||||||
|
|||||||
Reference in New Issue
Block a user