فهرست منبع

Issue 2385 – Incorrect scaling of navigation tree on Login and Preferences dialogs

https://winscp.net/tracker/2385

Scaling of anchored TTreeView in VCL is somehow broken. Placing the tree as client-aligned on anchored panel fixes the problem.

Source commit: 15a649a1bc8e5815ec818b9e058ce6b94daf0fb7
Martin Prikryl 3 ماه پیش
والد
کامیت
c0b24b7703
4فایلهای تغییر یافته به همراه113 افزوده شده و 93 حذف شده
  1. 63 54
      source/forms/Preferences.dfm
  2. 1 0
      source/forms/Preferences.h
  3. 48 39
      source/forms/SiteAdvanced.dfm
  4. 1 0
      source/forms/SiteAdvanced.h

+ 63 - 54
source/forms/Preferences.dfm

@@ -3548,66 +3548,75 @@ object PreferencesDialog: TPreferencesDialog
       DesignSize = (
         140
         485)
-      object NavigationTree: TTreeView
+      object NavigationPanel: TPanel
         Left = 8
         Top = 36
         Width = 130
         Height = 443
         Anchors = [akLeft, akTop, akRight, akBottom]
-        DoubleBuffered = True
-        HideSelection = False
-        HotTrack = True
-        Indent = 19
-        ParentDoubleBuffered = False
-        ReadOnly = True
-        ShowButtons = False
-        ShowRoot = False
+        BevelOuter = bvNone
         TabOrder = 1
