mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +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);
|
procedure TMainForm.LayoutLeftPanel(Pluto: Boolean);
|
||||||
// Показывает/скрывает Pluto RF-AGC блок под AGC и сдвигает панели ниже
|
// Показывает/скрывает Pluto RF-AGC блок под AGC и сдвигает панели ниже
|
||||||
// (Bands и далее через RelayoutBelowBands).
|
// (Bands и далее через RelayoutBelowBands).
|
||||||
var baseTop: Integer;
|
var
|
||||||
|
baseTop, Gap2, Gap4: Integer;
|
||||||
begin
|
begin
|
||||||
if (PanelPlutoAGC = nil) or (PanelAGC = nil) or (PanelBands = nil) then Exit;
|
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 усиление тракта в блоке
|
// Шаговый аттенюатор — только у openHPSDR; у AD936x усиление тракта в блоке
|
||||||
// RF AGC ниже, поэтому ряд ATT убираем и RX-блок ужимаем.
|
// RF AGC ниже, поэтому ряд ATT убираем и RX-блок ужимаем.
|
||||||
if (TrkAtt <> nil) and (LblAtt <> nil) and (LblAttVal <> nil) then
|
if (TrkAtt <> nil) and (LblAtt <> nil) and (LblAttVal <> nil) then
|
||||||
@@ -8550,15 +8558,15 @@ begin
|
|||||||
TrkAtt.Visible := not Pluto;
|
TrkAtt.Visible := not Pluto;
|
||||||
LblAtt.Visible := not Pluto;
|
LblAtt.Visible := not Pluto;
|
||||||
LblAttVal.Visible := not Pluto;
|
LblAttVal.Visible := not Pluto;
|
||||||
if Pluto then PanelRXBlock.Height := RX_BLOCK_H
|
if Pluto then PanelRXBlock.Height := Scale96ToForm(RX_BLOCK_H)
|
||||||
else PanelRXBlock.Height := RX_BLOCK_H_ATT;
|
else PanelRXBlock.Height := Scale96ToForm(RX_BLOCK_H_ATT);
|
||||||
PanelAGC.Top := PanelRXBlock.Top + PanelRXBlock.Height + 4;
|
PanelAGC.Top := PanelRXBlock.Top + PanelRXBlock.Height + Gap4;
|
||||||
end;
|
end;
|
||||||
baseTop := PanelAGC.Top + PanelAGC.Height + 4;
|
baseTop := PanelAGC.Top + PanelAGC.Height + Gap4;
|
||||||
PanelPlutoAGC.Top := baseTop;
|
PanelPlutoAGC.Top := baseTop;
|
||||||
PanelPlutoAGC.Visible := Pluto;
|
PanelPlutoAGC.Visible := Pluto;
|
||||||
if Pluto then
|
if Pluto then
|
||||||
PanelBands.Top := baseTop + PanelPlutoAGC.Height + 2
|
PanelBands.Top := baseTop + PanelPlutoAGC.Height + Gap2
|
||||||
else
|
else
|
||||||
PanelBands.Top := baseTop;
|
PanelBands.Top := baseTop;
|
||||||
RelayoutBelowBands;
|
RelayoutBelowBands;
|
||||||
|
|||||||
Reference in New Issue
Block a user