@@ -183,6 +183,14 @@ interface
183
183
property OverviewFontSize: Integer
184
184
read GetOverviewFontSize write SetOverviewFontSize;
185
185
186
+ // / <summary>Gets size of base font used in detail pane.</summary>
187
+ function GetDetailFontSize : Integer;
188
+ // / <summary>Sets size of base font used in detail pane.</summary>
189
+ procedure SetDetailFontSize (const Value : Integer);
190
+ // / <summary>Size of base font used in detail pane.</summary>
191
+ property DetailFontSize: Integer
192
+ read GetDetailFontSize write SetDetailFontSize;
193
+
186
194
// / <summary>Gets colour used for background of source code in main
187
195
// / display.</summary>
188
196
function GetSourceCodeBGColour : TColor;
@@ -289,7 +297,7 @@ implementation
289
297
SysUtils,
290
298
// Project
291
299
Hiliter.UAttrs, Hiliter.UPersist, IntfCommon, UExceptions, UColours,
292
- USettings;
300
+ UFontHelper, USettings;
293
301
294
302
295
303
type
@@ -342,6 +350,8 @@ TPreferences = class(TInterfacedObject,
342
350
// / <summary>Records size of font used in overview pane tree view.
343
351
// / </summary>
344
352
fOverviewFontSize: Integer;
353
+ // / <summary>Records size of font used in details pane.</summary>
354
+ fDetailFontSize: Integer;
345
355
// / <summary>Records colour used for background of source code in main
346
356
// / display.</summary>
347
357
fSourceCodeBGColour: TColor;
@@ -366,6 +376,11 @@ TPreferences = class(TInterfacedObject,
366
376
// / <summary>Information describing snippet detail page customisations.
367
377
// / </summary>
368
378
fPageStructures: TSnippetPageStructures;
379
+ // / <summary>Returns default font size for overview pane tree view.
380
+ // / </summary>
381
+ function DefaultOverviewFontSize : Integer;
382
+ // / <summary>Returns default font size for details pane.</summary>
383
+ function DefaultDetailFontSize : Integer;
369
384
public
370
385
// / <summary>Constructs a new object instance.</summary>
371
386
constructor Create;
@@ -510,6 +525,14 @@ TPreferences = class(TInterfacedObject,
510
525
// / <remarks>Method of IPreferences.</remarks>
511
526
procedure SetOverviewFontSize (const Value : Integer);
512
527
528
+ // / <summary>Gets size of base font used in detail pane.</summary>
529
+ // / <remarks>Method of IPreferences.</remarks>
530
+ function GetDetailFontSize : Integer;
531
+
532
+ // / <summary>Sets size of base font used in detail pane.</summary>
533
+ // / <remarks>Method of IPreferences.</remarks>
534
+ procedure SetDetailFontSize (const Value : Integer);
535
+
513
536
// / <summary>Gets colour used for background of source code in main
514
537
// / display.</summary>
515
538
// / <remarks>Method of IPreferences.</remarks>
@@ -677,6 +700,7 @@ procedure TPreferences.Assign(const Src: IInterface);
677
700
Self.fDBHeadingColours[True] := SrcPref.DBHeadingColours[True];
678
701
Self.fDBHeadingCustomColours[True] := SrcPref.DBHeadingCustomColours[True];
679
702
Self.fOverviewFontSize := SrcPref.OverviewFontSize;
703
+ Self.fDetailFontSize := SrcPref.DetailFontSize;
680
704
Self.fSourceCodeBGColour := SrcPref.SourceCodeBGColour;
681
705
Self.fSourceCodeBGCustomColours := SrcPref.SourceCodeBGCustomColours;
682
706
Self.fPrinterOptions := SrcPref.PrinterOptions;
@@ -701,6 +725,16 @@ constructor TPreferences.Create;
701
725
TDefaultPageStructures.SetDefaults(fPageStructures);
702
726
end ;
703
727
728
+ function TPreferences.DefaultDetailFontSize : Integer;
729
+ begin
730
+ Result := TFontHelper.GetDefaultContentFontSize;
731
+ end ;
732
+
733
+ function TPreferences.DefaultOverviewFontSize : Integer;
734
+ begin
735
+ Result := TFontHelper.GetDefaultFontSize;
736
+ end ;
737
+
704
738
destructor TPreferences.Destroy;
705
739
begin
706
740
fPageStructures.Free;
@@ -723,6 +757,11 @@ function TPreferences.GetDBHeadingCustomColours(
723
757
Result := fDBHeadingCustomColours[UserDefined];
724
758
end ;
725
759
760
+ function TPreferences.GetDetailFontSize : Integer;
761
+ begin
762
+ Result := fDetailFontSize;
763
+ end ;
764
+
726
765
function TPreferences.GetHiliteAttrs : IHiliteAttrs;
727
766
begin
728
767
Result := fHiliteAttrs;
@@ -830,6 +869,14 @@ procedure TPreferences.SetDBHeadingCustomColours(UserDefined: Boolean;
830
869
fDBHeadingCustomColours[UserDefined] := Value ;
831
870
end ;
832
871
872
+ procedure TPreferences.SetDetailFontSize (const Value : Integer);
873
+ begin
874
+ if TFontHelper.IsInCommonFontSizeRange(Value ) then
875
+ fDetailFontSize := Value
876
+ else
877
+ fDetailFontSize := DefaultDetailFontSize;
878
+ end ;
879
+
833
880
procedure TPreferences.SetHiliteAttrs (const Attrs: IHiliteAttrs);
834
881
begin
835
882
(fHiliteAttrs as IAssignable).Assign(Attrs);
@@ -852,7 +899,10 @@ procedure TPreferences.SetNamedHiliteAttrs(NamedHiliteAttrs: INamedHiliteAttrs);
852
899
853
900
procedure TPreferences.SetOverviewFontSize (const Value : Integer);
854
901
begin
855
- fOverviewFontSize := Value ;
902
+ if TFontHelper.IsInCommonFontSizeRange(Value ) then
903
+ fOverviewFontSize := Value
904
+ else
905
+ fOverviewFontSize := DefaultOverviewFontSize;
856
906
end ;
857
907
858
908
procedure TPreferences.SetOverviewStartState (const Value : TOverviewStartState);
@@ -945,6 +995,7 @@ function TPreferencesPersist.Clone: IInterface;
945
995
NewPref.DBHeadingColours[True] := Self.fDBHeadingColours[True];
946
996
NewPref.DBHeadingCustomColours[True] := Self.fDBHeadingCustomColours[True];
947
997
NewPref.OverviewFontSize := Self.fOverviewFontSize;
998
+ NewPref.DetailFontSize := Self.fDetailFontSize;
948
999
NewPref.SourceCodeBGColour := Self.fSourceCodeBGColour;
949
1000
NewPref.SourceCodeBGCustomColours := Self.fSourceCodeBGCustomColours;
950
1001
NewPref.PrinterOptions := Self.fPrinterOptions;
@@ -999,7 +1050,12 @@ constructor TPreferencesPersist.Create;
999
1050
fDBHeadingCustomColours[True] := Storage.GetStrings(
1000
1051
' UserDBHeadingCustomColourCount' , ' UserDBHeadingCustomColour%d'
1001
1052
);
1002
- fOverviewFontSize := Storage.GetInteger(' OverviewFontSize' , 9 );
1053
+ fOverviewFontSize := Storage.GetInteger(
1054
+ ' OverviewFontSize' , DefaultOverviewFontSize
1055
+ );
1056
+ fDetailFontSize := Storage.GetInteger(
1057
+ ' DetailFontSize' , DefaultDetailFontSize
1058
+ );
1003
1059
fSourceCodeBGCustomColours := Storage.GetStrings(
1004
1060
' SourceCodeBGCustomColourCount' , ' SourceCodeBGCustomColour%d'
1005
1061
);
@@ -1071,6 +1127,7 @@ destructor TPreferencesPersist.Destroy;
1071
1127
Storage.SetInteger(' MainDBHeadingColour' , fDBHeadingColours[False]);
1072
1128
Storage.SetInteger(' UserDBHeadingColour' , fDBHeadingColours[True]);
1073
1129
Storage.SetInteger(' OverviewFontSize' , fOverviewFontSize);
1130
+ Storage.SetInteger(' DetailFontSize' , fDetailFontSize);
1074
1131
Storage.SetInteger(' SourceCodeBGColour' , fSourceCodeBGColour);
1075
1132
Storage.SetStrings(
1076
1133
' MainDBHeadingCustomColourCount' ,
0 commit comments