-        OnChange = NavigationTreeChange
-        OnChanging = NavigationTreeChanging
-        OnCollapsing = NavigationTreeCollapsing
-        OnEnter = NavigationTreeEnter
-        Items.NodeData = {
-          030B000000360000000000000001000000FFFFFFFFFFFFFFFF00000000000000
-          0005000000010C45006E007600690072006F006E006D0065006E007400580032
-          0000000000000003000000FFFFFFFFFFFFFFFF00000000000000000000000001
-          0A49006E00740065007200660061006300650058002C00000000000000110000
-          00FFFFFFFFFFFFFFFF0000000000000000000000000107570069006E0064006F
-          0077005800320000000000000005000000FFFFFFFFFFFFFFFF00000000000000
-          0000000000010A43006F006D006D0061006E0064006500720058003000000000
-          00000006000000FFFFFFFFFFFFFFFF0000000000000000000000000109450078
-          0070006C006F007200650072005800320000000000000017000000FFFFFFFFFF
-          FFFFFF000000000000000000000000010A4C0061006E00670075006100670065
-          00730058002C0000000000000004000000FFFFFFFFFFFFFFFF00000000000000
-          00030000000107500061006E0065006C00730058003600000000000000190000
-          00FFFFFFFFFFFFFFFF000000000000000000000000010C460069006C00650020
-          0063006F006C006F007200730058002C0000000000000015000000FFFFFFFFFF
-          FFFFFF0000000000000000000000000107520065006D006F007400650058002A
-          0000000000000016000000FFFFFFFFFFFFFFFF00000000000000000000000001
-          064C006F00630061006C0058002C0000000000000008000000FFFFFFFFFFFFFF
-          FF000000000000000001000000010745006400690074006F00720058003E0000
-          000000000018000000FFFFFFFFFFFFFFFF000000000000000000000000011049
-          006E007400650072006E0061006C00200065006400690074006F007200580030
-          0000000000000010000000FFFFFFFFFFFFFFFF00000000000000000300000001
-          095400720061006E007300660065007200580030000000000000000B000000FF
-          FFFFFFFFFFFFFF00000000000000000000000001094400720061006700440072
-          006F007000580034000000000000000C000000FFFFFFFFFFFFFFFF0000000000
-          00000000000000010B4200610063006B00670072006F0075006E00640058002C
-          000000000000000E000000FFFFFFFFFFFFFFFF00000000000000000000000001
-          0752006500730075006D00650058002E0000000000000014000000FFFFFFFFFF
-          FFFFFF00000000000000000000000001084E006500740077006F0072006B0058
-          00300000000000000013000000FFFFFFFFFFFFFFFF0000000000000000000000
-          0001095300650063007500720069007400790058002E00000000000000020000
-          00FFFFFFFFFFFFFFFF00000000000000000000000001084C006F006700670069
-          006E0067005800360000000000000009000000FFFFFFFFFFFFFFFF0000000000
-          00000001000000010C49006E0074006500670072006100740069006F006E0058
-          00380000000000000012000000FFFFFFFFFFFFFFFF0000000000000000000000
-          00010D4100700070006C00690063006100740069006F006E0073005800300000
-          00000000000A000000FFFFFFFFFFFFFFFF000000000000000000000000010943
-          006F006D006D0061006E006400730058002E000000000000000D000000FFFFFF
-          FFFFFFFFFF0000000000000000000000000108530074006F0072006100670065
-          0058002E000000000000000F000000FFFFFFFFFFFFFFFF000000000000000000
-          000000010855007000640061007400650073005800}
+        object NavigationTree: TTreeView
+          Left = 0
+          Top = 0
+          Width = 130
+          Height = 443
+          Align = alClient
+          DoubleBuffered = True
+          HideSelection = False
+          HotTrack = True
+          Indent = 19
+          ParentDoubleBuffered = False
+          ReadOnly = True
+          ShowButtons = False
+          ShowRoot = False
+          TabOrder = 0
+          OnChange = NavigationTreeChange
+          OnChanging = NavigationTreeChanging
+          OnCollapsing = NavigationTreeCollapsing
+          OnEnter = NavigationTreeEnter
+          Items.NodeData = {
+            030B000000360000000000000001000000FFFFFFFFFFFFFFFF00000000000000
+            0005000000010C45006E007600690072006F006E006D0065006E007400580032
+            0000000000000003000000FFFFFFFFFFFFFFFF00000000000000000000000001
+            0A49006E00740065007200660061006300650058002C00000000000000110000
+            00FFFFFFFFFFFFFFFF0000000000000000000000000107570069006E0064006F
+            0077005800320000000000000005000000FFFFFFFFFFFFFFFF00000000000000
+            0000000000010A43006F006D006D0061006E0064006500720058003000000000
+            00000006000000FFFFFFFFFFFFFFFF0000000000000000000000000109450078
+            0070006C006F007200650072005800320000000000000017000000FFFFFFFFFF
+            FFFFFF000000000000000000000000010A4C0061006E00670075006100670065
+            00730058002C0000000000000004000000FFFFFFFFFFFFFFFF00000000000000
+            00030000000107500061006E0065006C00730058003600000000000000190000
+            00FFFFFFFFFFFFFFFF000000000000000000000000010C460069006C00650020
+            0063006F006C006F007200730058002C0000000000000015000000FFFFFFFFFF
+            FFFFFF0000000000000000000000000107520065006D006F007400650058002A
+            0000000000000016000000FFFFFFFFFFFFFFFF00000000000000000000000001
+            064C006F00630061006C0058002C0000000000000008000000FFFFFFFFFFFFFF
+            FF000000000000000001000000010745006400690074006F00720058003E0000
+            000000000018000000FFFFFFFFFFFFFFFF000000000000000000000000011049
+            006E007400650072006E0061006C00200065006400690074006F007200580030
+            0000000000000010000000FFFFFFFFFFFFFFFF00000000000000000300000001
+            095400720061006E007300660065007200580030000000000000000B000000FF
+            FFFFFFFFFFFFFF00000000000000000000000001094400720061006700440072
+            006F007000580034000000000000000C000000FFFFFFFFFFFFFFFF0000000000
+            00000000000000010B4200610063006B00670072006F0075006E00640058002C
+            000000000000000E000000FFFFFFFFFFFFFFFF00000000000000000000000001
+            0752006500730075006D00650058002E0000000000000014000000FFFFFFFFFF
+            FFFFFF00000000000000000000000001084E006500740077006F0072006B0058
+            00300000000000000013000000FFFFFFFFFFFFFFFF0000000000000000000000
+            0001095300650063007500720069007400790058002E00000000000000020000
+            00FFFFFFFFFFFFFFFF00000000000000000000000001084C006F006700670069
+            006E0067005800360000000000000009000000FFFFFFFFFFFFFFFF0000000000
+            00000001000000010C49006E0074006500670072006100740069006F006E0058
+            00380000000000000012000000FFFFFFFFFFFFFFFF0000000000000000000000
+            00010D4100700070006C00690063006100740069006F006E0073005800300000
+            00000000000A000000FFFFFFFFFFFFFFFF000000000000000000000000010943
+            006F006D006D0061006E006400730058002E000000000000000D000000FFFFFF
+            FFFFFFFFFF0000000000000000000000000108530074006F0072006100670065
+            0058002E000000000000000F000000FFFFFFFFFFFFFFFF000000000000000000
+            000000010855007000640061007400650073005800}
+        end
       end
       object SearchEdit: TComboEdit
         Left = 8

+ 1 - 0
source/forms/Preferences.h

@@ -360,6 +360,7 @@ __published:
   TTabSheet *SearchSheet;
   TGroupBox *SearchGroup;
   TCheckBox *SessionReopenAutoInactiveCheck;
+  TPanel *NavigationPanel;
   void __fastcall FormShow(TObject *Sender);
   void __fastcall ControlChange(TObject *Sender);
   void __fastcall EditorFontButtonClick(TObject *Sender);

+ 48 - 39
source/forms/SiteAdvanced.dfm

@@ -2677,51 +2677,60 @@ object SiteAdvancedDialog: TSiteAdvancedDialog
       DesignSize = (
         161
         398)
-      object NavigationTree: TTreeView
+      object NavigationPanel: TPanel
         Left = 8
         Top = 8
         Width = 151
         Height = 382
         Anchors = [akLeft, akTop, akRight, akBottom]
-        DoubleBuffered = True
-        HideSelection = False
-        HotTrack = True
-        Indent = 19
-        ParentDoubleBuffered = False
-        ReadOnly = True
-        ShowButtons = False
-        ShowRoot = False
+        BevelOuter = bvNone
         TabOrder = 0
