瀏覽代碼

ADD: Font size limitation control

meteu 9 年之前
父節點
當前提交
2268e75c0c
共有 6 個文件被更改,包括 32 次插入4 次删除
  1. 1 1
      src/dcrevision.inc
  2. 3 2
      src/feditor.lfm
  3. 7 1
      src/feditor.pas
  4. 1 0
      src/fileviews/ucolumnsfileview.pas
  5. 2 0
      src/fileviews/ufileview.pas
  6. 18 0
      src/uglobs.pas

+ 1 - 1
src/dcrevision.inc

@@ -1,2 +1,2 @@
 // Created by Svn2RevisionInc
-const dcRevision = 'Unknown';
+const dcRevision = '6509M';

+ 3 - 2
src/feditor.lfm

@@ -1,7 +1,7 @@
 object frmEditor: TfrmEditor
-  Left = 100
+  Left = 255
   Height = 480
-  Top = 100
+  Top = 163
   Width = 640
   ActiveControl = Editor
   Caption = 'Editor'
@@ -529,6 +529,7 @@ object frmEditor: TfrmEditor
     LineHighlightColor.Background = clNone
     LineHighlightColor.Foreground = clNone
     OnChange = EditorChange
+    OnPaint = EditorPaint
     OnReplaceText = EditorReplaceText
     OnStatusChange = EditorStatusChange
     inline SynLeftGutterPartList1: TSynGutterPartList

+ 7 - 1
src/feditor.pas

@@ -20,7 +20,7 @@ interface
 
 uses
   SysUtils, Classes, Controls, Forms, ActnList, Menus, SynEdit,
-  ComCtrls, SynEditSearch, SynEditHighlighter, uDebug, uOSForms, uShowForm, types;
+  ComCtrls, SynEditSearch, SynEditHighlighter, uDebug, uOSForms, uShowForm, types, Graphics;
 
 type
 
@@ -121,6 +121,7 @@ type
       MousePos: TPoint; var Handled: Boolean);
     procedure EditorMouseWheelUp(Sender: TObject; Shift: TShiftState;
       MousePos: TPoint; var Handled: Boolean);
+    procedure EditorPaint(Sender: TObject; ACanvas: TCanvas);
     procedure FormCreate(Sender: TObject);
     procedure actEditDeleteExecute(Sender: TObject);
     procedure actEditRedoExecute(Sender: TObject);
@@ -375,6 +376,11 @@ begin
 
 end;
 
+procedure TfrmEditor.EditorPaint(Sender: TObject; ACanvas: TCanvas);
+begin
+  FontSizeCorrector;
+end;
+
 function TfrmEditor.OpenFile(const aFileName: String): Boolean;
 var
   Buffer: AnsiString;

+ 1 - 0
src/fileviews/ucolumnsfileview.pas

@@ -52,6 +52,7 @@ type
     procedure DrawCell(aCol, aRow: Integer; aRect: TRect;
               aState: TGridDrawState); override;
 
+
   public
     ColumnsOwnDim: TFunctionDime;
 

+ 2 - 0
src/fileviews/ufileview.pas

@@ -2601,6 +2601,8 @@ procedure TFileView.UpdateView;
 var
   bLoadingFilelist: Boolean;
 begin
+  FontSizeCorrector;
+
   bLoadingFilelist := GetCurrentWorkType = fvwtCreate;
   StopWorkers;
 

+ 18 - 0
src/uglobs.pas

@@ -137,6 +137,14 @@ const
   DropTextUnicode_Index=2;
   DropTextSimpleText_Index=3;
 
+  { Global font sizes limitations }
+
+  MAX_MAIN_FONT_SIZE=50;
+  MIN_MAIN_FONT_SIZE=6;
+
+  MAX_EDITOR_FONT_SIZE=70;
+  MIN_EDITOR_FONT_SIZE=6;
+
 var
   { For localization }
   gPOFileName,
@@ -465,6 +473,7 @@ function InitPropStorage(Owner: TComponent): TIniPropStorageEx;
 
 procedure FontToFontOptions(Font: TFont; out Options: TDCFontOptions);
 procedure FontOptionsToFont(Options: TDCFontOptions; Font: TFont);
+procedure FontSizeCorrector;
 
 function GetKeyTypingAction(ShiftStateEx: TShiftState): TKeyTypingAction;
 function IsFileSystemWatcher: Boolean;
@@ -907,6 +916,15 @@ begin
   end;
 end;
 
+procedure FontSizeCorrector;
+begin
+    if gFonts[dcfMain].Size>MAX_MAIN_FONT_SIZE then gFonts[dcfMain].Size:=MAX_MAIN_FONT_SIZE;
+    if gFonts[dcfMain].Size<MIN_MAIN_FONT_SIZE then gFonts[dcfMain].Size:=MIN_MAIN_FONT_SIZE;
+
+    if gFonts[dcfEditor].Size>MAX_EDITOR_FONT_SIZE then gFonts[dcfEditor].Size:=MAX_EDITOR_FONT_SIZE;
+    if gFonts[dcfEditor].Size<MIN_EDITOR_FONT_SIZE then gFonts[dcfEditor].Size:=MIN_EDITOR_FONT_SIZE;
+end;
+
 procedure OldKeysToNew(ActionEnabled: Boolean; ShiftState: TShiftState; Action: TKeyTypingAction);
 var
   Modifier: TKeyTypingModifier;