mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
ui(pans): флаг A появляется вместе с первым доп. панадаптером
Доп. панадаптер приходит со своим слайсом и сразу рисует его флаг, а главный приёмник оставался без флага — [A] показывался только когда слайс создавали на самом пане 0 (инвариант «панель скрыта ИЛИ есть слайсы B+»). TPanafallPanel: третье слагаемое инварианта — MainFlagForced, выставляется хозяином. MainForm.ResizeSpectrumPanels после LayoutPanStack ставит FPan.MainFlagForced := PanCount > 1 и зовёт UpdateMainFlagVisibility; это единая точка — добавление/закрытие пана, restore персиста и STOP все идут через пересчёт раскладки. Сворачивание левой панели (MainFlagPinned) на это не влияет: пока жив хотя бы один доп. пан, флаг A остаётся. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2755,6 +2755,14 @@ begin
|
||||
// Стек панов: регионы по долям, каждый пан раскладывает свой стек
|
||||
// спектр/линейка/сплиттер/водопад/пан-зум внутри своего региона.
|
||||
LayoutPanStack(WideH);
|
||||
// Доп. панадаптер приходит со своим слайсом и сразу показывает его флаг —
|
||||
// главный приёмник должен быть представлен флагом A с того же момента
|
||||
// (раньше флаг A появлялся только от слайса, созданного на самом пане 0).
|
||||
if FPan <> nil then
|
||||
begin
|
||||
FPan.MainFlagForced := PanCount > 1;
|
||||
FPan.UpdateMainFlagVisibility;
|
||||
end;
|
||||
PositionSampleRateOverlay;
|
||||
end;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user