-        OnChange = NavigationTreeChange
-        OnCollapsing = NavigationTreeCollapsing
-        Items.NodeData = {
-          030400000036000000000000000000000000000000FFFFFFFF00000000000000
-          0008000000010C45006E007600690072006F006E006D0065006E007400580036
-          000000000000000000000000000000FFFFFFFF00000000000000000000000001
-          0C4400690072006500630074006F007200690065007300580036000000000000
-          000000000000000000FFFFFFFF000000000000000000000000010C5200650063
-          00790063006C0065002000620069006E005800340000000000000000000000FF
-          FFFFFFFFFFFFFF000000000000000000000000010B45006E0063007200790070
-          00740069006F006E00580028000000000000000000000000000000FFFFFFFF00
-          0000000000000000000000010553004600540050005800260000000000000000
-          00000000000000FFFFFFFF000000000000000000000000010453004300500058
-          00260000000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000
-          000104460054005000580024000000000000000000000000000000FFFFFFFF00
-          000000000000000000000001035300330058002C0000000000000000000000FF
-          FFFFFFFFFFFFFF00000000000000000000000001075700650062004400410056
-          00580034000000000000000000000000000000FFFFFFFF000000000000000002
-          000000010B43006F006E006E0065006300740069006F006E0058002A00000000
-          0000000000000000000000FFFFFFFF0000000000000000000000000106500072
-          006F007800790058002C000000000000000000000000000000FFFFFFFF000000
-          0000000000000000000107540075006E006E0065006C00580026000000000000
-          000000000000000000FFFFFFFF00000000000000000300000001045300530048
-          00580038000000000000000000000000000000FFFFFFFF000000000000000000
-          000000010D4B00650078002000650078006300680061006E006700650058003C
-          000000000000000000000000000000FFFFFFFF00000000000000000000000001
-          0F410075007400680065006E007400690063006100740069006F006E00580028
-          000000000000000000000000000000FFFFFFFF00000000000000000000000001
-          054200750067007300580028000000000000000000000000000000FFFFFFFF00
-          000000000000000000000001054E006F00740065005800}
+        object NavigationTree: TTreeView
+          Left = 0
+          Top = 0
+          Width = 151
+          Height = 382
+          Align = alClient
+          DoubleBuffered = True
+          HideSelection = False
+          HotTrack = True
+          Indent = 19
+          ParentDoubleBuffered = False
+          ReadOnly = True
+          ShowButtons = False
+          ShowRoot = False
+          TabOrder = 0
+          OnChange = NavigationTreeChange
+          OnCollapsing = NavigationTreeCollapsing
+          Items.NodeData = {
+            030400000036000000000000000000000000000000FFFFFFFF00000000000000
+            0008000000010C45006E007600690072006F006E006D0065006E007400580036
+            000000000000000000000000000000FFFFFFFF00000000000000000000000001
+            0C4400690072006500630074006F007200690065007300580036000000000000
+            000000000000000000FFFFFFFF000000000000000000000000010C5200650063
+            00790063006C0065002000620069006E005800340000000000000000000000FF
+            FFFFFFFFFFFFFF000000000000000000000000010B45006E0063007200790070
+            00740069006F006E00580028000000000000000000000000000000FFFFFFFF00
+            0000000000000000000000010553004600540050005800260000000000000000
+            00000000000000FFFFFFFF000000000000000000000000010453004300500058
+            00260000000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000
+            000104460054005000580024000000000000000000000000000000FFFFFFFF00
+            000000000000000000000001035300330058002C0000000000000000000000FF
+            FFFFFFFFFFFFFF00000000000000000000000001075700650062004400410056
+            00580034000000000000000000000000000000FFFFFFFF000000000000000002
+            000000010B43006F006E006E0065006300740069006F006E0058002A00000000
+            0000000000000000000000FFFFFFFF0000000000000000000000000106500072
+            006F007800790058002C000000000000000000000000000000FFFFFFFF000000
+            0000000000000000000107540075006E006E0065006C00580026000000000000
+            000000000000000000FFFFFFFF00000000000000000300000001045300530048
+            00580038000000000000000000000000000000FFFFFFFF000000000000000000
+            000000010D4B00650078002000650078006300680061006E006700650058003C
+            000000000000000000000000000000FFFFFFFF00000000000000000000000001
+            0F410075007400680065006E007400690063006100740069006F006E00580028
+            000000000000000000000000000000FFFFFFFF00000000000000000000000001
+            054200750067007300580028000000000000000000000000000000FFFFFFFF00
+            000000000000000000000001054E006F00740065005800}
+        end
       end
     end
   end

+ 1 - 0
source/forms/SiteAdvanced.h

@@ -287,6 +287,7 @@ __published:
   TCheckBox *UsePosixRenameCheck;
   TLabel *S3RoleArnLabel;
   TEdit *S3RoleArnEdit;
+  TPanel *NavigationPanel;
   void __fastcall DataChange(TObject *Sender);
   void __fastcall FormShow(TObject *Sender);
   void __fastcall PageControlChange(TObject *Sender);