fix VFO hover colors for light theme

FreqDisplay: добавлено свойство ColorHoverBG вместо хардкода $182838
AppTheme: FreqHover, FreqHoverBG, FreqDimDot для обеих тем
UpdateVfoDisplay: выставляет hover-цвета из текущей темы

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-02 19:18:29 +03:00
co-authored by Claude Sonnet 4.6
parent d9a2157719
commit eaece17940
3 changed files with 28 additions and 11 deletions
+11 -4
View File
@@ -42,6 +42,7 @@ type
VfoTxInaText: TColor;
// Дисплей частоты
FreqActive, FreqDim: TColor;
FreqHover, FreqHoverBG, FreqDimDot: TColor;
// Индикаторы (S-meter, мощность)
MeterOn, MeterOvr: TColor;
Amber: TColor;
@@ -140,8 +141,11 @@ begin
Result.VfoTxInaBorder := TColor($00404040);
Result.VfoTxInaText := TColor($00808080);
Result.FreqActive := TColor($0000FF00);
Result.FreqDim := TColor($00007800);
Result.FreqActive := TColor($0000FF00);
Result.FreqDim := TColor($00007800);
Result.FreqHover := TColor($0080FFCC);
Result.FreqHoverBG := TColor($00182838);
Result.FreqDimDot := TColor($00607080);
Result.MeterOn := TColor($0000CC44);
Result.MeterOvr := TColor($000000CC);
@@ -244,8 +248,11 @@ begin
Result.VfoTxInaText := TColor($00706860);
// Дисплей частоты — насыщенный зелёный
Result.FreqActive := TColor($00005500);
Result.FreqDim := TColor($00447044);
Result.FreqActive := TColor($00005500);
Result.FreqDim := TColor($00447044);
Result.FreqHover := TColor($00003A00);
Result.FreqHoverBG := TColor($00C8E8C8);
Result.FreqDimDot := TColor($00909080);
// Индикаторы
Result.MeterOn := TColor($00006820);
+10 -7
View File
@@ -27,9 +27,10 @@ type
FMaxFreq: Int64;
FFontSize: Integer;
FFontName: string;
FColorNormal: TColor;
FColorHover: TColor;
FColorDim: TColor;
FColorNormal: TColor;
FColorHover: TColor;
FColorHoverBG: TColor;
FColorDim: TColor;
FMinMhzDigits: Integer;
FDimLeadingZeros: Boolean;
FCenterText: Boolean;
@@ -65,9 +66,10 @@ type
property MaxFreq: Int64 read FMaxFreq write FMaxFreq;
property FontSize: Integer read FFontSize write SetFontSize;
property FontName: string read FFontName write FFontName;
property ColorNormal: TColor read FColorNormal write FColorNormal;
property ColorHover: TColor read FColorHover write FColorHover;
property ColorDim: TColor read FColorDim write FColorDim;
property ColorNormal: TColor read FColorNormal write FColorNormal;
property ColorHover: TColor read FColorHover write FColorHover;
property ColorHoverBG: TColor read FColorHoverBG write FColorHoverBG;
property ColorDim: TColor read FColorDim write FColorDim;
property MinMhzDigits: Integer read FMinMhzDigits write FMinMhzDigits;
property DimLeadingZeros: Boolean read FDimLeadingZeros write FDimLeadingZeros;
property CenterText: Boolean read FCenterText write FCenterText;
@@ -86,6 +88,7 @@ begin
FFontName := 'Courier New';
FColorNormal := TColor($00E8F0FF);
FColorHover := TColor($0040DDFF);
FColorHoverBG := TColor($00182838);
FColorDim := TColor($00607080);
FMinMhzDigits := 1;
FDimLeadingZeros := False;
@@ -263,7 +266,7 @@ begin
// Фоновая подсветка активного разряда
if (dIdx >= 0) and (dIdx = FHoverDigit) then
begin
C.Brush.Color := TColor($00182838);
C.Brush.Color := FColorHoverBG;
C.Brush.Style := bsSolid;
C.FillRect(Rect(xi - 1, 2, xi + ChW + 1, Height - 2));
C.Brush.Style := bsClear;
+7
View File
@@ -2338,6 +2338,13 @@ begin
FreqDispA.Height := TOP_VFO_FREQ_H;
FreqDispB.Height := TOP_VFO_FREQ_H;
FreqDispA.ColorHover := T.FreqHover;
FreqDispA.ColorHoverBG := T.FreqHoverBG;
FreqDispA.ColorDim := T.FreqDimDot;
FreqDispB.ColorHover := T.FreqHover;
FreqDispB.ColorHoverBG := T.FreqHoverBG;
FreqDispB.ColorDim := T.FreqDimDot;
if FActiveVfo = 0 then
begin
FreqDispA.ColorNormal := T.FreqActive;