فهرست منبع

Issue 2147 – Three sizes of icons, using "Large" size by default

Source commit: 659f8e4aa6e1a8de04f2323090a69db343054262
Martin Prikryl 1 سال پیش
والد
کامیت
2dd0b59f4d

+ 3 - 2
source/forms/Glyphs.cpp

@@ -50,9 +50,10 @@ void TGlyphsModule::SetLargerToolbar(int LargerToolbar)
   }
 }
 //---------------------------------------------------------------------------
-bool TGlyphsModule::GetLargerToolbarPossible()
+bool TGlyphsModule::IsLargerToolbarPossible(int Larger)
 {
-  return (LargerPixelsPerInch(FBasePixelsPerInch, 1) > FBasePixelsPerInch);
+  int Prev = LargerPixelsPerInch(FBasePixelsPerInch, Larger - 1);
+  return (LargerPixelsPerInch(Prev, 1) > Prev);
 }
 //---------------------------------------------------------------------------
 void TGlyphsModule::UpdatePixelsPerInch()

+ 2 - 2
source/forms/Glyphs.h

@@ -17,9 +17,10 @@ __published:
 public:
   __fastcall TGlyphsModule(TComponent * Owner);
 
+  bool IsLargerToolbarPossible(int Larger);
+
   __property int PixelsPerInch = { read = FBasePixelsPerInch, write = SetPixelsPerInch };
   __property int LargerToolbar = { read = FLargerToolbar, write = SetLargerToolbar };
-  __property bool LargerToolbarPossible = { read = GetLargerToolbarPossible };
 
 private:
   int FLargerToolbar;
@@ -30,7 +31,6 @@ private:
   void UpdatePixelsPerInch();
   void SetPixelsPerInch(int PixelsPerInch);
   void SetLargerToolbar(int LargerToolbar);
-  bool GetLargerToolbarPossible();
 };
 //---------------------------------------------------------------------------
 extern PACKAGE TGlyphsModule * GlyphsModule;

+ 11 - 3
source/forms/NonVisual.cpp

@@ -353,8 +353,13 @@ void __fastcall TNonVisualDataModule::ExplorerActionsUpdate(
     LockToolbarsAction->Checked = WinConfiguration->LockToolbars, )
   UPDEX(SelectiveToolbarTextAction, true,
     SelectiveToolbarTextAction->Checked = WinConfiguration->SelectiveToolbarText, )
-  UPDEX(LargerToolbarAction, GlyphsModule->LargerToolbarPossible,
-    LargerToolbarAction->Checked = WinConfiguration->LargerToolbar, )
+  UPD(ToolbarIconSizeAction, true)
+  UPDEX1(ToolbarIconSizeNormalAction, true,
+    ToolbarIconSizeNormalAction->Checked = (WinConfiguration->LargerToolbar <= 0))
+  UPDEX1(ToolbarIconSizeLargeAction, GlyphsModule->IsLargerToolbarPossible(1),
+    ToolbarIconSizeLargeAction->Checked = (WinConfiguration->LargerToolbar == 1))
+  UPDEX1(ToolbarIconSizeVeryLargeAction, GlyphsModule->IsLargerToolbarPossible(2),
+    ToolbarIconSizeVeryLargeAction->Checked = (WinConfiguration->LargerToolbar >= 2))
   UPDCOMP(CustomCommandsBand)
   UPD(ColorMenuAction2, HasTerminal)
   UPD(GoToAddressAction, true)
