mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 19:45:09 +00:00
ui(dxcluster): системный шрифт вместо захардкоженного 'Courier New'
По проекту гарнитуры не задаём — работает системный шрифт (907c2c0выпилил 'Courier New' из flat-контролов,19babefиз статус-бара). Новый код DX-кластера это правило нарушал в трёх местах, все три введены вa2fdc3a. - DXSpotOverlay: подписи спотов на спектре рисуются системным шрифтом — гарнитура убрана совсем. Моноширинность там ни к чему: позывные не в колонках, ширина чипа и так меряется по TextWidth. Размер по-прежнему задан через Font.Height от высоты ряда — иначе подпись не влезала бы при DPI. - DXClusterForm: список спотов и лог соединения ОСТАЮТСЯ моноширинными осознанно (колонки частота/позывной/мода/UTC/спотер выровнены пробелами в FormatSpotLine, пропорциональный шрифт их развалит), но имя теперь платформенное — MONO_FONT = Consolas/Monospace, как в CWTerminalForm и в полосе CW у PanafallPanel. 'Courier New' на Linux не существует вовсе, fontconfig молча подменял его. Font.Size/Font.Style не трогал: их проект оставляет и после перехода на системный шрифт (в StatusBar размер сохранён). Дифы всех четырёх коммитов ветки проверены по Font.Name — других мест, где DX-код задаёт гарнитуру, нет. Сборка ewsdr (--ws=qt6) — ОК. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+12
-2
@@ -88,6 +88,16 @@ const
|
|||||||
BTN_H = 26;
|
BTN_H = 26;
|
||||||
LOG_H = 130;
|
LOG_H = 130;
|
||||||
|
|
||||||
|
// Моноширинный — ТОЛЬКО там, где колонки выровнены пробелами (список спотов и
|
||||||
|
// лог соединения); всё остальное в окне идёт системным шрифтом, как везде по
|
||||||
|
// проекту. Имя платформенное, как в CWTerminalForm: 'Courier New' есть не
|
||||||
|
// всюду (на Linux fontconfig всё равно подставляет свой моноширинный).
|
||||||
|
{$IFDEF WINDOWS}
|
||||||
|
MONO_FONT = 'Consolas';
|
||||||
|
{$ELSE}
|
||||||
|
MONO_FONT = 'Monospace';
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
constructor TDXClusterForm.CreateWith(AOwner: TComponent; AStore: TDXSpotStore;
|
constructor TDXClusterForm.CreateWith(AOwner: TComponent; AStore: TDXSpotStore;
|
||||||
AClient: TDXClusterClient);
|
AClient: TDXClusterClient);
|
||||||
var
|
var
|
||||||
@@ -197,7 +207,7 @@ begin
|
|||||||
FLog.Anchors := [akLeft, akRight, akBottom];
|
FLog.Anchors := [akLeft, akRight, akBottom];
|
||||||
FLog.ReadOnly := True;
|
FLog.ReadOnly := True;
|
||||||
FLog.WordWrap := False;
|
FLog.WordWrap := False;
|
||||||
FLog.Font.Name := 'Courier New';
|
FLog.Font.Name := MONO_FONT;
|
||||||
FLog.Font.Size := 8;
|
FLog.Font.Size := 8;
|
||||||
|
|
||||||
FList := TFlatListBox.Create(Self);
|
FList := TFlatListBox.Create(Self);
|
||||||
@@ -206,7 +216,7 @@ begin
|
|||||||
ClientWidth - DpiScale(MARGIN * 2),
|
ClientWidth - DpiScale(MARGIN * 2),
|
||||||
FLog.Top - DpiScale(56 + 6));
|
FLog.Top - DpiScale(56 + 6));
|
||||||
FList.Anchors := [akLeft, akTop, akRight, akBottom];
|
FList.Anchors := [akLeft, akTop, akRight, akBottom];
|
||||||
FList.Font.Name := 'Courier New';
|
FList.Font.Name := MONO_FONT;
|
||||||
FList.Font.Size := 9;
|
FList.Font.Size := 9;
|
||||||
FList.TabStop := True;
|
FList.TabStop := True;
|
||||||
FList.OnDblClick := @OnListDblClick;
|
FList.OnDblClick := @OnListDblClick;
|
||||||
|
|||||||
+4
-3
@@ -419,9 +419,10 @@ begin
|
|||||||
C.Pen.Style := psClear;
|
C.Pen.Style := psClear;
|
||||||
C.FillRect(Rect(0, 0, W, FBandH));
|
C.FillRect(Rect(0, 0, W, FBandH));
|
||||||
|
|
||||||
// Шрифт привязан к высоте ряда (а не к point-size) — подпись влезает при
|
// Гарнитуру НЕ задаём — системная, как договорено по проекту: позывные тут
|
||||||
// любом DPI-масштабе, как в бэндплане.
|
// не в колонках, ширина чипа и так меряется по TextWidth. Задан только
|
||||||
C.Font.Name := 'Courier New';
|
// размер, привязанный к высоте ряда (а не к point-size), — подпись влезает
|
||||||
|
// при любом DPI-масштабе, как в бэндплане.
|
||||||
C.Font.Style := [fsBold];
|
C.Font.Style := [fsBold];
|
||||||
C.Font.Height := -Max(8, Round(FRowH * 0.62));
|
C.Font.Height := -Max(8, Round(FRowH * 0.62));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user