Browse Source

ADD: Zooming by Ctrl+Wheel in FilePanels and in internal editor

meteu 9 years ago
parent
commit
471aee3b08
4 changed files with 122 additions and 4 deletions
  1. 20 3
      src/feditor.lfm
  2. 58 1
      src/feditor.pas
  3. 23 0
      src/fileviews/ubrieffileview.pas
  4. 21 0
      src/fileviews/ucolumnsfileview.pas

+ 20 - 3
src/feditor.lfm

@@ -51,9 +51,11 @@ object frmEditor: TfrmEditor
   OnClose = frmEditorClose
   OnCloseQuery = FormCloseQuery
   OnCreate = FormCreate
+  OnMouseWheelDown = FormMouseWheelDown
+  OnMouseWheelUp = FormMouseWheelUp
   SessionProperties = 'Height;Width;WindowState;Left;Top'
   ShowInTaskBar = stAlways
-  LCLVersion = '1.2.6.0'
+  LCLVersion = '1.4.4.0'
   object StatusBar: TStatusBar
     Left = 0
     Height = 23
@@ -92,8 +94,10 @@ object frmEditor: TfrmEditor
     TabOrder = 0
     OnKeyDown = EditorKeyDown
     OnKeyPress = EditorKeyPress
+    OnMouseWheelDown = EditorMouseWheelDown
+    OnMouseWheelUp = EditorMouseWheelUp
     BookMarkOptions.Xoffset = 48
-    Gutter.Width = 53
+    Gutter.Width = 57
     Gutter.MouseActions = <    
       item
         ClickCount = ccAny
@@ -499,12 +503,20 @@ object frmEditor: TfrmEditor
         ShiftMask = [ssShift, ssAlt, ssCtrl]
         Command = emcMouseLink
       end>
+    MouseTextActions = <>
     MouseSelActions = <    
       item
         ClickDir = cdDown
         Command = emcStartDragMove
       end>
     VisibleSpecialChars = [vscSpace, vscTabAtLast]
+    SelectedColor.BackPriority = 50
+    SelectedColor.ForePriority = 50
+    SelectedColor.FramePriority = 50
+    SelectedColor.BoldPriority = 50
+    SelectedColor.ItalicPriority = 50
+    SelectedColor.UnderlinePriority = 50
+    SelectedColor.StrikeOutPriority = 50
     BracketHighlightStyle = sbhsBoth
     BracketMatchColor.Background = clNone
     BracketMatchColor.Foreground = clNone
@@ -525,7 +537,7 @@ object frmEditor: TfrmEditor
         MouseActions = <>
       end
       object SynGutterLineNumber1: TSynGutterLineNumber
-        Width = 13
+        Width = 17
         MouseActions = <>
         MarkupInfo.Background = clBtnFace
         MarkupInfo.Foreground = clNone
@@ -543,6 +555,8 @@ object frmEditor: TfrmEditor
       object SynGutterSeparator1: TSynGutterSeparator
         Width = 2
         MouseActions = <>
+        MarkupInfo.Background = clWhite
+        MarkupInfo.Foreground = clGray
       end
       object SynGutterCodeFolding1: TSynGutterCodeFolding
         MouseActions = <        
@@ -623,6 +637,7 @@ object frmEditor: TfrmEditor
     end
     object tbSeparator1: TToolButton
       Left = 70
+      Height = 22
       Top = 2
       Width = 10
       Style = tbsSeparator
@@ -644,6 +659,7 @@ object frmEditor: TfrmEditor
     end
     object tbSeparator2: TToolButton
       Left = 149
+      Height = 22
       Top = 2
       Width = 10
       Style = tbsSeparator
@@ -660,6 +676,7 @@ object frmEditor: TfrmEditor
     end
     object tbSeparator3: TToolButton
       Left = 205
+      Height = 22
       Top = 2
       Width = 10
       Style = tbsSeparator

+ 58 - 1
src/feditor.pas

@@ -20,7 +20,7 @@ interface
 
 uses
   SysUtils, Classes, Controls, Forms, ActnList, Menus, SynEdit,
-  ComCtrls, SynEditSearch, SynEditHighlighter, uDebug, uOSForms, uShowForm;
+  ComCtrls, SynEditSearch, SynEditHighlighter, uDebug, uOSForms, uShowForm, types;
 
 type
 
@@ -117,6 +117,10 @@ type
     procedure actEditLineEndCrExecute(Sender: TObject);
     procedure actEditLineEndCrLfExecute(Sender: TObject);
     procedure actEditLineEndLfExecute(Sender: TObject);
+    procedure EditorMouseWheelDown(Sender: TObject; Shift: TShiftState;
+      MousePos: TPoint; var Handled: Boolean);
+    procedure EditorMouseWheelUp(Sender: TObject; Shift: TShiftState;
+      MousePos: TPoint; var Handled: Boolean);
     procedure FormCreate(Sender: TObject);
     procedure actEditDeleteExecute(Sender: TObject);
     procedure actEditRedoExecute(Sender: TObject);