@@ -706,7 +711,10 @@ void __fastcall TNonVisualDataModule::ExplorerActionsExecute(
     EXE(FileColorsPreferencesAction, PreferencesDialog(pmFileColors) )
     EXE(LockToolbarsAction, WinConfiguration->LockToolbars = !WinConfiguration->LockToolbars)
     EXE(SelectiveToolbarTextAction, WinConfiguration->SelectiveToolbarText = !WinConfiguration->SelectiveToolbarText)
-    EXE(LargerToolbarAction, WinConfiguration->LargerToolbar = (WinConfiguration->LargerToolbar > 0) ? 0 : 2)
+    EXE(ToolbarIconSizeAction, )
+    EXE(ToolbarIconSizeNormalAction, WinConfiguration->LargerToolbar = 0)
+    EXE(ToolbarIconSizeLargeAction, WinConfiguration->LargerToolbar = 1)
+    EXE(ToolbarIconSizeVeryLargeAction, WinConfiguration->LargerToolbar = 2)
     EXECOMP(CustomCommandsBand)
     EXE(ColorMenuAction2, CreateSessionColorMenu(ColorMenuAction2))
     EXE(GoToAddressAction, ScpExplorer->GoToAddress())

+ 80 - 11
source/forms/NonVisual.dfm

@@ -1798,12 +1798,33 @@ object NonVisualDataModule: TNonVisualDataModule
       HelpKeyword = 'ui_toolbars'
       Hint = 'Show text labels for selected important commands on toolbars'
     end
-    object LargerToolbarAction: TAction
+    object ToolbarIconSizeAction: TAction
       Tag = 15
       Category = 'View'
-      Caption = '&Larger Toolbar Icons'
+      Caption = 'T&oolbar Icons Size'
       HelpKeyword = 'ui_toolbars'
-      Hint = 'Show larger toolbar icons'
+      Hint = 'Change toolbar icons size'
+    end
+    object ToolbarIconSizeNormalAction: TAction
+      Tag = 15
+      Category = 'View'
+      Caption = '&Normal'
+      HelpKeyword = 'ui_toolbars'
+      Hint = 'Show normal toolbar icons'
+    end
+    object ToolbarIconSizeLargeAction: TAction
+      Tag = 15
+      Category = 'View'
+      Caption = '&Large'
+      HelpKeyword = 'ui_toolbars'
+      Hint = 'Show large toolbar icons'
+    end
+    object ToolbarIconSizeVeryLargeAction: TAction
+      Tag = 15
+      Category = 'View'
+      Caption = '&Very Large'
+      HelpKeyword = 'ui_toolbars'
+      Hint = 'Show very large toolbar icons'
     end
     object CustomCommandsBandAction: TAction
       Tag = 15
@@ -2535,8 +2556,20 @@ object NonVisualDataModule: TNonVisualDataModule
     object TBXItem48: TTBXItem
       Action = SelectiveToolbarTextAction
     end
-    object TBXItem120: TTBXItem
-      Action = LargerToolbarAction
+    object TBXSubmenuItem15: TTBXSubmenuItem
+      Action = ToolbarIconSizeAction
+      object TBXItem127: TTBXItem
+        Action = ToolbarIconSizeNormalAction
+        RadioItem = True
+      end
+      object TBXItem120: TTBXItem
+        Action = ToolbarIconSizeLargeAction
+        RadioItem = True
+      end
+      object TBXItem128: TTBXItem
+        Action = ToolbarIconSizeVeryLargeAction
+        RadioItem = True
+      end
     end
     object TBXSubmenuItem4: TTBXSubmenuItem
       Action = CustomizeToolbarAction
@@ -2626,8 +2659,20 @@ object NonVisualDataModule: TNonVisualDataModule
     object TBXItem46: TTBXItem
       Action = SelectiveToolbarTextAction
     end
-    object TBXItem117: TTBXItem
-      Action = LargerToolbarAction
+    object TBXSubmenuItem14: TTBXSubmenuItem
+      Action = ToolbarIconSizeAction
+      object TBXItem123: TTBXItem
+        Action = ToolbarIconSizeNormalAction
+        RadioItem = True
+      end
+      object TBXItem117: TTBXItem
+        Action = ToolbarIconSizeLargeAction
+        RadioItem = True
+      end
+      object TBXItem126: TTBXItem
+        Action = ToolbarIconSizeVeryLargeAction
+        RadioItem = True
+      end
     end
     object TBXItem77: TTBXSubmenuItem
       Action = CustomizeToolbarAction
@@ -2801,8 +2846,20 @@ object NonVisualDataModule: TNonVisualDataModule
     object TBXItem49: TTBXItem
       Action = SelectiveToolbarTextAction
     end
-    object TBXItem119: TTBXItem
-      Action = LargerToolbarAction
+    object TBXSubmenuItem13: TTBXSubmenuItem
+      Action = ToolbarIconSizeAction
+      object TBXItem121: TTBXItem
+        Action = ToolbarIconSizeNormalAction
+        RadioItem = True
+      end
+      object TBXItem119: TTBXItem
+        Action = ToolbarIconSizeLargeAction
+        RadioItem = True
+      end
+      object TBXItem122: TTBXItem
+        Action = ToolbarIconSizeVeryLargeAction
+        RadioItem = True
+      end
     end
     object TBXSubmenuItem9: TTBXSubmenuItem
       Action = CustomizeToolbarAction
@@ -2890,8 +2947,20 @@ object NonVisualDataModule: TNonVisualDataModule
     object TBXItem47: TTBXItem
       Action = SelectiveToolbarTextAction
     end
-    object TBXItem118: TTBXItem
-      Action = LargerToolbarAction
+    object TBXSubmenuItem16: TTBXSubmenuItem
+      Action = ToolbarIconSizeAction
+      object TBXItem129: TTBXItem
+        Action = ToolbarIconSizeNormalAction
+        RadioItem = True
+      end
+      object TBXItem118: TTBXItem
+        Action = ToolbarIconSizeLargeAction
+        RadioItem = True
+      end
+      object TBXItem130: TTBXItem
+        Action = ToolbarIconSizeVeryLargeAction
+        RadioItem = True
+      end
     end
     object TBXSubmenuItem6: TTBXSubmenuItem
       Action = CustomizeToolbarAction

+ 16 - 1
source/forms/NonVisual.h

@@ -715,7 +715,7 @@ __published:    // IDE-managed Components
   TAction *LocalReportAction;
   TAction *LocalThumbnailAction;
   TTBXSeparatorItem *TBXSeparatorItem24;
-  TAction *LargerToolbarAction;
+  TAction *ToolbarIconSizeLargeAction;
   TTBXItem *TBXItem117;
   TTBXSeparatorItem *TBXSeparatorItem25;
   TTBXSeparatorItem *TBXSeparatorItem26;
@@ -723,6 +723,21 @@ __published:    // IDE-managed Components
   TTBXItem *TBXItem119;
   TTBXItem *TBXItem120;
   TTBXSeparatorItem *TBXSeparatorItem27;
+  TAction *ToolbarIconSizeAction;
+  TTBXSubmenuItem *TBXSubmenuItem13;
+  TTBXSubmenuItem *TBXSubmenuItem14;
+  TTBXSubmenuItem *TBXSubmenuItem15;
+  TTBXSubmenuItem *TBXSubmenuItem16;
+  TAction *ToolbarIconSizeNormalAction;
+  TAction *ToolbarIconSizeVeryLargeAction;
+  TTBXItem *TBXItem121;
+  TTBXItem *TBXItem122;
+  TTBXItem *TBXItem123;
+  TTBXItem *TBXItem126;
+  TTBXItem *TBXItem127;
+  TTBXItem *TBXItem128;
+  TTBXItem *TBXItem129;
+  TTBXItem *TBXItem130;
   void __fastcall ExplorerActionsUpdate(TBasicAction *Action, bool &Handled);
   void __fastcall ExplorerActionsExecute(TBasicAction *Action, bool &Handled);
   void __fastcall SessionIdleTimerTimer(TObject *Sender);

+ 14 - 2
source/forms/ScpCommander.dfm

@@ -550,8 +550,20 @@ inherited ScpCommanderForm: TScpCommanderForm
           object TBXItem133: TTBXItem
             Action = NonVisualDataModule.SelectiveToolbarTextAction
           end
-          object TBXItem272: TTBXItem
-            Action = NonVisualDataModule.LargerToolbarAction
+          object TBXItem272: TTBXSubmenuItem
+            Action = NonVisualDataModule.ToolbarIconSizeAction
+            object TBXItem273: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeNormalAction
+              RadioItem = True
+            end
+            object TBXItem274: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeLargeAction
+              RadioItem = True
+            end
+            object TBXItem275: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeVeryLargeAction
+              RadioItem = True
+            end
           end
         end
         object TBXSubmenuItem11: TTBXSubmenuItem

+ 4 - 1
source/forms/ScpCommander.h

@@ -476,7 +476,10 @@ __published:
   TTBXItem *TBXItem270;
   TTBXSeparatorItem *TBXSeparatorItem76;
   TTBXItem *TBXItem271;
-  TTBXItem *TBXItem272;
+  TTBXSubmenuItem *TBXItem272;
+  TTBXItem *TBXItem273;
+  TTBXItem *TBXItem274;
+  TTBXItem *TBXItem275;
   void __fastcall SplitterMoved(TObject *Sender);
   void __fastcall SplitterCanResize(TObject *Sender, int &NewSize,
     bool &Accept);

+ 14 - 2
source/forms/ScpExplorer.dfm

@@ -393,8 +393,20 @@ inherited ScpExplorerForm: TScpExplorerForm
           object TBXItem140: TTBXItem
             Action = NonVisualDataModule.SelectiveToolbarTextAction
           end
-          object TBXItem169: TTBXItem
-            Action = NonVisualDataModule.LargerToolbarAction
+          object TBXItem169: TTBXSubmenuItem
+            Action = NonVisualDataModule.ToolbarIconSizeAction
+            object TBXItem273: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeNormalAction
+              RadioItem = True
+            end
+            object TBXItem274: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeLargeAction
+              RadioItem = True
+            end
+            object TBXItem275: TTBXItem
+              Action = NonVisualDataModule.ToolbarIconSizeVeryLargeAction
+              RadioItem = True
+            end
           end
         end
         object SessionsTabs3: TTBXItem

+ 4 - 1
source/forms/ScpExplorer.h

@@ -336,7 +336,10 @@ __published:
   TTBXSeparatorItem *TBXSeparatorItem51;
   TTBXItem *TBXItem115;
   TTBXItem *TBXItem266;
-  TTBXItem *TBXItem169;
+  TTBXSubmenuItem *TBXItem169;
+  TTBXItem *TBXItem273;
+  TTBXItem *TBXItem274;
+  TTBXItem *TBXItem275;
   void __fastcall RemoteDirViewUpdateStatusBar(TObject *Sender,
           const TStatusFileInfo &FileInfo);
   void __fastcall UnixPathComboBoxBeginEdit(TTBEditItem *Sender,

+ 1 - 1
source/windows/WinConfiguration.cpp

@@ -587,7 +587,7 @@ void __fastcall TWinConfiguration::Default()
   FCopyParamAutoSelectNotice = true;
   FLockToolbars = false;
   FSelectiveToolbarText = true;
-  FLargerToolbar = 0;
+  FLargerToolbar = 1;
   FAutoOpenInPutty = false;
   FRefreshRemotePanel = false;
   FRefreshRemotePanelInterval = TDateTime(0, 1, 0, 0);