mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
fix(ui): scale Pluto left-panel relayout
This commit is contained in:
+14
-6
@@ -8540,9 +8540,17 @@ end;
|
||||
procedure TMainForm.LayoutLeftPanel(Pluto: Boolean);
|
||||
// Показывает/скрывает Pluto RF-AGC блок под AGC и сдвигает панели ниже
|
||||
// (Bands и далее через RelayoutBelowBands).
|
||||
var baseTop: Integer;
|
||||
var
|
||||
baseTop, Gap2, Gap4: Integer;
|
||||
begin
|
||||
if (PanelPlutoAGC = nil) or (PanelAGC = nil) or (PanelBands = nil) then Exit;
|
||||
// BuildUI создаёт геометрию в 96-DPI координатах, после чего LCL
|
||||
// масштабирует её вместе с формой. Эта перекладка выполняется позднее,
|
||||
// уже после подключения устройства, поэтому её литеральные размеры тоже
|
||||
// нужно перевести в текущий DPI формы. Иначе при 125% RX-панель снова
|
||||
// получала Height=96, а её уже масштабированный ряд NR/NB/... обрезался.
|
||||
Gap2 := Scale96ToForm(2);
|
||||
Gap4 := Scale96ToForm(4);
|
||||
// Шаговый аттенюатор — только у openHPSDR; у AD936x усиление тракта в блоке
|
||||
// RF AGC ниже, поэтому ряд ATT убираем и RX-блок ужимаем.
|
||||
if (TrkAtt <> nil) and (LblAtt <> nil) and (LblAttVal <> nil) then
|
||||
@@ -8550,15 +8558,15 @@ begin
|
||||
TrkAtt.Visible := not Pluto;
|
||||
LblAtt.Visible := not Pluto;
|
||||
LblAttVal.Visible := not Pluto;
|
||||
if Pluto then PanelRXBlock.Height := RX_BLOCK_H
|
||||
else PanelRXBlock.Height := RX_BLOCK_H_ATT;
|
||||
PanelAGC.Top := PanelRXBlock.Top + PanelRXBlock.Height + 4;
|
||||
if Pluto then PanelRXBlock.Height := Scale96ToForm(RX_BLOCK_H)
|
||||
else PanelRXBlock.Height := Scale96ToForm(RX_BLOCK_H_ATT);
|
||||
PanelAGC.Top := PanelRXBlock.Top + PanelRXBlock.Height + Gap4;
|
||||
end;
|
||||
baseTop := PanelAGC.Top + PanelAGC.Height + 4;
|
||||
baseTop := PanelAGC.Top + PanelAGC.Height + Gap4;
|
||||
PanelPlutoAGC.Top := baseTop;
|
||||
PanelPlutoAGC.Visible := Pluto;
|
||||
if Pluto then
|
||||
PanelBands.Top := baseTop + PanelPlutoAGC.Height + 2
|
||||
PanelBands.Top := baseTop + PanelPlutoAGC.Height + Gap2
|
||||
else
|
||||
PanelBands.Top := baseTop;
|
||||
RelayoutBelowBands;
|
||||
|
||||
Reference in New Issue
Block a user