@@ -143,6 +147,10 @@ type
     procedure actEditRplcExecute(Sender: TObject);
     procedure actSave2Execute(Sender: TObject);
     procedure actConfHighExecute(Sender: TObject);
+    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
+      MousePos: TPoint; var Handled: Boolean);
+    procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
+      MousePos: TPoint; var Handled: Boolean);
     procedure frmEditorClose(Sender: TObject; var CloseAction: TCloseAction);
   private
     { Private declarations }
@@ -333,6 +341,40 @@ begin
   Editor.Lines.TextLineBreakStyle:= tlbsLF;
 end;
 
+procedure TfrmEditor.EditorMouseWheelDown(Sender: TObject; Shift: TShiftState;
+  MousePos: TPoint; var Handled: Boolean);
+var
+   t:integer;
+begin
+  if Shift=[ssCtrl] then
+  begin
+    t:=Editor.TopLine;
+    gFonts[dcfEditor].Size:=gFonts[dcfEditor].Size-1;
+    FontOptionsToFont(gFonts[dcfEditor], Editor.Font);
+    Editor.TopLine:=t;
+    Editor.Refresh;
+    Handled:=True;
+  end;
+
+end;
+
+procedure TfrmEditor.EditorMouseWheelUp(Sender: TObject; Shift: TShiftState;
+  MousePos: TPoint; var Handled: Boolean);
+var
+   t:integer;
+begin
+  if Shift=[ssCtrl] then
+  begin
+    t:=Editor.TopLine;
+    gFonts[dcfEditor].Size:=gFonts[dcfEditor].Size+1;
+    FontOptionsToFont(gFonts[dcfEditor], Editor.Font);
+    Editor.TopLine:=t;
+    Editor.Refresh;
+    Handled:=True;
+  end;
+
+end;
+
 function TfrmEditor.OpenFile(const aFileName: String): Boolean;
 var
   Buffer: AnsiString;
@@ -934,6 +976,21 @@ begin
   ShowOptions(TfrmOptionsEditorColors);
 end;
 
+procedure TfrmEditor.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
+  MousePos: TPoint; var Handled: Boolean);
+begin
+
+
+end;
+
+procedure TfrmEditor.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
+  MousePos: TPoint; var Handled: Boolean);
+
+begin
+
+
+end;
+
 procedure TfrmEditor.frmEditorClose(Sender: TObject;
   var CloseAction: TCloseAction);
 begin

+ 23 - 0
src/fileviews/ubrieffileview.pas

@@ -322,8 +322,19 @@ end;
 
 function TBriefDrawGrid.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean;
 begin
+
   if not FBriefView.IsLoadingFileList then
   begin
+
+    if Shift=[ssCtrl] then
+    begin
+      gFonts[dcfMain].Size:=gFonts[dcfMain].Size-1;
+      frmMain.FrameLeft.UpdateView;
+      frmMain.FrameRight.UpdateView;
+      Result:=True;
+      Exit;
+    end;
+
     Result:= inherited DoMouseWheelDown(Shift, MousePos);
     Result:= Perform(LM_HSCROLL, SB_LINERIGHT, 0) = 0;
   end
@@ -333,8 +344,20 @@ end;
 
 function TBriefDrawGrid.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;
 begin
+
   if not FBriefView.IsLoadingFileList then
   begin
+
+    if Shift=[ssCtrl] then
+    begin
+      gFonts[dcfMain].Size:=gFonts[dcfMain].Size+1;
+      frmMain.FrameLeft.UpdateView;
+      frmMain.FrameRight.UpdateView;
+      Result:=True;
+      Exit;
+    end;
+
+
     Result:= inherited DoMouseWheelUp(Shift, MousePos);
     Result:= Perform(LM_HSCROLL, SB_LINELEFT, 0) = 0;
   end

+ 21 - 0
src/fileviews/ucolumnsfileview.pas

@@ -379,6 +379,17 @@ begin
   Handled:= True;
   if not IsLoadingFileList then
   begin
+
+    if Shift=[ssCtrl] then
+    begin
+      gFonts[dcfMain].Size:=gFonts[dcfMain].Size+1;
+      frmMain.FrameLeft.UpdateView;
+      frmMain.FrameRight.UpdateView;
+      Handled:=True;
+      Exit;
+    end;
+
+
     case gScrollMode of
       smLineByLine:
         for I:= 1 to gWheelScrollLines do
@@ -399,6 +410,16 @@ begin
   Handled:= True;
   if not IsLoadingFileList then
   begin
+
+    if Shift=[ssCtrl] then
+    begin
+      gFonts[dcfMain].Size:=gFonts[dcfMain].Size-1;
+      frmMain.FrameLeft.UpdateView;
+      frmMain.FrameRight.UpdateView;
+      Handled:=True;
+      Exit;
+    end;
+
     case gScrollMode of
       smLineByLine:
         for I:= 1 to gWheelScrollLines do