浏览代码

Switching to Segoe UI font with slightly larger size (9) as recommended for Windows Vista and newer + All windows are now slightly larger accordingly and their layout was unified

Reverts e55f27da
Fixing some anchors and tab order on the way
Dialogs (and controls with specific width or height) are now about 10% wider

Note that main form already used the Segoe UI:9 by explicitly using UseDesktopFont for most/all of its controls

Layout rules
- follow IDE design guidelines in general
- controls start at 8x8, but at 9x9 in group boxes and 22v if group has title
- right and bottom padding in groupbox is the same as left padding
-for checkboxes the bottom padding of the checkmark is the same as left padding = 10
- buttons are 80x25 by default, with +14v with dropdown
- checkboxes/radiobuttons are +2h
- labels are 15 high, textboxes/comboxes 23
- indentation is controls under checkboxes is +16h

Source commit: 09a558e92af838e142d3624cb433cc052782881c
Martin Prikryl 9 月之前
父节点
当前提交
9485cb3f7d
共有 49 个文件被更改,包括 2496 次插入2618 次删除
  1. 0 4
      source/WinSCP.cpp
  2. 34 38
      source/forms/About.dfm
  3. 59 63
      source/forms/Authenticate.dfm
  4. 20 24
      source/forms/Cleanup.dfm
  5. 23 27
      source/forms/Console.dfm
  6. 53 51
      source/forms/Copy.dfm
  7. 30 30
      source/forms/CopyLocal.dfm
  8. 19 23
      source/forms/CopyParamCustom.dfm
  9. 73 77
      source/forms/CopyParamPreset.dfm
  10. 122 127
      source/forms/CopyParams.dfm
  11. 29 33
      source/forms/CreateDirectory.dfm
  12. 20 17
      source/forms/Custom.cpp
  13. 12 16
      source/forms/Custom.dfm
  14. 68 74
      source/forms/CustomCommand.dfm
  15. 1 1
      source/forms/CustomScpExplorer.cpp
  16. 24 28
      source/forms/CustomScpExplorer.dfm
  17. 82 85
      source/forms/EditMask.dfm
  18. 2 6
      source/forms/Editor.dfm
  19. 62 60
      source/forms/EditorPreferences.dfm
  20. 39 43
      source/forms/FileFind.dfm
  21. 105 109
      source/forms/FileSystemInfo.dfm
  22. 89 93
      source/forms/FullSynchronize.dfm
  23. 2 2
      source/forms/GenerateUrl.cpp
  24. 71 67
      source/forms/GenerateUrl.dfm
  25. 33 37
      source/forms/ImportSessions.dfm
  26. 12 16
      source/forms/License.dfm
  27. 84 88
      source/forms/LocationProfiles.dfm
  28. 160 165
      source/forms/Login.dfm
  29. 4 7
      source/forms/MessageDlg.cpp
  30. 2 6
      source/forms/MessageDlg.dfm
  31. 72 76
      source/forms/OpenDirectory.dfm
  32. 2 2
      source/forms/Preferences.cpp
  33. 249 249
      source/forms/Preferences.dfm
  34. 0 1
      source/forms/Preferences.h
  35. 58 62
      source/forms/Progress.dfm
  36. 121 125
      source/forms/Properties.dfm
  37. 41 45
      source/forms/RemoteTransfer.dfm
  38. 51 57
      source/forms/Rights.dfm
  39. 15 15
      source/forms/ScpCommander.dfm
  40. 3 3
      source/forms/ScpExplorer.dfm
  41. 52 56
      source/forms/SelectMask.dfm
  42. 296 292
      source/forms/SiteAdvanced.dfm
  43. 39 43
      source/forms/Symlink.dfm
  44. 85 89
      source/forms/Synchronize.dfm
  45. 38 42
      source/forms/SynchronizeChecklist.dfm
  46. 34 38
      source/forms/SynchronizeProgress.dfm
  47. 1 1
      source/packages/my/PasTools.pas
  48. 4 4
      source/windows/VCLCommon.cpp
  49. 1 1
      source/windows/WinInterface.h

+ 0 - 4
source/WinSCP.cpp

@@ -55,10 +55,6 @@ WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
     Application->MainFormOnTaskBar = true;
     Application->ModalPopupMode = pmAuto;
     DebugAssert(SameFont(Application->DefaultFont, std::unique_ptr<TFont>(new TFont()).get()));
-    Application->DefaultFont->Name = L"Tahoma";
-    // The default DefaultFont is calculated as -MulDiv(8, ScreenLogPixels, 72)
-    // But form's font is scaled using DPI, what can resumt in slightly different Height
-    Application->DefaultFont->Height = -MulDiv(11, Screen->PixelsPerInch, Screen->DefaultPixelsPerInch);
     SetEnvironmentVariable(L"WINSCP_PATH",
       ExcludeTrailingBackslash(ExtractFilePath(Application->ExeName)).c_str());
     CoreInitialize();

+ 34 - 38
source/forms/About.dfm

@@ -6,26 +6,22 @@ object AboutDialog: TAboutDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'About application'
-  ClientHeight = 526
-  ClientWidth = 444
+  ClientHeight = 532
+  ClientWidth = 455
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -12
-  Font.Name = 'Segoe UI'
-  Font.Style = []
+  ParentFont = True
   KeyPreview = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnKeyDown = FormKeyDown
   DesignSize = (
-    444
-    526)
+    455
+    532)
   TextHeight = 15
   object OKButton: TButton
-    Left = 277
-    Top = 493
-    Width = 75
+    Left = 281
+    Top = 499
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -37,8 +33,8 @@ object AboutDialog: TAboutDialog
   end
   object LicenseButton: TButton
     Left = 62
-    Top = 493
-    Width = 75
+    Top = 499
+    Width = 80
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = '&License...'
@@ -46,9 +42,9 @@ object AboutDialog: TAboutDialog
     OnClick = LicenseButtonClick
   end
   object HelpButton: TButton
-    Left = 359
-    Top = 493
-    Width = 75
+    Left = 367
+    Top = 499
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -58,16 +54,16 @@ object AboutDialog: TAboutDialog
   object Panel: TPanel
     Left = 0
     Top = 0
-    Width = 444
-    Height = 485
+    Width = 455
+    Height = 491
     Anchors = [akLeft, akTop, akRight, akBottom]
     BevelOuter = bvNone
     Color = clWindow
     ParentBackground = False
     TabOrder = 3
     DesignSize = (
-      444
-      485)
+      455
+      491)
     object ApplicationLabel: TLabel
       Left = 62
       Top = 12
@@ -78,7 +74,7 @@ object AboutDialog: TAboutDialog
     end
     object VersionLabel: TLabel
       Left = 62
-      Top = 28
+      Top = 30
       Width = 135
       Height = 15
       Caption = 'Version 2.0.0 (Build 12) XX'
@@ -86,7 +82,7 @@ object AboutDialog: TAboutDialog
     end
     object WinSCPCopyrightLabel: TLabel
       Left = 62
-      Top = 56
+      Top = 58
       Width = 197
       Height = 15
       Caption = 'Copyright '#169' 2000-2003 Martin Prikryl'
@@ -94,15 +90,15 @@ object AboutDialog: TAboutDialog
     end
     object ProductSpecificMessageLabel: TLabel
       Left = 62
-      Top = 100
-      Width = 304
+      Top = 104
+      Width = 305
       Height = 15
       Caption = 'To send comments and report bugs use support forum at:'
       ShowAccelChar = False
     end
     object Label3: TLabel
       Left = 62
-      Top = 259
+      Top = 265
       Width = 101
       Height = 15
       Caption = 'Portions copyright:'
@@ -110,8 +106,8 @@ object AboutDialog: TAboutDialog
     end
     object RegistrationLabel: TLabel
       Left = 62
-      Top = 144
-      Width = 140
+      Top = 150
+      Width = 141
       Height = 15
       Caption = 'This product is licensed to:'
       ShowAccelChar = False
@@ -125,7 +121,7 @@ object AboutDialog: TAboutDialog
     end
     object HomepageLabel: TStaticText
       Left = 62
-      Top = 72
+      Top = 76
       Width = 143
       Height = 19
       Caption = 'http://XXXXXXwinscp.net/'
@@ -134,7 +130,7 @@ object AboutDialog: TAboutDialog
     end
     object ForumUrlLabel: TStaticText
       Left = 62
-      Top = 116
+      Top = 122
       Width = 167
       Height = 19
       Caption = 'http://XXXXwinscp.net/forum/'
@@ -142,9 +138,9 @@ object AboutDialog: TAboutDialog
       TabStop = True
     end
     object ThirdPartyPanel: TPanel
-      Left = 62
-      Top = 277
-      Width = 372
+      Left = 64
+      Top = 283
+      Width = 383
       Height = 193
       Anchors = [akLeft, akTop, akRight]
       BevelKind = bkTile
@@ -154,8 +150,8 @@ object AboutDialog: TAboutDialog
     end
     object RegistrationBox: TPanel
       Left = 62
-      Top = 162
-      Width = 372
+      Top = 168
+      Width = 385
       Height = 89
       Anchors = [akLeft, akTop, akRight]
       BevelKind = bkTile
@@ -164,12 +160,12 @@ object AboutDialog: TAboutDialog
       ParentColor = True
       TabOrder = 3
       DesignSize = (
-        368
+        381
         85)
       object RegistrationSubjectLabel: TLabel
         Left = 8
         Top = 8
-        Width = 275
+        Width = 288
         Height = 65
         Anchors = [akLeft, akTop, akRight]
         AutoSize = False
@@ -188,7 +184,7 @@ object AboutDialog: TAboutDialog
       object RegistrationProductIdLabel: TStaticText
         Left = 8
         Top = 65
-        Width = 154
+        Width = 141
         Height = 19
         Caption = 'Product ID: xxxx-xxxx-xxxxx'
         ShowAccelChar = False

+ 59 - 63
source/forms/Authenticate.dfm

@@ -7,33 +7,29 @@ object AuthenticateForm: TAuthenticateForm
   BorderStyle = bsDialog
   Caption = 'AuthenticateForm'
   ClientHeight = 380
-  ClientWidth = 375
+  ClientWidth = 416
   Color = clBtnFace
   Constraints.MinHeight = 200
   Constraints.MinWidth = 280
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnResize = FormResize
   OnShow = FormShow
-  TextHeight = 13
+  TextHeight = 15
   object TopPanel: TPanel
     Left = 0
     Top = 0
-    Width = 375
-    Height = 65
+    Width = 416
+    Height = 63
     Align = alClient
     BevelOuter = bvNone
     TabOrder = 0
     object LogView: TListBox
       Left = 48
       Top = 0
-      Width = 327
-      Height = 65
+      Width = 368
+      Height = 63
       Style = lbOwnerDrawVariable
       Align = alClient
       BevelInner = bvNone
@@ -52,7 +48,7 @@ object AuthenticateForm: TAuthenticateForm
       Left = 0
       Top = 0
       Width = 48
-      Height = 65
+      Height = 63
       Align = alLeft
       BevelOuter = bvNone
       Color = clWindow
@@ -68,9 +64,9 @@ object AuthenticateForm: TAuthenticateForm
   end
   object PasswordPanel: TPanel
     Left = 0
-    Top = 65
-    Width = 375
-    Height = 233
+    Top = 63
+    Width = 416
+    Height = 235
     Align = alBottom
     AutoSize = True
     BevelOuter = bvNone
@@ -79,18 +75,18 @@ object AuthenticateForm: TAuthenticateForm
     object PromptEditPanel: TPanel
       Left = 0
       Top = 0
-      Width = 375
-      Height = 139
+      Width = 416
+      Height = 144
       Align = alTop
       BevelOuter = bvNone
       TabOrder = 0
       DesignSize = (
-        375
-        139)
+        416
+        144)
       object InstructionsLabel: TLabel
         Left = 8
-        Top = 8
-        Width = 360
+        Top = 6
+        Width = 400
         Height = 39
         Anchors = [akLeft, akTop, akRight]
         AutoSize = False
@@ -104,8 +100,8 @@ object AuthenticateForm: TAuthenticateForm
       object PromptLabel1: TLabel
         Left = 8
         Top = 56
-        Width = 360
-        Height = 13
+        Width = 401
+        Height = 15
         Anchors = [akLeft, akTop, akRight]
         AutoSize = False
         Caption = '&UsernameX:'
@@ -114,9 +110,9 @@ object AuthenticateForm: TAuthenticateForm
       end
       object PromptLabel2: TLabel
         Left = 8
-        Top = 101
-        Width = 360
-        Height = 13
+        Top = 103
+        Width = 401
+        Height = 15
         Anchors = [akLeft, akTop, akRight]
         AutoSize = False
         Caption = '&PasswordX:'
@@ -125,18 +121,18 @@ object AuthenticateForm: TAuthenticateForm
       end
       object PromptEdit1: TPasswordEdit
         Left = 8
-        Top = 73
-        Width = 361
-        Height = 21
+        Top = 74
+        Width = 400
+        Height = 23
         Anchors = [akLeft, akTop, akRight]
         MaxLength = 250
         TabOrder = 0
       end
       object PromptEdit2: TPasswordEdit
         Left = 8
-        Top = 118
-        Width = 361
-        Height = 21
+        Top = 121
+        Width = 400
+        Height = 23
         Anchors = [akLeft, akTop, akRight]
         MaxLength = 250
         TabOrder = 1
@@ -144,8 +140,8 @@ object AuthenticateForm: TAuthenticateForm
     end
     object SavePasswordPanel: TPanel
       Left = 0
-      Top = 164
-      Width = 375
+      Top = 169
+      Width = 416
       Height = 25
       Align = alTop
       BevelOuter = bvNone
@@ -154,7 +150,7 @@ object AuthenticateForm: TAuthenticateForm
         Left = 14
         Top = 6
         Width = 275
-        Height = 17
+        Height = 19
         Caption = '&Change stored password to this one'
         Checked = True
         State = cbChecked
@@ -163,19 +159,19 @@ object AuthenticateForm: TAuthenticateForm
     end
     object ButtonsPanel: TPanel
       Left = 0
-      Top = 189
-      Width = 375
-      Height = 44
+      Top = 194
+      Width = 416
+      Height = 41
       Align = alTop
       BevelOuter = bvNone
       TabOrder = 3
       DesignSize = (
-        375
-        44)
+        416
+        41)
       object PasswordOKButton: TButton
-        Left = 118
-        Top = 8
-        Width = 75
+        Left = 154
+        Top = 6
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'OK'
@@ -183,9 +179,9 @@ object AuthenticateForm: TAuthenticateForm
         TabOrder = 0
       end
       object PasswordCancelButton: TButton
-        Left = 206
+        Left = 242
         Top = 8
-        Width = 75
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Cancel'
@@ -193,9 +189,9 @@ object AuthenticateForm: TAuthenticateForm
         TabOrder = 1
       end
       object PasswordHelpButton: TButton
-        Left = 294
+        Left = 328
         Top = 8
-        Width = 75
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Help'
@@ -205,8 +201,8 @@ object AuthenticateForm: TAuthenticateForm
     end
     object SessionRememberPasswordPanel: TPanel
       Left = 0
-      Top = 139
-      Width = 375
+      Top = 144
+      Width = 416
       Height = 25
       Align = alTop
       BevelOuter = bvNone
@@ -215,7 +211,7 @@ object AuthenticateForm: TAuthenticateForm
         Left = 14
         Top = 6
         Width = 275
-        Height = 17
+        Height = 19
         Caption = '&Remember password for this session'
         Checked = True
         State = cbChecked
@@ -226,20 +222,20 @@ object AuthenticateForm: TAuthenticateForm
   object BannerPanel: TPanel
     Left = 0
     Top = 298
-    Width = 375
+    Width = 416
     Height = 82
     Align = alBottom
     BevelOuter = bvNone
     TabOrder = 2
     Visible = False
     DesignSize = (
-      375
+      416
       82)
     object BannerMemo: TMemo
       Left = 8
       Top = 8
-      Width = 360
-      Height = 34
+      Width = 400
+      Height = 35
       Anchors = [akLeft, akTop, akRight, akBottom]
       Color = clBtnFace
       PopupMenu = BannerPopupMenu
@@ -250,18 +246,18 @@ object AuthenticateForm: TAuthenticateForm
       OnContextPopup = BannerMemoContextPopup
     end
     object NeverShowAgainCheck: TCheckBox
-      Left = 15
-      Top = 53
-      Width = 188
+      Left = 14
+      Top = 55
+      Width = 229
       Height = 17
       Anchors = [akLeft, akRight, akBottom]
       Caption = '&Never show this banner again'
       TabOrder = 1
     end
     object BannerCloseButton: TButton
-      Left = 206
-      Top = 47
-      Width = 75
+      Left = 243
+      Top = 49
+      Width = 80
       Height = 25
       Anchors = [akRight, akBottom]
       Caption = 'Continue'
@@ -269,9 +265,9 @@ object AuthenticateForm: TAuthenticateForm
       TabOrder = 2
     end
     object BannerHelpButton: TButton
-      Left = 292
-      Top = 47
-      Width = 75
+      Left = 328
+      Top = 49
+      Width = 80
       Height = 25
       Anchors = [akRight, akBottom]
       Caption = '&Help'

+ 20 - 24
source/forms/Cleanup.dfm

@@ -6,25 +6,21 @@ object CleanupDialog: TCleanupDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Cleanup application data'
-  ClientHeight = 299
+  ClientHeight = 323
   ClientWidth = 489
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
     489
-    299)
-  TextHeight = 13
+    323)
+  TextHeight = 15
   object Label1: TLabel
     Left = 8
     Top = 8
-    Width = 475
-    Height = 97
+    Width = 473
+    Height = 108
     Anchors = [akLeft, akTop, akRight]
     AutoSize = False
     Caption = 
@@ -37,9 +33,9 @@ object CleanupDialog: TCleanupDialog
     WordWrap = True
   end
   object OKButton: TButton
-    Left = 249
-    Top = 268
-    Width = 75
+    Left = 231
+    Top = 290
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -48,9 +44,9 @@ object CleanupDialog: TCleanupDialog
     TabOrder = 2
   end
   object CancelButton: TButton
-    Left = 329
-    Top = 268
-    Width = 75
+    Left = 317
+    Top = 290
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -60,9 +56,9 @@ object CleanupDialog: TCleanupDialog
   end
   object DataListView: TListView
     Left = 8
-    Top = 104
-    Width = 475
-    Height = 156
+    Top = 117
+    Width = 473
+    Height = 167
     Anchors = [akLeft, akTop, akRight, akBottom]
     Checkboxes = True
     Columns = <
@@ -90,8 +86,8 @@ object CleanupDialog: TCleanupDialog
   end
   object CheckAllButton: TButton
     Left = 8
-    Top = 266
-    Width = 113
+    Top = 290
+    Width = 120
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = 'Un/check &all'
@@ -99,9 +95,9 @@ object CleanupDialog: TCleanupDialog
     OnClick = CheckAllButtonClick
   end
   object HelpButton: TButton
-    Left = 409
-    Top = 268
-    Width = 75
+    Left = 401
+    Top = 290
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 23 - 27
source/forms/Console.dfm

@@ -10,11 +10,7 @@ object ConsoleDialog: TConsoleDialog
   Color = clBtnFace
   Constraints.MinHeight = 250
   Constraints.MinWidth = 420
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Icon.Data = {
     000001000700404000000100200028420000760000003030000001002000A825
     00009E4200002828000001002000681A0000466800002020000001002000A810
@@ -1365,28 +1361,28 @@ object ConsoleDialog: TConsoleDialog
   DesignSize = (
     551
     393)
-  TextHeight = 13
+  TextHeight = 15
   object Bevel1: TBevel
     Left = 0
     Top = 0
     Width = 551
-    Height = 78
+    Height = 80
     Align = alTop
     Shape = bsBottomLine
   end
   object Label1: TLabel
     Left = 51
-    Top = 13
-    Width = 78
-    Height = 13
+    Top = 11
+    Width = 88
+    Height = 15
     Caption = 'Enter &command:'
     FocusControl = CommandEdit
   end
   object Label2: TLabel
     Left = 51
     Top = 56
-    Width = 87
-    Height = 13
+    Width = 93
+    Height = 15
     Caption = 'Current directory:'
     ShowAccelChar = False
   end
@@ -1401,10 +1397,10 @@ object ConsoleDialog: TConsoleDialog
     ShowAccelChar = False
   end
   object DirectoryLabel: TPathLabel
-    Left = 158
+    Left = 163
     Top = 56
-    Width = 299
-    Height = 13
+    Width = 298
+    Height = 15
     UnixPath = True
     IndentHorizontal = 0
     IndentVertical = 0
@@ -1421,9 +1417,9 @@ object ConsoleDialog: TConsoleDialog
   end
   object OutputMemo: TMemo
     Left = 0
-    Top = 78
+    Top = 80
     Width = 551
-    Height = 315
+    Height = 313
     TabStop = False
     Align = alClient
     Color = clBtnFace
@@ -1435,9 +1431,9 @@ object ConsoleDialog: TConsoleDialog
     OnContextPopup = OutputMemoContextPopup
   end
   object CancelBtn: TButton
-    Left = 472
+    Left = 463
     Top = 7
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Cancel = True
@@ -1446,10 +1442,10 @@ object ConsoleDialog: TConsoleDialog
     TabOrder = 2
   end
   object CommandEdit: THistoryComboBox
-    Left = 158
-    Top = 9
-    Width = 213
-    Height = 21
+    Left = 163
+    Top = 8
+    Width = 208
+    Height = 23
     AutoComplete = False
     Anchors = [akLeft, akTop, akRight]
     MaxLength = 2048
@@ -1457,9 +1453,9 @@ object ConsoleDialog: TConsoleDialog
     OnChange = CommandEditChange
   end
   object ExecuteButton: TButton
-    Left = 384
+    Left = 377
     Top = 7
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Execute'
@@ -1468,9 +1464,9 @@ object ConsoleDialog: TConsoleDialog
     OnClick = ExecuteButtonClick
   end
   object HelpButton: TButton
-    Left = 472
+    Left = 463
     Top = 42
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Help'

+ 53 - 51
source/forms/Copy.dfm

@@ -6,22 +6,18 @@ object CopyDialog: TCopyDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'CopyDialog'
-  ClientHeight = 225
-  ClientWidth = 511
+  ClientHeight = 235
+  ClientWidth = 567
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    511
-    225)
-  TextHeight = 13
+    567
+    235)
+  TextHeight = 15
   object Image: TImage
     Left = 8
     Top = 11
@@ -32,15 +28,15 @@ object CopyDialog: TCopyDialog
   object DirectoryLabel: TLabel
     Left = 46
     Top = 8
-    Width = 195
-    Height = 13
+    Width = 212
+    Height = 15
     Caption = 'Copy 2 selected files to remote directory'
   end
   object LocalDirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 372
-    Height = 21
+    Top = 26
+    Width = 427
+    Height = 23
     AutoComplete = False
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
@@ -51,9 +47,9 @@ object CopyDialog: TCopyDialog
   end
   object RemoteDirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 456
-    Height = 21
+    Top = 26
+    Width = 513
+    Height = 23
     AutoComplete = False
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
@@ -63,9 +59,9 @@ object CopyDialog: TCopyDialog
     OnChange = ControlChange
   end
   object OkButton: TButton
-    Left = 260
-    Top = 136
-    Width = 75
+    Left = 307
+    Top = 143
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = 'OK'
@@ -75,9 +71,9 @@ object CopyDialog: TCopyDialog
     OnDropDownClick = OkButtonDropDownClick
   end
   object CancelButton: TButton
-    Left = 343
-    Top = 136
-    Width = 75
+    Left = 393
+    Top = 143
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Cancel = True
@@ -86,17 +82,18 @@ object CopyDialog: TCopyDialog
     TabOrder = 7
   end
   object LocalDirectoryBrowseButton: TButton
-    Left = 427
-    Top = 23
-    Width = 75
+    Left = 479
+    Top = 25
+    Width = 80
     Height = 25
+    Anchors = [akTop, akRight]
     Caption = 'B&rowse...'
     TabOrder = 1
     OnClick = LocalDirectoryBrowseButtonClick
   end
   object QueueCheck2: TCheckBox
-    Left = 12
-    Top = 112
+    Left = 10
+    Top = 120
     Width = 317
     Height = 17
     Caption = 'Transfer on background (add to transfer &queue) X'
@@ -104,9 +101,9 @@ object CopyDialog: TCopyDialog
     OnClick = ControlChange
   end
   object HelpButton: TButton
-    Left = 427
-    Top = 136
-    Width = 75
+    Left = 479
+    Top = 143
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Help'
@@ -114,8 +111,8 @@ object CopyDialog: TCopyDialog
     OnClick = HelpButtonClick
   end
   object NeverShowAgainCheck: TCheckBox
-    Left = 12
-    Top = 167
+    Left = 10
+    Top = 174
     Width = 253
     Height = 17
     Caption = '&Do not show this dialog box again'
@@ -124,8 +121,8 @@ object CopyDialog: TCopyDialog
   end
   object TransferSettingsButton: TButton
     Left = 8
-    Top = 136
-    Width = 161
+    Top = 143
+    Width = 175
     Height = 25
     Caption = 'Transfer settin&gs...'
     Style = bsSplitButton
@@ -135,21 +132,22 @@ object CopyDialog: TCopyDialog
   end
   object CopyParamGroup: TGroupBox
     Left = 8
-    Top = 53
-    Width = 496
-    Height = 50
+    Top = 55
+    Width = 551
+    Height = 59
+    Anchors = [akLeft, akTop, akRight]
     Caption = 'Transfer settings'
     TabOrder = 3
     OnClick = CopyParamGroupClick
     OnContextPopup = CopyParamGroupContextPopup
     DesignSize = (
-      496
-      50)
+      551
+      59)
     object CopyParamLabel: TLabel
-      Left = 7
-      Top = 15
-      Width = 482
-      Height = 26
+      Left = 9
+      Top = 20
+      Width = 533
+      Height = 35
       Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
       Caption = 'CopyParamLabel'
@@ -160,18 +158,22 @@ object CopyDialog: TCopyDialog
   end
   object ShortCutHintPanel: TPanel
     Left = 0
-    Top = 191
-    Width = 511
-    Height = 34
+    Top = 197
+    Width = 567
+    Height = 38
     Align = alBottom
     BevelOuter = bvNone
     ParentBackground = False
     TabOrder = 9
+    DesignSize = (
+      567
+      38)
     object ShortCutHintLabel: TLabel
-      Left = 12
+      Left = 8
       Top = 3
-      Width = 490
-      Height = 28
+      Width = 551
+      Height = 32
+      Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
       Caption = 
         'In Commander interface the keyboard shortcut F5 is used to trans' +

+ 30 - 30
source/forms/CopyLocal.dfm

@@ -6,22 +6,18 @@ object CopyLocalDialog: TCopyLocalDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'CopyLocalDialog'
-  ClientHeight = 121
+  ClientHeight = 126
   ClientWidth = 511
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
     511
-    121)
-  TextHeight = 13
+    126)
+  TextHeight = 15
   object Image: TImage
     Left = 8
     Top = 11
@@ -32,16 +28,16 @@ object CopyLocalDialog: TCopyLocalDialog
   object DirectoryLabel: TLabel
     Left = 46
     Top = 8
-    Width = 61
-    Height = 13
+    Width = 63
+    Height = 15
     Caption = '&Target path:'
     FocusControl = DirectoryEdit
   end
   object DirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 372
-    Height = 21
+    Top = 26
+    Width = 371
+    Height = 23
     AutoComplete = False
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
@@ -50,9 +46,9 @@ object CopyLocalDialog: TCopyLocalDialog
     OnExit = DirectoryEditExit
   end
   object OkButton: TButton
-    Left = 260
+    Left = 251
     Top = 55
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = 'OK'
@@ -61,9 +57,9 @@ object CopyLocalDialog: TCopyLocalDialog
     TabOrder = 3
   end
   object CancelButton: TButton
-    Left = 343
+    Left = 337
     Top = 55
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Cancel = True
@@ -72,18 +68,18 @@ object CopyLocalDialog: TCopyLocalDialog
     TabOrder = 4
   end
   object LocalDirectoryBrowseButton: TButton
-    Left = 427
-    Top = 23
-    Width = 75
+    Left = 423
+    Top = 25
+    Width = 80
     Height = 25
     Caption = 'B&rowse...'
     TabOrder = 1
     OnClick = LocalDirectoryBrowseButtonClick
   end
   object HelpButton: TButton
-    Left = 427
+    Left = 423
     Top = 55
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Help'
@@ -91,27 +87,31 @@ object CopyLocalDialog: TCopyLocalDialog
     OnClick = HelpButtonClick
   end
   object NeverShowAgainCheck: TCheckBox
-    Left = 12
-    Top = 58
-    Width = 242
+    Left = 10
+    Top = 59
+    Width = 237
     Height = 17
     Caption = '&Do not show this dialog box again'
     TabOrder = 2
   end
   object ShortCutHintPanel: TPanel
     Left = 0
-    Top = 87
+    Top = 88
     Width = 511
-    Height = 34
+    Height = 38
     Align = alBottom
     BevelOuter = bvNone
     ParentBackground = False
     TabOrder = 6
+    DesignSize = (
+      511
+      38)
     object ShortCutHintLabel: TLabel
-      Left = 12
+      Left = 8
       Top = 3
-      Width = 490
-      Height = 28
+      Width = 495
+      Height = 32
+      Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
       Caption = 
         'In Commander interface the keyboard shortcut F5 is used to trans' +

+ 19 - 23
source/forms/CopyParamCustom.dfm

@@ -6,24 +6,20 @@ object CopyParamCustomDialog: TCopyParamCustomDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Transfer settings'
-  ClientHeight = 515
-  ClientWidth = 420
+  ClientHeight = 511
+  ClientWidth = 466
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   DesignSize = (
-    420
-    515)
-  TextHeight = 13
+    466
+    511)
+  TextHeight = 15
   object OkButton: TButton
-    Left = 168
-    Top = 482
-    Width = 75
+    Left = 206
+    Top = 478
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -32,9 +28,9 @@ object CopyParamCustomDialog: TCopyParamCustomDialog
     TabOrder = 1
   end
   object CancelButton: TButton
-    Left = 252
-    Top = 482
-    Width = 75
+    Left = 292
+    Top = 478
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -43,17 +39,17 @@ object CopyParamCustomDialog: TCopyParamCustomDialog
     TabOrder = 2
   end
   inline CopyParamsFrame: TCopyParamsFrame
-    Left = 0
-    Top = 0
-    Width = 420
-    Height = 477
+    Left = 5
+    Top = 5
+    Width = 456
+    Height = 471
     HelpType = htKeyword
     TabOrder = 0
   end
   object HelpButton: TButton
-    Left = 336
-    Top = 482
-    Width = 75
+    Left = 378
+    Top = 478
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'Help'

+ 73 - 77
source/forms/CopyParamPreset.dfm

@@ -6,33 +6,29 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'CopyParamPresetDialog'
-  ClientHeight = 560
-  ClientWidth = 675
+  ClientHeight = 556
+  ClientWidth = 744
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    675
-    560)
-  TextHeight = 13
+    744
+    556)
+  TextHeight = 15
   object Label1: TLabel
-    Left = 10
-    Top = 13
-    Width = 90
-    Height = 13
+    Left = 8
+    Top = 8
+    Width = 97
+    Height = 15
     Caption = 'Preset &description:'
     FocusControl = DescriptionEdit
   end
   object OkButton: TButton
-    Left = 423
-    Top = 527
-    Width = 75
+    Left = 484
+    Top = 523
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -41,9 +37,9 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
     TabOrder = 4
   end
   object CancelButton: TButton
-    Left = 507
-    Top = 527
-    Width = 75
+    Left = 570
+    Top = 523
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -52,70 +48,70 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
     TabOrder = 5
   end
   object DescriptionEdit: TEdit
-    Left = 10
-    Top = 29
-    Width = 405
-    Height = 21
+    Left = 8
+    Top = 24
+    Width = 450
+    Height = 23
     MaxLength = 250
     TabOrder = 0
     OnChange = ControlChange
   end
   inline CopyParamsFrame: TCopyParamsFrame
-    Left = 2
-    Top = 51
-    Width = 420
-    Height = 477
+    Left = 5
+    Top = 50
+    Width = 456
+    Height = 471
     HelpType = htKeyword
     TabOrder = 1
   end
   object RuleGroup: TGroupBox
-    Left = 426
-    Top = 91
-    Width = 240
-    Height = 430
+    Left = 472
+    Top = 89
+    Width = 264
+    Height = 428
     Anchors = [akLeft, akTop, akRight, akBottom]
     Caption = 'Autoselection rule'
     TabOrder = 3
     DesignSize = (
-      240
-      430)
+      264
+      428)
     object Label2: TLabel
-      Left = 16
-      Top = 20
-      Width = 79
-      Height = 13
+      Left = 9
+      Top = 22
+      Width = 89
+      Height = 15
       Caption = 'Hostna&me mask:'
       FocusControl = HostNameEdit
     end
     object Label3: TLabel
-      Left = 16
-      Top = 68
-      Width = 79
-      Height = 13
+      Left = 9
+      Top = 69
+      Width = 87
+      Height = 15
       Caption = 'Us&ername mask:'
       FocusControl = UserNameEdit
     end
     object Label4: TLabel
-      Left = 16
+      Left = 9
       Top = 116
-      Width = 114
-      Height = 13
+      Width = 125
+      Height = 15
       Caption = 'Remote director&y mask:'
       FocusControl = RemoteDirectoryEdit
     end
     object Label5: TLabel
-      Left = 16
-      Top = 164
-      Width = 101
-      Height = 13
+      Left = 10
+      Top = 163
+      Width = 112
+      Height = 15
       Caption = '&Local directory mask:'
       FocusControl = LocalDirectoryEdit
     end
     object HostNameEdit: TEdit
-      Left = 16
-      Top = 36
-      Width = 208
-      Height = 21
+      Left = 9
+      Top = 40
+      Width = 246
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 0
@@ -123,10 +119,10 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
       OnExit = MaskEditExit
     end
     object UserNameEdit: TEdit
-      Left = 16
-      Top = 84
-      Width = 208
-      Height = 21
+      Left = 9
+      Top = 87
+      Width = 246
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 1
@@ -134,10 +130,10 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
       OnExit = MaskEditExit
     end
     object RemoteDirectoryEdit: TEdit
-      Left = 16
-      Top = 132
-      Width = 208
-      Height = 21
+      Left = 9
+      Top = 134
+      Width = 246
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 2
@@ -145,10 +141,10 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
       OnExit = MaskEditExit
     end
     object LocalDirectoryEdit: TEdit
-      Left = 16
-      Top = 180
-      Width = 208
-      Height = 21
+      Left = 9
+      Top = 181
+      Width = 246
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 3
@@ -156,31 +152,31 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
       OnExit = MaskEditExit
     end
     object CurrentRuleButton: TButton
-      Left = 16
-      Top = 211
-      Width = 73
+      Left = 9
+      Top = 214
+      Width = 80
       Height = 25
       Caption = 'Current'
-      TabOrder = 4
+      TabOrder = 5
       OnClick = CurrentRuleButtonClick
     end
     object RuleMaskHintText: TStaticText
-      Left = 95
-      Top = 207
+      Left = 126
+      Top = 204
       Width = 129
       Height = 17
       Alignment = taRightJustify
       Anchors = [akTop, akRight]
       AutoSize = False
       Caption = 'mask hints'
-      TabOrder = 5
+      TabOrder = 4
       TabStop = True
     end
   end
   object HasRuleCheck: TCheckBox
-    Left = 433
+    Left = 474
     Top = 66
-    Width = 216
+    Width = 262
     Height = 17
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Automatically select this preset when'
@@ -188,9 +184,9 @@ object CopyParamPresetDialog: TCopyParamPresetDialog
     OnClick = ControlChange
   end
   object HelpButton: TButton
-    Left = 591
-    Top = 527
-    Width = 75
+    Left = 656
+    Top = 523
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'Help'

+ 122 - 127
source/forms/CopyParams.dfm

@@ -1,38 +1,32 @@
 object CopyParamsFrame: TCopyParamsFrame
   Left = 0
   Top = 0
-  Width = 420
-  Height = 477
+  Width = 456
+  Height = 471
   HelpType = htKeyword
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  ParentFont = False
   TabOrder = 0
   object CommonPropertiesGroup: TGroupBox
-    Left = 212
-    Top = 155
-    Width = 201
-    Height = 121
+    Left = 232
+    Top = 151
+    Width = 221
+    Height = 124
     Caption = 'Common options'
     TabOrder = 3
     DesignSize = (
-      201
-      121)
+      221
+      124)
     object SpeedLabel3: TLabel
-      Left = 15
-      Top = 93
-      Width = 66
-      Height = 13
+      Left = 9
+      Top = 94
+      Width = 70
+      Height = 15
       Caption = '&Speed (KB/s):'
       FocusControl = SpeedCombo
     end
     object PreserveTimeCheck: TCheckBox
-      Left = 16
-      Top = 21
-      Width = 175
+      Left = 11
+      Top = 22
+      Width = 201
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Preserve timestamp'
@@ -42,9 +36,9 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object CommonCalculateSizeCheck: TCheckBox
-      Left = 16
-      Top = 67
-      Width = 175
+      Left = 11
+      Top = 68
+      Width = 201
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Calculate total size'
@@ -54,10 +48,10 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object SpeedCombo: THistoryComboBox
-      Left = 106
-      Top = 90
-      Width = 85
-      Height = 21
+      Left = 111
+      Top = 91
+      Width = 101
+      Height = 23
       AutoComplete = False
       TabOrder = 3
       Text = 'SpeedCombo'
@@ -74,9 +68,9 @@ object CopyParamsFrame: TCopyParamsFrame
         '8')
     end
     object PreserveTimeDirsCheck: TCheckBox
-      Left = 32
-      Top = 44
-      Width = 159
+      Left = 27
+      Top = 45
+      Width = 185
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Including directories'
@@ -87,19 +81,19 @@ object CopyParamsFrame: TCopyParamsFrame
     end
   end
   object LocalPropertiesGroup: TGroupBox
-    Left = 212
-    Top = 282
-    Width = 201
-    Height = 50
+    Left = 232
+    Top = 281
+    Width = 221
+    Height = 49
     Caption = 'Download options'
     TabOrder = 4
     DesignSize = (
-      201
-      50)
+      221
+      49)
     object PreserveReadOnlyCheck: TCheckBox
-      Left = 16
-      Top = 21
-      Width = 179
+      Left = 11
+      Top = 22
+      Width = 201
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Preserve rea&d-only'
@@ -109,15 +103,15 @@ object CopyParamsFrame: TCopyParamsFrame
     end
   end
   object RemotePropertiesGroup: TGroupBox
-    Left = 8
-    Top = 155
-    Width = 194
-    Height = 177
+    Left = 3
+    Top = 151
+    Width = 215
+    Height = 179
     Caption = 'Upload options'
     TabOrder = 2
     object PreserveRightsCheck: TCheckBox
-      Left = 16
-      Top = 21
+      Left = 11
+      Top = 22
       Width = 173
       Height = 17
       Caption = 'Set pe&rmissions:'
@@ -127,8 +121,8 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object RightsEdit: TComboEdit
-      Left = 34
-      Top = 44
+      Left = 26
+      Top = 45
       Width = 123
       Height = 21
       ButtonHint = 'Configure permissions'
@@ -142,8 +136,8 @@ object CopyParamsFrame: TCopyParamsFrame
       OnContextPopup = RightsEditContextPopup
     end
     object IgnorePermErrorsCheck: TCheckBox
-      Left = 16
-      Top = 73
+      Left = 11
+      Top = 72
       Width = 173
       Height = 17
       Caption = 'Ign&ore permission errors'
@@ -153,16 +147,16 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object ClearArchiveCheck: TCheckBox
-      Left = 16
-      Top = 96
+      Left = 11
+      Top = 95
       Width = 173
       Height = 17
       Caption = 'Clear '#39'Arc&hive'#39' attribute'
       TabOrder = 3
     end
     object RemoveCtrlZAndBOMCheck: TCheckBox
-      Left = 16
-      Top = 119
+      Left = 11
+      Top = 118
       Width = 173
       Height = 17
       Caption = 'Remo&ve BOM and EOF marks X'
@@ -170,8 +164,8 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object EncryptNewFilesCheck: TCheckBox
-      Left = 16
-      Top = 142
+      Left = 11
+      Top = 141
       Width = 173
       Height = 17
       Caption = '&Encrypt new files'
@@ -180,55 +174,55 @@ object CopyParamsFrame: TCopyParamsFrame
     end
   end
   object ChangeCaseGroup: TGroupBox
-    Left = 267
-    Top = 8
-    Width = 146
-    Height = 141
+    Left = 290
+    Top = 3
+    Width = 163
+    Height = 142
     Caption = 'Filename modification'
     TabOrder = 1
     DesignSize = (
-      146
-      141)
+      163
+      142)
     object CCLowerCaseShortButton: TRadioButton
-      Left = 16
-      Top = 90
-      Width = 125
+      Left = 11
+      Top = 91
+      Width = 143
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Lower case &8.3'
       TabOrder = 3
     end
     object CCNoChangeButton: TRadioButton
-      Left = 16
-      Top = 21
-      Width = 125
+      Left = 11
+      Top = 22
+      Width = 143
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'No chan&ge'
       TabOrder = 0
     end
     object CCUpperCaseButton: TRadioButton
-      Left = 16
-      Top = 44
-      Width = 125
+      Left = 11
+      Top = 45
+      Width = 143
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Upper case'
       TabOrder = 1
     end
     object CCLowerCaseButton: TRadioButton
-      Left = 16
-      Top = 67
-      Width = 125
+      Left = 11
+      Top = 68
+      Width = 143
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Lo&wer case'
       TabOrder = 2
     end
     object ReplaceInvalidCharsCheck: TCheckBox
-      Left = 16
-      Top = 113
-      Width = 125
+      Left = 11
+      Top = 114
+      Width = 143
       Height = 17
       Caption = 'Rep&lace '#39'\:*?'#39'...'
       TabOrder = 4
@@ -236,28 +230,28 @@ object CopyParamsFrame: TCopyParamsFrame
     end
   end
   object TransferModeGroup: TGroupBox
-    Left = 8
-    Top = 8
-    Width = 249
-    Height = 141
+    Left = 3
+    Top = 3
+    Width = 273
+    Height = 142
     Caption = 'Transfer mode'
     TabOrder = 0
     DesignSize = (
-      249
-      141)
+      273
+      142)
     object AsciiFileMaskLabel: TLabel
-      Left = 16
-      Top = 90
-      Width = 175
-      Height = 13
+      Left = 9
+      Top = 91
+      Width = 191
+      Height = 15
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Transfer following &files in text mode:'
       FocusControl = AsciiFileMaskCombo
     end
     object TMTextButton: TRadioButton
-      Left = 16
-      Top = 21
-      Width = 225
+      Left = 11
+      Top = 22
+      Width = 253
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Text (plain text, html, scripts, ...)'
@@ -265,9 +259,9 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object TMBinaryButton: TRadioButton
-      Left = 16
-      Top = 44
-      Width = 225
+      Left = 11
+      Top = 45
+      Width = 253
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Binary (archives, doc, ...)'
@@ -275,9 +269,9 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object TMAutomaticButton: TRadioButton
-      Left = 16
-      Top = 67
-      Width = 225
+      Left = 11
+      Top = 68
+      Width = 253
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Automatic'
@@ -285,10 +279,10 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object AsciiFileMaskCombo: THistoryComboBox
-      Left = 15
-      Top = 106
-      Width = 219
-      Height = 21
+      Left = 9
+      Top = 109
+      Width = 255
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -298,28 +292,28 @@ object CopyParamsFrame: TCopyParamsFrame
     end
   end
   object OtherGroup: TGroupBox
-    Left = 8
-    Top = 338
-    Width = 405
-    Height = 132
+    Left = 3
+    Top = 336
+    Width = 450
+    Height = 131
     Caption = 'Other'
     TabOrder = 5
     DesignSize = (
-      405
-      132)
+      450
+      131)
     object IncludeFileMaskLabel: TLabel
-      Left = 16
-      Top = 20
-      Width = 47
-      Height = 13
+      Left = 9
+      Top = 22
+      Width = 52
+      Height = 15
       Caption = 'File &mask:'
       FocusControl = IncludeFileMaskCombo
     end
     object IncludeFileMaskCombo: THistoryComboBox
-      Left = 15
-      Top = 36
-      Width = 294
-      Height = 21
+      Left = 9
+      Top = 40
+      Width = 346
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 3000
@@ -328,18 +322,19 @@ object CopyParamsFrame: TCopyParamsFrame
       OnExit = ValidateMaskComboExit
     end
     object IncludeFileMaskButton: TButton
-      Left = 315
-      Top = 33
+      Left = 361
+      Top = 39
       Width = 80
       Height = 25
+      Anchors = [akTop, akRight]
       Caption = '&Edit...'
       TabOrder = 1
       OnClick = IncludeFileMaskButtonClick
     end
     object NewerOnlyCheck: TCheckBox
-      Left = 16
-      Top = 79
-      Width = 197
+      Left = 11
+      Top = 81
+      Width = 213
       Height = 17
       Caption = '&New and updated files only'
       ParentShowHint = False
@@ -348,8 +343,8 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object IncludeFileMaskHintText: TStaticText
-      Left = 184
-      Top = 58
+      Left = 230
+      Top = 63
       Width = 125
       Height = 17
       Alignment = taRightJustify
@@ -359,9 +354,9 @@ object CopyParamsFrame: TCopyParamsFrame
       TabStop = True
     end
     object ExcludeHiddenFilesCheck: TCheckBox
-      Left = 219
-      Top = 79
-      Width = 176
+      Left = 240
+      Top = 81
+      Width = 201
       Height = 17
       Caption = 'Exclude h&idden files'
       ParentShowHint = False
@@ -370,9 +365,9 @@ object CopyParamsFrame: TCopyParamsFrame
       OnClick = ControlChange
     end
     object ExcludeEmptyDirectoriesCheck: TCheckBox
-      Left = 16
-      Top = 102
-      Width = 197
+      Left = 11
+      Top = 104
+      Width = 213
       Height = 17
       Caption = 'E&xclude empty directories'
       ParentShowHint = False

+ 29 - 33
source/forms/CreateDirectory.dfm

@@ -6,26 +6,22 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Create folder'
-  ClientHeight = 253
+  ClientHeight = 263
   ClientWidth = 337
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
     337
-    253)
-  TextHeight = 13
+    263)
+  TextHeight = 15
   object EditLabel: TLabel
     Left = 8
     Top = 8
-    Width = 85
-    Height = 13
+    Width = 94
+    Height = 15
     Caption = 'New &folder name:'
     FocusControl = DirectoryEdit
   end
@@ -33,7 +29,7 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
     Left = 8
     Top = 25
     Width = 321
-    Height = 21
+    Height = 23
     Anchors = [akLeft, akTop, akRight]
     MaxLength = 1000
     TabOrder = 0
@@ -44,34 +40,34 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
     Left = 0
     Top = 50
     Width = 337
-    Height = 169
+    Height = 179
     Anchors = [akLeft, akTop, akRight, akBottom]
     BevelOuter = bvNone
     TabOrder = 1
     DesignSize = (
       337
-      169)
+      179)
     object AttributesGroup: TGroupBox
       Left = 8
-      Top = 3
-      Width = 322
-      Height = 157
+      Top = 4
+      Width = 321
+      Height = 170
       Anchors = [akLeft, akTop, akRight, akBottom]
       Caption = 'Attributes'
       TabOrder = 0
       inline RightsFrame: TRightsFrame
-        Left = 7
-        Top = 36
-        Width = 239
-        Height = 87
+        Left = 2
+        Top = 39
+        Width = 258
+        Height = 98
         TabOrder = 1
         inherited DirectoriesXCheck: TCheckBox
           Visible = False
         end
       end
       object SetRightsCheck: TCheckBox
-        Left = 12
-        Top = 16
+        Left = 11
+        Top = 22
         Width = 156
         Height = 17
         Caption = 'Set pe&rmissions'
@@ -81,8 +77,8 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
         OnClick = ControlChange
       end
       object SaveSettingsCheck: TCheckBox
-        Left = 12
-        Top = 129
+        Left = 11
+        Top = 143
         Width = 301
         Height = 17
         Caption = 'Use &same settings next time'
@@ -91,9 +87,9 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
     end
   end
   object OKBtn: TButton
-    Left = 91
-    Top = 219
-    Width = 75
+    Left = 77
+    Top = 230
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -102,9 +98,9 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
     TabOrder = 2
   end
   object CancelBtn: TButton
-    Left = 171
-    Top = 219
-    Width = 75
+    Left = 163
+    Top = 230
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -113,9 +109,9 @@ object CreateDirectoryDialog: TCreateDirectoryDialog
     TabOrder = 3
   end
   object HelpButton: TButton
-    Left = 252
-    Top = 219
-    Width = 75
+    Left = 249
+    Top = 230
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 20 - 17
source/forms/Custom.cpp

@@ -24,12 +24,14 @@
 #pragma link "PasswordEdit"
 #pragma resource "*.dfm"
 //---------------------------------------------------------------------
+const int GroupBoxBorderWidth = 1;
+//---------------------------------------------------------------------
 __fastcall TCustomDialog::TCustomDialog(UnicodeString AHelpKeyword)
   : TForm(GetFormOwner())
 {
   UseSystemSettings(this);
 
-  FControlPadding = ScaleByTextHeight(this, 8);
+  FControlPadding = ScaleByTextHeight(this, 6);
   FPos = ScaleByTextHeight(this, 8);
   FPrePos = FPos;
   FHorizontalMargin = ScaleByTextHeight(this, 8);
@@ -140,7 +142,7 @@ void __fastcall TCustomDialog::AddImage(const UnicodeString & ImageName)
 //---------------------------------------------------------------------------
 int __fastcall TCustomDialog::GetMaxControlWidth(TControl * Control)
 {
-  return GetDefaultParent()->ClientWidth - Control->Left - FHorizontalMargin;
+  return GetDefaultParent()->ClientWidth - Control->Left - FHorizontalMargin - (FGroupBox != NULL ? GroupBoxBorderWidth : 0);
 }
 //---------------------------------------------------------------------------
 TWinControl * __fastcall TCustomDialog::GetDefaultParent()
@@ -201,7 +203,7 @@ void __fastcall TCustomDialog::AddEditLikeControl(TWinControl * Edit, TLabel * L
     {
       Label->Top = FPos;
 
-      FPos += Label->Height + ScaleByTextHeight(this, 4);
+      FPos += Label->Height + ScaleByTextHeight(this, 3);
     }
   }
 
@@ -298,7 +300,7 @@ void __fastcall TCustomDialog::ScaleButtonControl(TButtonControl * Control)
 void __fastcall TCustomDialog::AddButtonControl(TButtonControl * Control)
 {
   Control->Parent = GetDefaultParent();
-  Control->Left = FIndent + ScaleByTextHeight(this, 6);
+  Control->Left = FIndent + ScaleByTextHeight(this, 2);
   Control->Top = FPos;
   Control->Width = GetMaxControlWidth(Control);
   ScaleButtonControl(Control);
@@ -320,7 +322,7 @@ void TCustomDialog::AddButtonNextToEdit(TButton * Button, TWinControl * Edit)
   Button->Width = HelpButton->Width;
   Button->Left = GetDefaultParent()->ClientWidth - Button->Width - HorizontalMargin;
   Edit->Width = Button->Left - Edit->Left - ScaleByTextHeight(this, 6);
-  Button->Top = Edit->Top - ScaleByTextHeight(this, 2);
+  Button->Top = Edit->Top - ScaleByTextHeight(this, 1);
   ScaleButtonControl(Button);
   AddWinControl(Button);
 }
@@ -383,16 +385,17 @@ void __fastcall TCustomDialog::StartGroup(const UnicodeString & Caption)
 
   GroupBox->Left = FIndent;
   GroupBox->Top = FPos;
-  GroupBox->Height = ScaleByTextHeight(GroupBox, 20);
+  GroupBox->Height = ScaleByTextHeight(GroupBox, 26);
   GroupBox->Width = GetMaxControlWidth(GroupBox);
 
   AdjustHeight(GroupBox);
 
   AddWinControl(GroupBox);
 
-  FPos = ScaleByTextHeight(this, 16);
+  // but if the first control is oneline box, then we should roll back a bit
+  FPos = ScaleByTextHeight(this, 22);
   FPrePos = FPos;
-  FIndent = FHorizontalMargin;
+  FIndent = FHorizontalMargin + GroupBoxBorderWidth;
 
   FGroupBox = GroupBox;
 }
@@ -821,7 +824,7 @@ __fastcall TRemoteMoveDialog::TRemoteMoveDialog(bool Multi, TDirectoryExistsEven
 {
   Caption = LoadStr(REMOTE_MOVE_TITLE);
   // The same as TRemoteTransferDialog
-  ClientWidth = ScaleByTextHeight(this, 420);
+  ClientWidth = ScaleByTextHeight(this, 466);
 
   FMulti = Multi;
   FOnDirectoryExists = OnDirectoryExists;
@@ -933,7 +936,7 @@ __fastcall TCustomCommandOptionsDialog::TCustomCommandOptionsDialog(
   FCustomCommandOptions = CustomCommandOptions;
   FSite = Site;
   Caption = StripEllipsis(StripHotkey(FCommand->Name));
-  Width = ScaleByTextHeight(this, 400);
+  Width = ScaleByTextHeight(this, 444);
 
   bool HasGroups = false;
   int ControlIndex = 0;
@@ -1386,24 +1389,24 @@ __fastcall TUsageStatisticsDialog::TUsageStatisticsDialog() :
   TCustomDialog(HELP_USAGE)
 {
   Caption = LoadStr(USAGE_CAPTION);
-  Width = ScaleByTextHeight(this, 400);
+  Width = ScaleByTextHeight(this, 444);
 
   // UnformatMessage is called, because previously, ** markup was used and translations may still contain that
   AddText(CreateLabel(UnformatMessage(LoadStr(USAGE_DATA2))));
 
   FilterEdit = new TEdit(this);
-  FilterEdit->Width = ScaleByTextHeight(this, 250);
+  FilterEdit->Width = ScaleByTextHeight(this, 277);
   AddEdit(FilterEdit, CreateLabel(LoadStr(USAGE_FILTER)), true);
 
   UsageMemo = new TMemo(this);
-  UsageMemo->Height = ScaleByTextHeight(this, 300);
+  UsageMemo->Height = ScaleByTextHeight(this, 333);
   UsageMemo->ScrollBars = ssVertical;
   AddEdit(UsageMemo, NULL);
   ReadOnlyControl(UsageMemo);
 
   ClipboardButton = new TButton(this);
   ClipboardButton->Caption = LoadStr(USAGE_COPY);
-  ClipboardButton->Width = ScaleByTextHeight(this, 161);
+  ClipboardButton->Width = ScaleByTextHeight(this, 179);
   ClipboardButton->OnClick = ClipboardButtonClick;
   AddDialogButton(ClipboardButton);
 
@@ -1459,10 +1462,10 @@ __fastcall TSiteRawDialog::TSiteRawDialog() :
   TCustomDialog(HELP_SITE_RAW)
 {
   Caption = LoadStr(SITE_RAW_CAPTION);
-  Width = ScaleByTextHeight(this, 400);
+  Width = ScaleByTextHeight(this, 444);
 
   SettingsMemo = new TMemo(this);
-  SettingsMemo->Height = ScaleByTextHeight(this, 300);
+  SettingsMemo->Height = ScaleByTextHeight(this, 333);
   SettingsMemo->OnKeyDown = SettingsMemoKeyDown;
   AddEdit(SettingsMemo, NULL);
 
@@ -1617,7 +1620,7 @@ private:
 TSshHostCADialog::TSshHostCADialog(bool Add) :
   TCustomDialog(HELP_SSH_HOST_CA)
 {
-  ClientWidth = ScaleByTextHeight(this, 520);
+  ClientWidth = ScaleByTextHeight(this, 577);
   Caption = LoadStr(Add ? SSH_HOST_CA_ADD : SSH_HOST_CA_EDIT);
 
   NameEdit = new TEdit(this);

+ 12 - 16
source/forms/Custom.dfm

@@ -4,23 +4,19 @@ object CustomDialog: TCustomDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Save session as siteX'
-  ClientHeight = 41
-  ClientWidth = 326
+  ClientHeight = 42
+  ClientWidth = 362
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   DesignSize = (
-    326
-    41)
-  TextHeight = 13
+    362
+    42)
+  TextHeight = 15
   object OKButton: TButton
-    Left = 68
+    Left = 102
     Top = 9
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -29,9 +25,9 @@ object CustomDialog: TCustomDialog
     TabOrder = 2
   end
   object CancelButton: TButton
-    Left = 156
+    Left = 188
     Top = 9
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -40,9 +36,9 @@ object CustomDialog: TCustomDialog
     TabOrder = 0
   end
   object HelpButton: TButton
-    Left = 243
+    Left = 274
     Top = 9
-    Width = 75
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 68 - 74
source/forms/CustomCommand.dfm

@@ -6,72 +6,66 @@ object CustomCommandDialog: TCustomCommandDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'CustomCommandDialog'
-  ClientHeight = 309
-  ClientWidth = 416
+  ClientHeight = 287
+  ClientWidth = 464
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    416
-    309)
-  TextHeight = 13
+    464
+    287)
+  TextHeight = 15
   object Group: TGroupBox
     Left = 8
     Top = 8
-    Width = 400
-    Height = 259
-    Anchors = [akLeft, akTop, akRight, akBottom]
+    Width = 448
+    Height = 240
+    Anchors = [akLeft, akTop, akRight]
     TabOrder = 0
     DesignSize = (
-      400
-      259)
+      448
+      240)
     object DescriptionLabel: TLabel
-      Left = 11
-      Top = 16
-      Width = 57
-      Height = 13
-      Anchors = [akLeft, akTop, akRight]
+      Left = 9
+      Top = 9
+      Width = 63
+      Height = 15
       Caption = '&Description:'
       FocusControl = DescriptionEdit
     end
     object Label1: TLabel
-      Left = 11
-      Top = 64
-      Width = 88
-      Height = 13
-      Anchors = [akLeft, akTop, akRight]
+      Left = 9
+      Top = 56
+      Width = 103
+      Height = 15
       Caption = '&Custom command:'
       FocusControl = CommandEdit
     end
     object ShortCutLabel: TLabel
-      Left = 16
-      Top = 231
-      Width = 93
-      Height = 13
+      Left = 9
+      Top = 210
+      Width = 100
+      Height = 15
       Caption = '&Keyboard shortcut:'
       FocusControl = ShortCutCombo
     end
     object DescriptionEdit: TEdit
-      Left = 11
-      Top = 32
-      Width = 378
-      Height = 21
+      Left = 9
+      Top = 27
+      Width = 430
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 0
       OnChange = ControlChange
     end
     object CommandEdit: THistoryComboBox
-      Left = 11
-      Top = 80
-      Width = 378
-      Height = 21
+      Left = 9
+      Top = 74
+      Width = 430
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 2048
@@ -81,63 +75,63 @@ object CustomCommandDialog: TCustomCommandDialog
       OnSetData = CommandEditSetData
     end
     object ApplyToDirectoriesCheck: TCheckBox
-      Left = 16
-      Top = 149
-      Width = 181
+      Left = 11
+      Top = 138
+      Width = 200
       Height = 17
       Caption = '&Apply to directories'
       TabOrder = 5
       OnClick = ControlChange
     end
     object RecursiveCheck: TCheckBox
-      Left = 203
-      Top = 149
-      Width = 185
+      Left = 224
+      Top = 138
+      Width = 200
       Height = 17
       Caption = '&Execute recursively'
       TabOrder = 6
       OnClick = ControlChange
     end
     object LocalCommandButton: TRadioButton
-      Left = 203
-      Top = 122
-      Width = 185
+      Left = 224
+      Top = 115
+      Width = 200
       Height = 17
       Caption = '&Local command'
       TabOrder = 4
       OnClick = ControlChange
     end
     object RemoteCommandButton: TRadioButton
-      Left = 16
-      Top = 122
-      Width = 181
+      Left = 11
+      Top = 115
+      Width = 200
       Height = 17
       Caption = '&Remote command'
       TabOrder = 3
       OnClick = ControlChange
     end
     object ShowResultsCheck: TCheckBox
-      Left = 16
-      Top = 176
-      Width = 181
+      Left = 11
+      Top = 161
+      Width = 200
       Height = 17
       Caption = '&Show results in terminal'
       TabOrder = 7
       OnClick = ControlChange
     end
     object CopyResultsCheck: TCheckBox
-      Left = 16
-      Top = 203
-      Width = 181
+      Left = 11
+      Top = 184
+      Width = 200
       Height = 17
       Caption = 'Copy results to clip&board'
       TabOrder = 9
       OnClick = ControlChange
     end
     object HintText: TStaticText
-      Left = 272
-      Top = 103
-      Width = 117
+      Left = 321
+      Top = 97
+      Width = 118
       Height = 16
       Alignment = taRightJustify
       Anchors = [akTop, akRight]
@@ -147,16 +141,16 @@ object CustomCommandDialog: TCustomCommandDialog
       TabStop = True
     end
     object ShortCutCombo: TComboBox
-      Left = 203
-      Top = 226
-      Width = 184
-      Height = 21
+      Left = 224
+      Top = 207
+      Width = 215
+      Height = 23
       TabOrder = 10
     end
     object RemoteFilesCheck: TCheckBox
-      Left = 203
-      Top = 176
-      Width = 181
+      Left = 224
+      Top = 161
+      Width = 200
       Height = 17
       Caption = '&Use remote files'
       TabOrder = 8
@@ -164,9 +158,9 @@ object CustomCommandDialog: TCustomCommandDialog
     end
   end
   object OkButton: TButton
-    Left = 164
-    Top = 276
-    Width = 75
+    Left = 204
+    Top = 254
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -175,9 +169,9 @@ object CustomCommandDialog: TCustomCommandDialog
     TabOrder = 1
   end
   object CancelButton: TButton
-    Left = 248
-    Top = 276
-    Width = 75
+    Left = 290
+    Top = 254
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -186,9 +180,9 @@ object CustomCommandDialog: TCustomCommandDialog
     TabOrder = 2
   end
   object HelpButton: TButton
-    Left = 332
-    Top = 276
-    Width = 75
+    Left = 376
+    Top = 254
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 1 - 1
source/forms/CustomScpExplorer.cpp

@@ -3286,7 +3286,7 @@ void __fastcall TCustomScpExplorerForm::EditNew(TOperationSide Side)
   UnicodeString Names = Name;
   std::unique_ptr<TStrings> History(CloneStrings(CustomWinConfiguration->History[L"EditFile"]));
   if (InputDialog(LoadStr(EDIT_FILE_CAPTION), LoadStr(EDIT_FILE_PROMPT), Names,
-        HELP_EDIT_NEW, History.get(), true, NULL, true, 400))
+        HELP_EDIT_NEW, History.get(), true, NULL, true, 444))
   {
     while (!Names.IsEmpty())
     {

+ 24 - 28
source/forms/CustomScpExplorer.dfm

@@ -2,25 +2,21 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
   Left = 251
   Top = 166
   Caption = 'CustomScpExplorerForm'
-  ClientHeight = 432
-  ClientWidth = 620
+  ClientHeight = 429
+  ClientWidth = 608
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   KeyPreview = True
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnClose = FormClose
   OnCloseQuery = FormCloseQuery
   OnConstrainedResize = FormConstrainedResize
   OnShow = FormShow
-  TextHeight = 13
+  TextHeight = 15
   object QueueSplitter: TSplitter
     Left = 0
-    Top = 289
-    Width = 620
+    Top = 286
+    Width = 608
     Height = 3
     Cursor = crSizeNS
     Hint = 'Drag to resize queue list. Double click to hide queue list.'
@@ -33,15 +29,15 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
   object TopDock: TTBXDock
     Left = 0
     Top = 0
-    Width = 620
+    Width = 608
     Height = 9
     FixAlign = True
   end
   object RemotePanel: TPanel
     Left = 0
     Top = 39
-    Width = 620
-    Height = 250
+    Width = 608
+    Height = 247
     Align = alClient
     BevelOuter = bvNone
     Color = clWindow
@@ -50,7 +46,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     object RemotePanelSplitter: TSplitter
       Left = 169
       Top = 0
-      Height = 231
+      Height = 228
       Cursor = crSizeWE
       AutoSnap = False
       MinSize = 70
@@ -58,8 +54,8 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     end
     object RemoteStatusBar: TTBXStatusBar
       Left = 0
-      Top = 231
-      Width = 620
+      Top = 228
+      Width = 608
       Height = 19
       Panels = <>
       ParentShowHint = False
@@ -71,8 +67,8 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     object RemoteDirPanel: TPanel
       Left = 172
       Top = 0
-      Width = 448
-      Height = 231
+      Width = 436
+      Height = 228
       Align = alClient
       BevelOuter = bvNone
       TabOrder = 1
@@ -146,7 +142,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
       Left = 0
       Top = 0
       Width = 169
-      Height = 231
+      Height = 228
       Align = alLeft
       BevelOuter = bvNone
       TabOrder = 2
@@ -154,7 +150,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
         Left = 0
         Top = 0
         Width = 169
-        Height = 231
+        Height = 228
         DirView = RemoteDirView
         OnDDDragFileName = RemoteFileControlDDDragFileName
         OnDDEnd = RemoteFileControlDDEnd
@@ -183,8 +179,8 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
   end
   object QueuePanel: TPanel
     Left = 0
-    Top = 292
-    Width = 620
+    Top = 289
+    Width = 608
     Height = 140
     Align = alBottom
     BevelOuter = bvNone
@@ -193,7 +189,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
       Left = 0
       Top = 0
       Width = 620
-      Height = 19
+      Height = 21
       IndentVertical = 3
       AutoSizeVertical = True
       OnGetStatus = QueueLabelGetStatus
@@ -217,9 +213,9 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     end
     object QueueView3: TListView
       Left = 0
-      Top = 45
+      Top = 47
       Width = 620
-      Height = 72
+      Height = 70
       Align = alClient
       Columns = <
         item
@@ -286,7 +282,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     object QueueDock: TTBXDock
       Tag = 1
       Left = 0
-      Top = 19
+      Top = 21
       Width = 620
       Height = 26
       AllowDrag = False
@@ -392,7 +388,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
   object SessionsPageControl: TThemePageControl
     Left = 0
     Top = 18
-    Width = 620
+    Width = 608
     Height = 21
     ActivePage = TabSheet1
     Align = alTop
@@ -418,7 +414,7 @@ object CustomScpExplorerForm: TCustomScpExplorerForm
     Tag = 1
     Left = 0
     Top = 9
-    Width = 620
+    Width = 608
     Height = 9
     AllowDrag = False
     FixAlign = True

+ 82 - 85
source/forms/EditMask.dfm

@@ -6,55 +6,51 @@ object EditMaskDialog: TEditMaskDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Edit file mask'
-  ClientHeight = 500
-  ClientWidth = 425
+  ClientHeight = 537
+  ClientWidth = 474
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   KeyPreview = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnKeyDown = FormKeyDown
   OnShow = FormShow
   DesignSize = (
-    425
-    500)
-  TextHeight = 13
+    474
+    537)
+  TextHeight = 15
   object FilesGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 409
-    Height = 179
+    Top = 8
+    Width = 458
+    Height = 192
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Files masks'
     TabOrder = 0
     DesignSize = (
-      409
-      179)
+      458
+      192)
     object Label3: TLabel
-      Left = 16
-      Top = 19
-      Width = 61
-      Height = 13
+      Left = 9
+      Top = 22
+      Width = 66
+      Height = 15
       Caption = '&Include files:'
       FocusControl = IncludeFileMasksMemo
     end
     object Label1: TLabel
-      Left = 212
-      Top = 19
-      Width = 63
-      Height = 13
+      Left = 232
+      Top = 22
+      Width = 67
+      Height = 15
       Caption = '&Exclude files:'
       FocusControl = ExcludeFileMasksMemo
     end
     object IncludeFileMasksMemo: TMemo
-      Left = 16
-      Top = 35
-      Width = 181
-      Height = 129
+      Left = 9
+      Top = 40
+      Width = 217
+      Height = 142
       Anchors = [akLeft, akTop, akBottom]
       Lines.Strings = (
         'IncludeFileMasksMemo')
@@ -64,10 +60,10 @@ object EditMaskDialog: TEditMaskDialog
       OnExit = FileMasksMemoExit
     end
     object ExcludeFileMasksMemo: TMemo
-      Left = 212
-      Top = 35
-      Width = 181
-      Height = 129
+      Left = 232
+      Top = 40
+      Width = 217
+      Height = 142
       Anchors = [akLeft, akTop, akBottom]
       Lines.Strings = (
         'ExcludeFileMasksMemo')
@@ -78,79 +74,79 @@ object EditMaskDialog: TEditMaskDialog
     end
   end
   object OKBtn: TButton
-    Left = 174
-    Top = 467
-    Width = 75
+    Left = 214
+    Top = 504
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
     Default = True
     ModalResult = 1
-    TabOrder = 3
+    TabOrder = 4
   end
   object CancelBtn: TButton
-    Left = 259
-    Top = 467
-    Width = 75
+    Left = 300
+    Top = 504
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
     Caption = 'Cancel'
     ModalResult = 2
-    TabOrder = 4
+    TabOrder = 5
   end
   object HelpButton: TButton
-    Left = 342
-    Top = 467
-    Width = 75
+    Left = 386
+    Top = 504
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
-    TabOrder = 5
+    TabOrder = 6
     OnClick = HelpButtonClick
   end
   object ClearButton: TButton
-    Left = 89
-    Top = 467
-    Width = 75
+    Left = 128
+    Top = 504
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Clear'
-    TabOrder = 2
+    TabOrder = 3
     OnClick = ClearButtonClick
   end
   object DirectoriesGroup: TGroupBox
     Left = 8
-    Top = 191
-    Width = 409
-    Height = 172
+    Top = 206
+    Width = 458
+    Height = 186
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Directories masks'
     TabOrder = 1
     DesignSize = (
-      409
-      172)
+      458
+      186)
     object Label2: TLabel
-      Left = 16
-      Top = 19
-      Width = 92
-      Height = 13
+      Left = 9
+      Top = 22
+      Width = 100
+      Height = 15
       Caption = 'I&nclude directories:'
       FocusControl = IncludeDirectoryMasksMemo
     end
     object Label4: TLabel
-      Left = 212
-      Top = 19
-      Width = 94
-      Height = 13
+      Left = 232
+      Top = 22
+      Width = 101
+      Height = 15
       Caption = 'E&xclude directories:'
       FocusControl = ExcludeDirectoryMasksMemo
     end
     object IncludeDirectoryMasksMemo: TMemo
-      Left = 16
-      Top = 35
-      Width = 181
-      Height = 104
+      Left = 9
+      Top = 40
+      Width = 217
+      Height = 115
       Anchors = [akLeft, akTop, akBottom]
       Lines.Strings = (
         'IncludeDirectoryMasksMemo')
@@ -160,10 +156,10 @@ object EditMaskDialog: TEditMaskDialog
       OnExit = DirectoryMasksMemoExit
     end
     object ExcludeDirectoryMasksMemo: TMemo
-      Left = 212
-      Top = 35
-      Width = 181
-      Height = 104
+      Left = 232
+      Top = 40
+      Width = 217
+      Height = 115
       Anchors = [akLeft, akTop, akBottom]
       Lines.Strings = (
         'ExcludeDirectoryMasksMemo')
@@ -173,10 +169,11 @@ object EditMaskDialog: TEditMaskDialog
       OnExit = DirectoryMasksMemoExit
     end
     object ExcludeDirectoryAllCheck: TCheckBox
-      Left = 212
-      Top = 145
-      Width = 181
+      Left = 234
+      Top = 161
+      Width = 217
       Height = 17
+      Anchors = [akLeft, akBottom]
       Caption = '&All (do not recurse)'
       TabOrder = 2
       OnClick = ExcludeDirectoryAllCheckClick
@@ -184,20 +181,20 @@ object EditMaskDialog: TEditMaskDialog
   end
   object MaskGroup: TGroupBox
     Left = 8
-    Top = 385
-    Width = 409
-    Height = 76
-    Anchors = [akLeft, akTop, akRight, akBottom]
+    Top = 409
+    Width = 458
+    Height = 89
+    Anchors = [akLeft, akTop, akRight]
     Caption = 'Mask'
-    TabOrder = 6
+    TabOrder = 7
     DesignSize = (
-      409
-      76)
+      458
+      89)
     object MaskMemo: TMemo
-      Left = 7
-      Top = 15
-      Width = 395
-      Height = 52
+      Left = 9
+      Top = 21
+      Width = 440
+      Height = 58
       TabStop = False
       Anchors = [akLeft, akTop, akRight, akBottom]
       BevelInner = bvNone
@@ -210,14 +207,14 @@ object EditMaskDialog: TEditMaskDialog
     end
   end
   object MaskHintText: TStaticText
-    Left = 288
-    Top = 369
+    Left = 337
+    Top = 391
     Width = 129
     Height = 17
     Alignment = taRightJustify
     AutoSize = False
     Caption = 'mask hints'
-    TabOrder = 7
+    TabOrder = 2
     TabStop = True
   end
 end

+ 2 - 6
source/forms/Editor.dfm

@@ -8,11 +8,7 @@ object EditorForm: TEditorForm
   ClientHeight = 381
   ClientWidth = 609
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Icon.Data = {
     000001000700404000000100200028420000760000003030000001002000A825
     00009E4200002828000001002000681A0000466800002020000001002000A810
@@ -1363,7 +1359,7 @@ object EditorForm: TEditorForm
   OnCloseQuery = FormCloseQuery
   OnKeyDown = FormKeyDown
   OnShow = FormShow
-  TextHeight = 13
+  TextHeight = 15
   object TopDock: TTBXDock
     Left = 0
     Top = 0

+ 62 - 60
source/forms/EditorPreferences.dfm

@@ -6,42 +6,43 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'EditorPreferencesDialog'
-  ClientHeight = 389
-  ClientWidth = 403
+  ClientHeight = 382
+  ClientWidth = 447
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    403
-    389)
-  TextHeight = 13
+    447
+    382)
+  TextHeight = 15
   object ExternalEditorGroup: TGroupBox
     Left = 8
-    Top = 250
-    Width = 388
+    Top = 247
+    Width = 431
     Height = 73
     Anchors = [akLeft, akTop, akRight]
     Caption = 'External editor options (affects editing remote files only)'
     TabOrder = 2
+    DesignSize = (
+      431
+      73)
     object ExternalEditorTextCheck: TCheckBox
-      Left = 16
+      Left = 11
       Top = 45
-      Width = 337
+      Width = 411
       Height = 17
+      Anchors = [akLeft, akTop, akRight]
       Caption = 'Force &text transfer mode for files edited in external editor'
       TabOrder = 1
     end
     object SDIExternalEditorCheck: TCheckBox
-      Left = 16
-      Top = 21
-      Width = 337
+      Left = 11
+      Top = 22
+      Width = 411
       Height = 17
+      Anchors = [akLeft, akTop, akRight]
       Caption = 'E&xternal editor opens each file in separate window (process)'
       TabOrder = 0
     end
@@ -49,37 +50,37 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
   object EditorGroup2: TGroupBox
     Left = 8
     Top = 8
-    Width = 388
-    Height = 155
+    Width = 431
+    Height = 154
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Editor'
     TabOrder = 0
     DesignSize = (
-      388
-      155)
+      431
+      154)
     object EditorInternalButton: TRadioButton
-      Left = 16
-      Top = 21
-      Width = 145
+      Left = 11
+      Top = 22
+      Width = 212
       Height = 17
       Caption = '&Internal editor'
       TabOrder = 0
       OnClick = ControlChange
     end
     object EditorExternalButton: TRadioButton
-      Left = 16
+      Left = 11
       Top = 45
-      Width = 145
+      Width = 212
       Height = 17
       Caption = '&External editor:'
       TabOrder = 1
       OnClick = ControlChange
     end
     object ExternalEditorEdit: THistoryComboBox
-      Left = 32
-      Top = 69
-      Width = 267
-      Height = 21
+      Left = 26
+      Top = 68
+      Width = 310
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 2
@@ -88,27 +89,28 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
       OnExit = ExternalEditorEditExit
     end
     object ExternalEditorBrowseButton: TButton
-      Left = 305
+      Left = 342
       Top = 67
-      Width = 75
+      Width = 80
       Height = 25
+      Anchors = [akTop, akRight]
       Caption = 'B&rowse...'
       TabOrder = 3
       OnClick = ExternalEditorBrowseButtonClick
     end
     object EditorOpenButton: TRadioButton
-      Left = 16
+      Left = 11
       Top = 97
-      Width = 145
+      Width = 212
       Height = 17
       Caption = '&Associated application'
       TabOrder = 4
       OnClick = ControlChange
     end
     object DefaultButton: TButton
-      Left = 16
+      Left = 9
       Top = 120
-      Width = 193
+      Width = 214
       Height = 25
       Caption = 'Use default system editor'
       TabOrder = 5
@@ -117,28 +119,28 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
   end
   object MaskGroup: TGroupBox
     Left = 8
-    Top = 170
-    Width = 388
+    Top = 168
+    Width = 431
     Height = 73
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Editor autoselection'
     TabOrder = 1
     DesignSize = (
-      388
+      431
       73)
     object MaskLabel: TLabel
-      Left = 11
-      Top = 20
-      Width = 157
-      Height = 13
+      Left = 9
+      Top = 22
+      Width = 173
+      Height = 15
       Caption = 'Use this editor for &following files:'
       FocusControl = MaskEdit
     end
     object MaskEdit: THistoryComboBox
-      Left = 11
-      Top = 39
-      Width = 367
-      Height = 21
+      Left = 9
+      Top = 40
+      Width = 413
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -148,9 +150,9 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
     end
   end
   object OkButton: TButton
-    Left = 151
-    Top = 356
-    Width = 75
+    Left = 187
+    Top = 349
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -159,9 +161,9 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
     TabOrder = 4
   end
   object CancelButton: TButton
-    Left = 235
-    Top = 356
-    Width = 75
+    Left = 273
+    Top = 349
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -170,9 +172,9 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
     TabOrder = 5
   end
   object HelpButton: TButton
-    Left = 319
-    Top = 356
-    Width = 75
+    Left = 359
+    Top = 349
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -180,11 +182,11 @@ object EditorPreferencesDialog: TEditorPreferencesDialog
     OnClick = HelpButtonClick
   end
   object RememberCheck: TCheckBox
-    Left = 24
-    Top = 332
-    Width = 337
+    Left = 19
+    Top = 326
+    Width = 420
     Height = 17
-    Anchors = [akLeft, akBottom]
+    Anchors = [akLeft, akRight, akBottom]
     Caption = '&Remember this editor'
     TabOrder = 3
   end

+ 39 - 43
source/forms/FileFind.dfm

@@ -10,11 +10,7 @@ object FileFindDialog: TFileFindDialog
   Color = clBtnFace
   Constraints.MinHeight = 240
   Constraints.MinWidth = 400
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Icon.Data = {
     000001000700404000000100200028420000760000003030000001002000A825
     00009E4200002828000001002000681A0000466800002020000001002000A810
@@ -1370,45 +1366,45 @@ object FileFindDialog: TFileFindDialog
   DesignSize = (
     562
     417)
-  TextHeight = 13
+  TextHeight = 15
   object FilterGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 434
-    Height = 127
+    Top = 8
+    Width = 432
+    Height = 122
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Filter'
     TabOrder = 0
     DesignSize = (
-      434
-      127)
+      432
+      122)
     object MaskLabel: TLabel
       Left = 49
-      Top = 20
-      Width = 47
-      Height = 13
+      Top = 22
+      Width = 52
+      Height = 15
       Caption = '&File mask:'
       FocusControl = MaskEdit
     end
     object RemoteDirectoryLabel: TLabel
       Left = 49
       Top = 71
-      Width = 48
-      Height = 13
+      Width = 51
+      Height = 15
       Caption = 'Sear&ch in:'
       FocusControl = RemoteDirectoryEdit
     end
     object AnimationPaintBox: TPaintBox
       Left = 11
-      Top = 23
+      Top = 24
       Width = 32
       Height = 32
     end
     object RemoteDirectoryEdit: THistoryComboBox
       Left = 49
-      Top = 87
+      Top = 89
       Width = 374
-      Height = 21
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -1418,9 +1414,9 @@ object FileFindDialog: TFileFindDialog
     end
     object MaskEdit: THistoryComboBox
       Left = 49
-      Top = 36
+      Top = 40
       Width = 288
-      Height = 21
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -1431,7 +1427,7 @@ object FileFindDialog: TFileFindDialog
     end
     object MaskHintText: TStaticText
       Left = 213
-      Top = 59
+      Top = 63
       Width = 124
       Height = 17
       Alignment = taRightJustify
@@ -1443,7 +1439,7 @@ object FileFindDialog: TFileFindDialog
     end
     object MaskButton: TButton
       Left = 343
-      Top = 34
+      Top = 39
       Width = 80
       Height = 25
       Anchors = [akTop, akRight]
@@ -1453,8 +1449,8 @@ object FileFindDialog: TFileFindDialog
     end
   end
   object StartStopButton: TButton
-    Left = 448
-    Top = 11
+    Left = 446
+    Top = 15
     Width = 108
     Height = 25
     Anchors = [akTop, akRight]
@@ -1464,8 +1460,8 @@ object FileFindDialog: TFileFindDialog
     OnClick = StartStopButtonClick
   end
   object HelpButton: TButton
-    Left = 448
-    Top = 42
+    Left = 446
+    Top = 46
     Width = 108
     Height = 25
     Anchors = [akTop, akRight]
@@ -1475,17 +1471,17 @@ object FileFindDialog: TFileFindDialog
   end
   object FileViewPanel: TPanel
     Left = 8
-    Top = 142
-    Width = 434
-    Height = 252
+    Top = 136
+    Width = 432
+    Height = 254
     Anchors = [akLeft, akTop, akRight, akBottom]
     BevelOuter = bvNone
     TabOrder = 3
     object FileView: TIEListView
       Left = 0
       Top = 0
-      Width = 434
-      Height = 252
+      Width = 432
+      Height = 254
       Align = alClient
       FullDrag = True
       ReadOnly = True
@@ -1529,8 +1525,8 @@ object FileFindDialog: TFileFindDialog
     SimplePanel = True
   end
   object FocusButton: TButton
-    Left = 448
-    Top = 142
+    Left = 446
+    Top = 136
     Width = 108
     Height = 25
     Action = FocusAction
@@ -1538,17 +1534,17 @@ object FileFindDialog: TFileFindDialog
     TabOrder = 4
   end
   object CopyButton: TButton
-    Left = 448
-    Top = 369
-    Width = 106
+    Left = 446
+    Top = 365
+    Width = 108
     Height = 25
     Action = CopyAction
     Anchors = [akRight, akBottom]
     TabOrder = 8
   end
   object DeleteButton: TButton
-    Left = 448
-    Top = 235
+    Left = 446
+    Top = 229
     Width = 108
     Height = 25
     Action = DeleteAction
@@ -1556,8 +1552,8 @@ object FileFindDialog: TFileFindDialog
     TabOrder = 7
   end
   object DownloadButton: TButton
-    Left = 448
-    Top = 204
+    Left = 446
+    Top = 198
     Width = 108
     Height = 25
     Action = DownloadAction
@@ -1565,8 +1561,8 @@ object FileFindDialog: TFileFindDialog
     TabOrder = 6
   end
   object EditButton: TButton
-    Left = 448
-    Top = 173
+    Left = 446
+    Top = 167
     Width = 108
     Height = 25
     Action = EditAction

+ 105 - 109
source/forms/FileSystemInfo.dfm

@@ -6,24 +6,20 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Server and protocol information'
-  ClientHeight = 398
-  ClientWidth = 371
+  ClientHeight = 444
+  ClientWidth = 432
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    371
-    398)
-  TextHeight = 13
+    432
+    444)
+  TextHeight = 15
   object CloseButton: TButton
-    Left = 204
-    Top = 364
-    Width = 75
+    Left = 258
+    Top = 411
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -33,9 +29,9 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
     TabOrder = 2
   end
   object HelpButton: TButton
-    Left = 287
-    Top = 364
-    Width = 75
+    Left = 344
+    Top = 411
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -45,8 +41,8 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
   object PageControl: TPageControl
     Left = 0
     Top = 0
-    Width = 371
-    Height = 352
+    Width = 432
+    Height = 405
     ActivePage = ProtocolSheet
     Align = alTop
     Anchors = [akLeft, akTop, akRight, akBottom]
@@ -55,47 +51,47 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
     object ProtocolSheet: TTabSheet
       Caption = 'Protocol'
       DesignSize = (
-        363
-        324)
+        424
+        375)
       object HostKeyGroup: TGroupBox
-        Left = 6
-        Top = 201
-        Width = 351
-        Height = 87
+        Left = 5
+        Top = 236
+        Width = 411
+        Height = 95
         Anchors = [akLeft, akRight, akBottom]
         Caption = 'Server host key fingerprints'
         TabOrder = 1
         DesignSize = (
-          351
-          87)
+          411
+          95)
         object Label2: TLabel
-          Left = 10
-          Top = 18
-          Width = 49
-          Height = 13
+          Left = 8
+          Top = 22
+          Width = 57
+          Height = 15
           Caption = 'Algorithm:'
           FocusControl = HostKeyAlgorithmEdit
         end
         object Label3: TLabel
-          Left = 10
-          Top = 41
-          Width = 46
-          Height = 13
+          Left = 8
+          Top = 45
+          Width = 49
+          Height = 15
           Caption = 'SHA-256:'
           FocusControl = HostKeyFingerprintSHA256Edit
         end
         object Label4: TLabel
-          Left = 10
-          Top = 64
-          Width = 25
-          Height = 13
+          Left = 8
+          Top = 68
+          Width = 28
+          Height = 15
           Caption = 'MD5:'
           FocusControl = HostKeyFingerprintMD5Edit
         end
         object HostKeyFingerprintSHA256Edit: TEdit
-          Left = 65
-          Top = 41
-          Width = 279
+          Left = 88
+          Top = 45
+          Width = 314
           Height = 17
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -108,9 +104,9 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
           OnContextPopup = HostKeyFingerprintSHA256EditContextPopup
         end
         object HostKeyAlgorithmEdit: TEdit
-          Left = 65
-          Top = 18
-          Width = 279
+          Left = 88
+          Top = 22
+          Width = 314
           Height = 17
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -121,9 +117,9 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
           Text = 'HostKeyAlgorithmEdit'
         end
         object HostKeyFingerprintMD5Edit: TEdit
-          Left = 65
-          Top = 64
-          Width = 279
+          Left = 88
+          Top = 68
+          Width = 314
           Height = 17
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -137,10 +133,10 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
         end
       end
       object ServerView: TListView
-        Left = 6
-        Top = 8
-        Width = 351
-        Height = 187
+        Left = 5
+        Top = 5
+        Width = 412
+        Height = 225
         Anchors = [akLeft, akTop, akRight, akBottom]
         Columns = <
           item
@@ -163,36 +159,36 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
         OnContextPopup = ControlContextPopup
       end
       object CertificateGroup: TGroupBox
-        Left = 6
-        Top = 294
-        Width = 351
-        Height = 104
+        Left = 5
+        Top = 337
+        Width = 411
+        Height = 102
         Anchors = [akLeft, akRight, akBottom]
         Caption = 'Certificate fingerprint'
         TabOrder = 2
         DesignSize = (
-          351
-          104)
+          411
+          102)
         object Label5: TLabel
-          Left = 10
-          Top = 20
-          Width = 46
-          Height = 13
+          Left = 8
+          Top = 22
+          Width = 49
+          Height = 15
           Caption = 'SHA-256:'
           FocusControl = CertificateFingerprintSha256Edit
         end
         object Label6: TLabel
-          Left = 10
-          Top = 43
-          Width = 34
-          Height = 13
+          Left = 8
+          Top = 45
+          Width = 37
+          Height = 15
           Caption = 'SHA-1:'
           FocusControl = CertificateFingerprintSha1Edit
         end
         object CertificateFingerprintSha256Edit: TEdit
-          Left = 65
-          Top = 20
-          Width = 279
+          Left = 88
+          Top = 22
+          Width = 314
           Height = 17
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -203,18 +199,18 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
           Text = 'CertificateFingerprintSha256Edit'
         end
         object CertificateViewButton: TButton
-          Left = 10
-          Top = 66
-          Width = 121
+          Left = 8
+          Top = 68
+          Width = 134
           Height = 25
           Caption = '&Full certificate'
           TabOrder = 2
           OnClick = CertificateViewButtonClick
         end
         object CertificateFingerprintSha1Edit: TEdit
-          Left = 65
-          Top = 43
-          Width = 279
+          Left = 88
+          Top = 45
+          Width = 314
           Height = 17
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -232,26 +228,26 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
       Caption = 'Capabilities'
       ImageIndex = 1
       DesignSize = (
-        363
-        324)
+        424
+        375)
       object InfoGroup: TGroupBox
-        Left = 6
-        Top = 202
-        Width = 351
-        Height = 114
+        Left = 5
+        Top = 236
+        Width = 412
+        Height = 134
         Anchors = [akLeft, akRight, akBottom]
         Caption = 'Additional information'
         TabOrder = 1
         DesignSize = (
-          351
-          114)
+          412
+          134)
         object InfoMemo: TMemo
           Left = 9
-          Top = 17
-          Width = 333
-          Height = 87
+          Top = 22
+          Width = 394
+          Height = 102
           TabStop = False
-          Anchors = [akLeft, akTop, akRight]
+          Anchors = [akLeft, akTop, akRight, akBottom]
           BevelInner = bvNone
           BevelOuter = bvNone
           BorderStyle = bsNone
@@ -264,10 +260,10 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
         end
       end
       object ProtocolView: TListView
-        Left = 6
-        Top = 8
-        Width = 351
-        Height = 187
+        Left = 5
+        Top = 5
+        Width = 412
+        Height = 225
         Anchors = [akLeft, akTop, akRight, akBottom]
         Columns = <
           item
@@ -294,21 +290,21 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
       Caption = 'Space available'
       ImageIndex = 2
       DesignSize = (
-        363
-        324)
+        424
+        375)
       object Label1: TLabel
-        Left = 13
-        Top = 13
-        Width = 26
-        Height = 13
+        Left = 5
+        Top = 8
+        Width = 27
+        Height = 15
         Caption = '&Path:'
         FocusControl = SpaceAvailablePathEdit
       end
       object SpaceAvailableView: TListView
-        Left = 6
-        Top = 40
-        Width = 351
-        Height = 155
+        Left = 5
+        Top = 34
+        Width = 412
+        Height = 196
         Anchors = [akLeft, akTop, akRight, akBottom]
         Columns = <
           item
@@ -333,9 +329,9 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
       end
       object SpaceAvailablePathEdit: TEdit
         Left = 56
-        Top = 9
-        Width = 193
-        Height = 21
+        Top = 5
+        Width = 246
+        Height = 23
         Anchors = [akLeft, akTop, akRight]
         MaxLength = 250
         TabOrder = 0
@@ -344,9 +340,9 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
         OnExit = SpaceAvailablePathEditExit
       end
       object SpaceAvailableButton: TButton
-        Left = 256
-        Top = 7
-        Width = 99
+        Left = 308
+        Top = 4
+        Width = 109
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Check &space'
@@ -357,10 +353,10 @@ object FileSystemInfoDialog: TFileSystemInfoDialog
   end
   object ClipboardButton: TButton
     Left = 8
-    Top = 364
-    Width = 161
+    Top = 411
+    Width = 179
     Height = 25
-    Anchors = [akRight, akBottom]
+    Anchors = [akLeft, akBottom]
     Caption = '&Copy to Clipboard'
     TabOrder = 1
     OnClick = ClipboardButtonClick

+ 89 - 93
source/forms/FullSynchronize.dfm

@@ -6,60 +6,56 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Synchronize'
-  ClientHeight = 477
-  ClientWidth = 481
+  ClientHeight = 492
+  ClientWidth = 534
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    481
-    477)
-  TextHeight = 13
+    534
+    492)
+  TextHeight = 15
   object DirectoriesGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 465
-    Height = 119
+    Top = 8
+    Width = 518
+    Height = 120
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Directories'
     TabOrder = 0
     DesignSize = (
-      465
-      119)
+      518
+      120)
     object LocalDirectoryLabel: TLabel
       Left = 49
-      Top = 19
-      Width = 74
-      Height = 13
+      Top = 22
+      Width = 81
+      Height = 15
       Caption = 'Lo&cal directory:'
       FocusControl = LocalDirectoryEdit
     end
     object RemoteDirectoryLabel: TLabel
       Left = 49
-      Top = 68
-      Width = 87
-      Height = 13
+      Top = 69
+      Width = 94
+      Height = 15
       Caption = 'R&emote directory:'
       FocusControl = RemoteDirectoryEdit
     end
     object Image: TImage
       Left = 11
-      Top = 22
+      Top = 24
       Width = 32
       Height = 32
       AutoSize = True
     end
     object RemoteDirectoryEdit: THistoryComboBox
       Left = 49
-      Top = 84
-      Width = 405
-      Height = 21
+      Top = 87
+      Width = 460
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -69,9 +65,9 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
     object LocalDirectoryEdit: THistoryComboBox
       Left = 49
-      Top = 35
-      Width = 322
-      Height = 21
+      Top = 40
+      Width = 374
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -80,9 +76,9 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
       OnChange = ControlChange
     end
     object LocalDirectoryBrowseButton: TButton
-      Left = 378
-      Top = 33
-      Width = 75
+      Left = 429
+      Top = 39
+      Width = 80
       Height = 25
       Anchors = [akTop, akRight]
       Caption = 'Bro&wse...'
@@ -91,9 +87,9 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
   end
   object OkButton: TButton
-    Left = 220
-    Top = 444
-    Width = 88
+    Left = 260
+    Top = 459
+    Width = 94
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -104,9 +100,9 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     OnDropDownClick = OkButtonDropDownClick
   end
   object CancelButton: TButton
-    Left = 315
-    Top = 444
-    Width = 75
+    Left = 360
+    Top = 459
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -116,18 +112,18 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   end
   object OptionsGroup: TGroupBox
     Left = 8
-    Top = 238
-    Width = 227
+    Top = 244
+    Width = 252
     Height = 121
     Caption = 'Synchronize options'
     TabOrder = 3
     DesignSize = (
-      227
+      252
       121)
     object SynchronizeDeleteCheck: TCheckBox
       Left = 11
-      Top = 20
-      Width = 210
+      Top = 22
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Delete files'
@@ -136,8 +132,8 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
     object SynchronizeSelectedOnlyCheck: TCheckBox
       Left = 11
-      Top = 92
-      Width = 210
+      Top = 91
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Selected files o&nly'
@@ -147,28 +143,28 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     object SynchronizeExistingOnlyCheck: TCheckBox
       Left = 11
       Top = 68
-      Width = 210
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'E&xisting files only'
-      TabOrder = 1
+      TabOrder = 2
       OnClick = ControlChange
     end
     object SynchronizePreviewChangesCheck: TCheckBox
       Left = 11
-      Top = 44
-      Width = 210
+      Top = 45
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Pre&view changes'
-      TabOrder = 2
+      TabOrder = 1
       OnClick = ControlChange
     end
   end
   object TransferSettingsButton: TButton
     Left = 8
-    Top = 444
-    Width = 161
+    Top = 459
+    Width = 175
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = 'Transfer settin&gs...'
@@ -178,16 +174,16 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   end
   object DirectionGroup: TGroupBox
     Left = 8
-    Top = 130
-    Width = 465
+    Top = 134
+    Width = 518
     Height = 49
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Direction/Target directory'
     TabOrder = 1
     object SynchronizeBothButton: TRadioButton
       Left = 11
-      Top = 20
-      Width = 138
+      Top = 22
+      Width = 158
       Height = 17
       Caption = '&Both'
       Checked = True
@@ -196,18 +192,18 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
       OnClick = ControlChange
     end
     object SynchronizeRemoteButton: TRadioButton
-      Left = 155
-      Top = 20
-      Width = 143
+      Left = 175
+      Top = 22
+      Width = 158
       Height = 17
       Caption = '&Remote'
       TabOrder = 1
       OnClick = ControlChange
     end
     object SynchronizeLocalButton: TRadioButton
-      Left = 304
-      Top = 20
-      Width = 154
+      Left = 339
+      Top = 22
+      Width = 170
       Height = 17
       Caption = '&Local'
       TabOrder = 2
@@ -215,20 +211,20 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
   end
   object CompareCriterionsGroup: TGroupBox
-    Left = 245
-    Top = 238
-    Width = 228
+    Left = 274
+    Top = 244
+    Width = 252
     Height = 121
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Comparison criteria'
     TabOrder = 4
     DesignSize = (
-      228
+      252
       121)
     object SynchronizeByTimeCheck: TCheckBox
       Left = 11
-      Top = 20
-      Width = 210
+      Top = 22
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'M&odification time'
@@ -237,8 +233,8 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
     object SynchronizeBySizeCheck: TCheckBox
       Left = 11
-      Top = 44
-      Width = 210
+      Top = 45
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'File si&ze'
@@ -247,8 +243,8 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
     object SynchronizeCaseSensitiveCheck: TCheckBox
       Left = 11
-      Top = 92
-      Width = 210
+      Top = 91
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'C&ase sensitive'
@@ -258,7 +254,7 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     object SynchronizeByChecksumCheck: TCheckBox
       Left = 11
       Top = 68
-      Width = 210
+      Width = 232
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'C&hecksum'
@@ -268,8 +264,8 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   end
   object SaveSettingsCheck: TCheckBox
     Left = 19
-    Top = 365
-    Width = 454
+    Top = 371
+    Width = 507
     Height = 17
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Use &same options next time'
@@ -277,22 +273,22 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   end
   object CopyParamGroup: TGroupBox
     Left = 8
-    Top = 386
-    Width = 465
-    Height = 50
+    Top = 394
+    Width = 518
+    Height = 59
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Transfer settings'
     TabOrder = 6
     OnClick = CopyParamGroupClick
     OnContextPopup = CopyParamGroupContextPopup
     DesignSize = (
-      465
-      50)
+      518
+      59)
     object CopyParamLabel: TLabel
-      Left = 7
-      Top = 15
-      Width = 451
-      Height = 26
+      Left = 9
+      Top = 20
+      Width = 500
+      Height = 35
       Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
       Caption = 'CopyParamLabel'
@@ -302,9 +298,9 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     end
   end
   object HelpButton: TButton
-    Left = 397
-    Top = 444
-    Width = 75
+    Left = 446
+    Top = 459
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -313,8 +309,8 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
   end
   object ModeGroup: TGroupBox
     Left = 8
-    Top = 184
-    Width = 465
+    Top = 189
+    Width = 518
     Height = 49
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Mode'
@@ -322,25 +318,25 @@ object FullSynchronizeDialog: TFullSynchronizeDialog
     object SynchronizeFilesButton: TRadioButton
       Left = 11
       Top = 20
-      Width = 135
+      Width = 158
       Height = 17
       Caption = 'Synchronize &files'
       TabOrder = 0
       OnClick = ControlChange
     end
     object MirrorFilesButton: TRadioButton
-      Left = 155
+      Left = 175
       Top = 20
-      Width = 143
+      Width = 158
       Height = 17
       Caption = '&Mirror files'
       TabOrder = 1
       OnClick = ControlChange
     end
     object SynchronizeTimestampsButton: TRadioButton
-      Left = 304
+      Left = 339
       Top = 20
-      Width = 154
+      Width = 170
       Height = 17
       Caption = 'Synchronize &timestamps'
       TabOrder = 2

+ 2 - 2
source/forms/GenerateUrl.cpp

@@ -892,8 +892,8 @@ void __fastcall TGenerateUrlDialog::Execute()
 
   if (OptionsPageControl->ActivePage != UrlSheet)
   {
-    ClientWidth = ScaleByTextHeightRunTime(this, 700);
-    ClientHeight = ScaleByTextHeightRunTime(this, 600);
+    ClientWidth = ScaleByTextHeightRunTime(this, 777);
+    ClientHeight = ScaleByTextHeightRunTime(this, 666);
   }
 
   ShowModal();

+ 71 - 67
source/forms/GenerateUrl.dfm

@@ -6,27 +6,23 @@ object GenerateUrlDialog: TGenerateUrlDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Generate URL X'
-  ClientHeight = 338
-  ClientWidth = 484
+  ClientHeight = 381
+  ClientWidth = 539
   Color = clBtnFace
   Constraints.MinHeight = 300
-  Constraints.MinWidth = 484
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  Constraints.MinWidth = 500
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    484
-    338)
-  TextHeight = 13
+    539
+    381)
+  TextHeight = 15
   object OptionsPageControl: TPageControl
-    Left = 5
-    Top = 5
-    Width = 475
-    Height = 111
+    Left = 0
+    Top = 0
+    Width = 539
+    Height = 104
     ActivePage = UrlSheet
     Anchors = [akLeft, akTop, akRight]
     TabOrder = 0
@@ -35,9 +31,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       Caption = 'URL'
       object UserNameCheck: TCheckBox
         Tag = 1
-        Left = 11
-        Top = 8
-        Width = 144
+        Left = 7
+        Top = 5
+        Width = 151
         Height = 17
         Caption = '&User name'
         TabOrder = 0
@@ -45,9 +41,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object HostKeyCheck: TCheckBox
         Tag = 4
-        Left = 161
-        Top = 8
-        Width = 144
+        Left = 164
+        Top = 5
+        Width = 151
         Height = 17
         Caption = 'SSH &host Key'
         TabOrder = 3
@@ -55,9 +51,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object WinSCPSpecificCheck: TCheckBox
         Tag = 16
-        Left = 161
-        Top = 31
-        Width = 144
+        Left = 164
+        Top = 28
+        Width = 151
         Height = 17
         Caption = '&WinSCP-specific'
         TabOrder = 4
@@ -65,9 +61,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object SaveExtensionCheck: TCheckBox
         Tag = 32
-        Left = 161
-        Top = 54
-        Width = 144
+        Left = 164
+        Top = 51
+        Width = 151
         Height = 17
         Caption = '&Save extension'
         TabOrder = 5
@@ -75,9 +71,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object RemoteDirectoryCheck: TCheckBox
         Tag = 8
-        Left = 11
-        Top = 54
-        Width = 144
+        Left = 7
+        Top = 51
+        Width = 151
         Height = 17
         Caption = 'Initial &directory'
         TabOrder = 2
@@ -85,9 +81,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object PasswordCheck: TCheckBox
         Tag = 2
-        Left = 11
-        Top = 31
-        Width = 144
+        Left = 7
+        Top = 28
+        Width = 151
         Height = 17
         HelpType = htKeyword
         Caption = '&Password'
@@ -96,9 +92,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
       end
       object RawSettingsCheck: TCheckBox
         Tag = 64
-        Left = 311
-        Top = 8
-        Width = 144
+        Left = 321
+        Top = 5
+        Width = 147
         Height = 17
         Caption = '&Advanced settings'
         TabOrder = 6
@@ -108,29 +104,33 @@ object GenerateUrlDialog: TGenerateUrlDialog
     object ScriptSheet: TTabSheet
       Caption = 'Script'
       ImageIndex = 1
+      DesignSize = (
+        531
+        74)
       object Label2: TLabel
-        Left = 11
+        Left = 5
         Top = 8
-        Width = 38
-        Height = 13
+        Width = 41
+        Height = 15
         Caption = '&Format:'
         FocusControl = ScriptFormatCombo
       end
       object ScriptDescriptionLabel: TLabel
-        Left = 11
+        Left = 5
         Top = 32
-        Width = 446
+        Width = 518
         Height = 42
+        Anchors = [akLeft, akTop, akRight, akBottom]
         AutoSize = False
         Caption = 'ScriptDescriptionLabel'
         ShowAccelChar = False
         WordWrap = True
       end
       object ScriptFormatCombo: TComboBox
-        Left = 112
+        Left = 106
         Top = 5
-        Width = 121
-        Height = 21
+        Width = 134
+        Height = 23
         Style = csDropDownList
         TabOrder = 0
         OnChange = ControlChange
@@ -144,29 +144,33 @@ object GenerateUrlDialog: TGenerateUrlDialog
     object AssemblySheet: TTabSheet
       Caption = '.NET assembly code'
       ImageIndex = 2
+      DesignSize = (
+        531
+        74)
       object Label1: TLabel
-        Left = 11
+        Left = 5
         Top = 8
-        Width = 51
-        Height = 13
+        Width = 55
+        Height = 15
         Caption = '&Language:'
         FocusControl = AssemblyLanguageCombo
       end
       object AssemblyDescriptionLabel: TLabel
-        Left = 11
+        Left = 5
         Top = 32
-        Width = 446
+        Width = 518
         Height = 42
+        Anchors = [akLeft, akTop, akRight, akBottom]
         AutoSize = False
         Caption = 'AssemblyDescriptionLabel'
         ShowAccelChar = False
         WordWrap = True
       end
       object AssemblyLanguageCombo: TComboBox
-        Left = 112
+        Left = 106
         Top = 5
-        Width = 121
-        Height = 21
+        Width = 134
+        Height = 23
         Style = csDropDownList
         TabOrder = 0
         OnChange = ControlChange
@@ -179,20 +183,20 @@ object GenerateUrlDialog: TGenerateUrlDialog
   end
   object ResultGroup: TGroupBox
     Left = 8
-    Top = 122
-    Width = 468
-    Height = 176
+    Top = 110
+    Width = 523
+    Height = 232
     Anchors = [akLeft, akTop, akRight, akBottom]
     Caption = 'ResultX'
     TabOrder = 1
     DesignSize = (
-      468
-      176)
+      523
+      232)
     object ResultMemo: TMemo
       Left = 7
       Top = 15
-      Width = 454
-      Height = 152
+      Width = 509
+      Height = 208
       Anchors = [akLeft, akTop, akRight, akBottom]
       BevelInner = bvNone
       BevelOuter = bvNone
@@ -201,9 +205,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
     end
   end
   object CancelBtn: TButton
-    Left = 318
-    Top = 305
-    Width = 75
+    Left = 365
+    Top = 348
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -212,9 +216,9 @@ object GenerateUrlDialog: TGenerateUrlDialog
     TabOrder = 3
   end
   object HelpButton: TButton
-    Left = 401
-    Top = 305
-    Width = 75
+    Left = 451
+    Top = 348
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -223,8 +227,8 @@ object GenerateUrlDialog: TGenerateUrlDialog
   end
   object ClipboardButton: TButton
     Left = 8
-    Top = 305
-    Width = 165
+    Top = 348
+    Width = 183
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = '&Copy to Clipboard'

+ 33 - 37
source/forms/ImportSessions.dfm

@@ -6,32 +6,28 @@ object ImportSessionsDialog: TImportSessionsDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Import sitesX'
-  ClientHeight = 273
-  ClientWidth = 375
+  ClientHeight = 307
+  ClientWidth = 418
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    375
-    273)
-  TextHeight = 13
+    418
+    307)
+  TextHeight = 15
   object Label: TLabel
     Left = 8
-    Top = 13
-    Width = 61
-    Height = 13
+    Top = 12
+    Width = 68
+    Height = 15
     Caption = '&Import from:'
     FocusControl = SourceComboBox
   end
   object OKButton: TButton
-    Left = 135
-    Top = 242
-    Width = 75
+    Left = 158
+    Top = 274
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -40,9 +36,9 @@ object ImportSessionsDialog: TImportSessionsDialog
     TabOrder = 5
   end
   object CancelButton: TButton
-    Left = 215
-    Top = 242
-    Width = 75
+    Left = 244
+    Top = 274
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -53,8 +49,8 @@ object ImportSessionsDialog: TImportSessionsDialog
   object SessionListView2: TListView
     Left = 8
     Top = 39
-    Width = 361
-    Height = 197
+    Width = 402
+    Height = 229
     Anchors = [akLeft, akTop, akRight, akBottom]
     Checkboxes = True
     Columns = <
@@ -77,8 +73,8 @@ object ImportSessionsDialog: TImportSessionsDialog
   end
   object CheckAllButton: TButton
     Left = 8
-    Top = 242
-    Width = 113
+    Top = 274
+    Width = 125
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = 'Un/check &all'
@@ -86,9 +82,9 @@ object ImportSessionsDialog: TImportSessionsDialog
     OnClick = CheckAllButtonClick
   end
   object HelpButton: TButton
-    Left = 294
-    Top = 242
-    Width = 75
+    Left = 330
+    Top = 274
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -96,10 +92,10 @@ object ImportSessionsDialog: TImportSessionsDialog
     OnClick = HelpButtonClick
   end
   object SourceComboBox: TComboBox
-    Left = 106
-    Top = 10
-    Width = 120
-    Height = 21
+    Left = 116
+    Top = 9
+    Width = 133
+    Height = 23
     Style = csDropDownList
     TabOrder = 0
     OnSelect = SourceComboBoxSelect
@@ -114,8 +110,8 @@ object ImportSessionsDialog: TImportSessionsDialog
   object ErrorPanel: TPanel
     Left = 48
     Top = 92
-    Width = 281
-    Height = 97
+    Width = 321
+    Height = 125
     BevelOuter = bvNone
     Color = clWindow
     ParentBackground = False
@@ -123,8 +119,8 @@ object ImportSessionsDialog: TImportSessionsDialog
     object ErrorLabel: TLabel
       Left = 0
       Top = 0
-      Width = 281
-      Height = 97
+      Width = 321
+      Height = 125
       Align = alClient
       Alignment = taCenter
       Caption = 'ErrorLabel'
@@ -134,7 +130,7 @@ object ImportSessionsDialog: TImportSessionsDialog
     end
   end
   object PasteButton: TButton
-    Left = 232
+    Left = 255
     Top = 8
     Width = 75
     Height = 25
@@ -143,9 +139,9 @@ object ImportSessionsDialog: TImportSessionsDialog
     OnClick = PasteButtonClick
   end
   object BrowseButton: TButton
-    Left = 232
+    Left = 255
     Top = 8
-    Width = 75
+    Width = 80
     Height = 25
     Caption = 'B&rowse...'
     TabOrder = 2

+ 12 - 16
source/forms/License.dfm

@@ -5,23 +5,19 @@ object LicenseDialog: TLicenseDialog
   BorderIcons = [biSystemMenu]
   BorderStyle = bsDialog
   Caption = 'License'
-  ClientHeight = 320
-  ClientWidth = 504
+  ClientHeight = 355
+  ClientWidth = 559
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   DesignSize = (
-    504
-    320)
-  TextHeight = 13
+    559
+    355)
+  TextHeight = 15
   object CloseButton: TButton
-    Left = 421
-    Top = 285
-    Width = 75
+    Left = 471
+    Top = 322
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -33,9 +29,9 @@ object LicenseDialog: TLicenseDialog
   object LicenseMemo: TMemo
     Left = 8
     Top = 8
-    Width = 489
-    Height = 273
-    Anchors = [akLeft, akTop, akRight]
+    Width = 543
+    Height = 308
+    Anchors = [akLeft, akTop, akRight, akBottom]
     Color = clBtnFace
     ReadOnly = True
     ScrollBars = ssVertical

+ 84 - 88
source/forms/LocationProfiles.dfm

@@ -6,33 +6,29 @@ object LocationProfilesDialog: TLocationProfilesDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Location profiles'
-  ClientHeight = 435
-  ClientWidth = 557
+  ClientHeight = 448
+  ClientWidth = 601
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    557
-    435)
-  TextHeight = 13
+    601
+    448)
+  TextHeight = 15
   object LocalDirectoryLabel: TLabel
     Left = 46
     Top = 8
-    Width = 74
-    Height = 13
+    Width = 81
+    Height = 15
     Caption = '&Local directory:'
     FocusControl = LocalDirectoryEdit
   end
   object RemoteDirectoryLabel: TLabel
     Left = 46
-    Top = 56
-    Width = 87
-    Height = 13
+    Top = 55
+    Width = 94
+    Height = 15
     Caption = '&Remote directory:'
     FocusControl = RemoteDirectoryEdit
   end
@@ -44,9 +40,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
     AutoSize = True
   end
   object OKBtn: TButton
-    Left = 303
-    Top = 401
-    Width = 75
+    Left = 341
+    Top = 415
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -55,9 +51,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
     TabOrder = 5
   end
   object CancelBtn: TButton
-    Left = 387
-    Top = 401
-    Width = 75
+    Left = 427
+    Top = 415
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -67,9 +63,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
   end
   object PageControl: TPageControl
     Left = 8
-    Top = 104
-    Width = 539
-    Height = 288
+    Top = 102
+    Width = 585
+    Height = 307
     ActivePage = SessionProfilesSheet
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 3
@@ -77,14 +73,14 @@ object LocationProfilesDialog: TLocationProfilesDialog
       Tag = 1
       Caption = 'Site Location profiles'
       DesignSize = (
-        531
-        260)
+        577
+        277)
       object SessionProfilesView: TTreeView
         Tag = 1
-        Left = 10
-        Top = 9
-        Width = 421
-        Height = 240
+        Left = 5
+        Top = 5
+        Width = 467
+        Height = 266
         Anchors = [akLeft, akTop, akRight, akBottom]
         DoubleBuffered = True
         DragMode = dmAutomatic
@@ -118,9 +114,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object AddSessionBookmarkButton: TButton
         Tag = 1
-        Left = 438
-        Top = 9
-        Width = 83
+        Left = 478
+        Top = 5
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Add...'
@@ -129,9 +125,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object RemoveSessionBookmarkButton: TButton
         Tag = 1
-        Left = 438
-        Top = 41
-        Width = 83
+        Left = 478
+        Top = 36
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Remo&ve'
@@ -140,9 +136,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object DownSessionBookmarkButton: TButton
         Tag = 1
-        Left = 438
-        Top = 224
-        Width = 83
+        Left = 478
+        Top = 246
+        Width = 92
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Down'
@@ -151,9 +147,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object UpSessionBookmarkButton: TButton
         Tag = -1
-        Left = 438
-        Top = 192
-        Width = 83
+        Left = 478
+        Top = 215
+        Width = 92
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Up'
@@ -162,9 +158,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object RenameSessionBookmarkButton: TButton
         Tag = 1
-        Left = 438
-        Top = 73
-        Width = 83
+        Left = 478
+        Top = 67
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Re&name'
@@ -173,9 +169,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object SessionBookmarkMoveToButton: TButton
         Tag = 1
-        Left = 438
-        Top = 105
-        Width = 83
+        Left = 478
+        Top = 98
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Move To...'
@@ -188,14 +184,14 @@ object LocationProfilesDialog: TLocationProfilesDialog
       Caption = 'Shared Location profiles'
       ImageIndex = 1
       DesignSize = (
-        531
-        260)
+        577
+        277)
       object SharedProfilesView: TTreeView
         Tag = 2
-        Left = 10
-        Top = 9
-        Width = 421
-        Height = 240
+        Left = 5
+        Top = 5
+        Width = 467
+        Height = 266
         Anchors = [akLeft, akTop, akRight, akBottom]
         DoubleBuffered = True
         DragMode = dmAutomatic
@@ -230,9 +226,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object AddSharedBookmarkButton: TButton
         Tag = 2
-        Left = 438
-        Top = 9
-        Width = 83
+        Left = 478
+        Top = 5
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Add...'
@@ -241,9 +237,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object RemoveSharedBookmarkButton: TButton
         Tag = 2
-        Left = 438
-        Top = 41
-        Width = 83
+        Left = 478
+        Top = 36
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Remo&ve'
@@ -252,9 +248,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object RenameSharedBookmarkButton: TButton
         Tag = 2
-        Left = 438
-        Top = 73
-        Width = 83
+        Left = 478
+        Top = 67
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Re&name'
@@ -263,9 +259,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object SharedBookmarkMoveToButton: TButton
         Tag = 2
-        Left = 438
-        Top = 105
-        Width = 83
+        Left = 478
+        Top = 98
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Move To...'
@@ -274,9 +270,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object UpSharedBookmarkButton: TButton
         Tag = -2
-        Left = 438
-        Top = 192
-        Width = 83
+        Left = 478
+        Top = 215
+        Width = 92
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Up'
@@ -285,9 +281,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object DownSharedBookmarkButton: TButton
         Tag = 2
-        Left = 438
-        Top = 224
-        Width = 83
+        Left = 478
+        Top = 246
+        Width = 92
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Down'
@@ -296,9 +292,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
       end
       object ShortCutSharedBookmarkButton: TButton
         Tag = 2
-        Left = 438
-        Top = 137
-        Width = 83
+        Left = 478
+        Top = 129
+        Width = 92
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Shortcut...'
@@ -309,9 +305,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
   end
   object LocalDirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 419
-    Height = 21
+    Top = 26
+    Width = 461
+    Height = 23
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
     TabOrder = 0
@@ -322,8 +318,8 @@ object LocationProfilesDialog: TLocationProfilesDialog
   object RemoteDirectoryEdit: THistoryComboBox
     Left = 46
     Top = 73
-    Width = 501
-    Height = 21
+    Width = 547
+    Height = 23
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
     MaxLength = 1000
@@ -333,9 +329,9 @@ object LocationProfilesDialog: TLocationProfilesDialog
     SaveOn = []
   end
   object LocalDirectoryBrowseButton: TButton
-    Left = 470
-    Top = 23
-    Width = 75
+    Left = 513
+    Top = 25
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = 'B&rowse...'
@@ -344,19 +340,19 @@ object LocationProfilesDialog: TLocationProfilesDialog
   end
   object SwitchButton: TButton
     Left = 8
-    Top = 401
+    Top = 415
     Width = 97
     Height = 25
-    Anchors = [akRight, akBottom]
+    Anchors = [akLeft, akBottom]
     Caption = '&Bookmarks...'
     ModalResult = 2
     TabOrder = 4
     OnClick = SwitchButtonClick
   end
   object HelpButton: TButton
-    Left = 471
-    Top = 401
-    Width = 75
+    Left = 513
+    Top = 415
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 160 - 165
source/forms/Login.dfm

@@ -9,22 +9,18 @@ object LoginDialog: TLoginDialog
   ClientWidth = 873
   Color = clBtnFace
   Constraints.MinHeight = 399
-  Constraints.MinWidth = 600
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  Constraints.MinWidth = 640
+  ParentFont = True
   KeyPreview = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
-  TextHeight = 13
+  TextHeight = 15
   object MainPanel: TPanel
-    Left = 512
+    Left = 472
     Top = 0
-    Width = 361
+    Width = 401
     Height = 387
     Align = alRight
     BevelOuter = bvNone
@@ -32,48 +28,48 @@ object LoginDialog: TLoginDialog
     object ContentsPanel: TPanel
       Left = 0
       Top = 0
-      Width = 361
-      Height = 346
+      Width = 401
+      Height = 353
       Align = alClient
       BevelOuter = bvNone
       TabOrder = 0
       Visible = False
       DesignSize = (
-        361
-        346)
+        401
+        353)
       object ContentsGroupBox: TGroupBox
         Left = 2
-        Top = 12
-        Width = 347
-        Height = 331
+        Top = 8
+        Width = 391
+        Height = 342
         Anchors = [akLeft, akTop, akBottom]
         Caption = 'ContentsGroupBox'
         TabOrder = 0
         DesignSize = (
-          347
-          331)
+          391
+          342)
         object ContentsLabel: TLabel
-          Left = 12
-          Top = 20
-          Width = 31
-          Height = 13
+          Left = 8
+          Top = 22
+          Width = 35
+          Height = 15
           Caption = 'Name:'
           ShowAccelChar = False
         end
         object ContentsNameEdit: TEdit
           Left = 66
-          Top = 15
-          Width = 270
-          Height = 21
+          Top = 19
+          Width = 316
+          Height = 23
           Anchors = [akLeft, akTop, akRight]
           TabOrder = 0
           Text = 'ContentsNameEdit'
         end
         object ContentsMemo: TMemo
-          Left = 12
-          Top = 42
-          Width = 324
-          Height = 277
+          Left = 8
+          Top = 48
+          Width = 374
+          Height = 284
           Anchors = [akLeft, akTop, akRight, akBottom]
           Lines.Strings = (
             'ContentsMemo')
@@ -84,98 +80,97 @@ object LoginDialog: TLoginDialog
     object SitePanel: TPanel
       Left = 0
       Top = 0
-      Width = 361
-      Height = 346
+      Width = 401
+      Height = 353
       Align = alClient
-      Anchors = [akTop, akRight, akBottom]
       BevelOuter = bvNone
       TabOrder = 1
       DesignSize = (
-        361
-        346)
+        401
+        353)
       object BasicGroup: TGroupBox
         Left = 2
-        Top = 12
-        Width = 347
-        Height = 260
+        Top = 8
+        Width = 391
+        Height = 258
         Anchors = [akLeft, akTop, akRight]
         Caption = 'Session'
         TabOrder = 0
         DesignSize = (
-          347
-          260)
+          391
+          258)
         object Label1: TLabel
-          Left = 12
-          Top = 72
-          Width = 55
-          Height = 13
+          Left = 8
+          Top = 69
+          Width = 61
+          Height = 15
           Caption = '&Host name:'
           FocusControl = HostNameEdit
         end
         object Label2: TLabel
-          Left = 255
-          Top = 72
-          Width = 63
-          Height = 13
+          Left = 280
+          Top = 69
+          Width = 70
+          Height = 15
           Anchors = [akTop, akRight]
           Caption = 'Po&rt number:'
           FocusControl = PortNumberEdit
         end
         object UserNameLabel: TLabel
-          Left = 12
-          Top = 122
-          Width = 55
-          Height = 13
+          Left = 8
+          Top = 116
+          Width = 59
+          Height = 15
           Caption = '&User name:'
           FocusControl = UserNameEdit
         end
         object PasswordLabel: TLabel
-          Left = 178
-          Top = 122
-          Width = 50
-          Height = 13
+          Left = 198
+          Top = 116
+          Width = 53
+          Height = 15
           Caption = '&Password:'
           FocusControl = PasswordEdit
         end
         object Label22: TLabel
-          Left = 12
+          Left = 8
           Top = 22
-          Width = 62
-          Height = 13
+          Width = 69
+          Height = 15
           Caption = '&File protocol:'
           FocusControl = TransferProtocolCombo
         end
         object FtpsLabel: TLabel
-          Left = 163
+          Left = 178
           Top = 22
-          Width = 55
-          Height = 13
+          Width = 60
+          Height = 15
           Caption = '&Encryption:'
           FocusControl = FtpsCombo
         end
         object WebDavsLabel: TLabel
-          Left = 163
+          Left = 178
           Top = 22
-          Width = 55
-          Height = 13
+          Width = 60
+          Height = 15
           Caption = '&Encryption:'
           FocusControl = WebDavsCombo
         end
         object BasicS3Panel: TPanel
-          Left = 12
-          Top = 195
-          Width = 324
+          Left = 8
+          Top = 192
+          Width = 374
           Height = 31
           Anchors = [akLeft, akTop, akRight]
           BevelOuter = bvNone
           TabOrder = 11
           DesignSize = (
-            324
+            374
             31)
           object S3CredentialsEnvCheck3: TCheckBox
-            Left = 0
-            Top = 2
-            Width = 324
+            Left = 2
+            Top = 3
+            Width = 374
             Height = 17
             Anchors = [akLeft, akTop, akRight]
             Caption = '&Credentials from AWS environment:'
@@ -183,10 +178,10 @@ object LoginDialog: TLoginDialog
             OnClick = S3CredentialsEnvCheck3Click
           end
           object S3ProfileCombo: TComboBox
-            Left = 200
+            Left = 253
             Top = 0
-            Width = 124
-            Height = 21
+            Width = 121
+            Height = 23
             DropDownCount = 16
             TabOrder = 1
             Text = 'S3ProfileCombo'
@@ -194,26 +189,26 @@ object LoginDialog: TLoginDialog
           end
         end
         object EncryptionView: TEdit
-          Left = 163
-          Top = 39
-          Width = 173
-          Height = 21
+          Left = 178
+          Top = 40
+          Width = 204
+          Height = 23
           TabOrder = 4
           OnChange = TransferProtocolComboChange
         end
         object TransferProtocolView: TEdit
-          Left = 12
-          Top = 39
-          Width = 145
-          Height = 21
+          Left = 8
+          Top = 40
+          Width = 164
+          Height = 23
           TabOrder = 1
           OnChange = TransferProtocolComboChange
         end
         object HostNameEdit: TEdit
-          Left = 12
-          Top = 89
-          Width = 236
-          Height = 21
+          Left = 8
+          Top = 87
+          Width = 266
+          Height = 23
           Anchors = [akLeft, akTop, akRight]
           MaxLength = 255
           TabOrder = 5
@@ -222,20 +217,20 @@ object LoginDialog: TLoginDialog
           OnExit = HostNameEditExit
         end
         object UserNameEdit: TEdit
-          Left = 12
-          Top = 139
-          Width = 159
-          Height = 21
+          Left = 8
+          Top = 134
+          Width = 184
+          Height = 23
           MaxLength = 128
           TabOrder = 7
           Text = 'UserNameEdit'
           OnChange = DataChange
         end
         object PasswordEdit: TPasswordEdit
-          Left = 177
-          Top = 139
-          Width = 159
-          Height = 21
+          Left = 198
+          Top = 134
+          Width = 184
+          Height = 23
           Anchors = [akLeft, akTop, akRight]
           MaxLength = 100
           TabOrder = 8
@@ -243,10 +238,10 @@ object LoginDialog: TLoginDialog
           OnChange = DataChange
         end
         object PortNumberEdit: TUpDownEdit
-          Left = 254
-          Top = 89
-          Width = 82
-          Height = 21
+          Left = 280
+          Top = 87
+          Width = 102
+          Height = 23
           Alignment = taRightJustify
           MaxValue = 65535.000000000000000000
           MinValue = 1.000000000000000000
@@ -255,10 +250,10 @@ object LoginDialog: TLoginDialog
           OnChange = PortNumberEditChange
         end
         object TransferProtocolCombo: TComboBox
-          Left = 12
-          Top = 39
-          Width = 145
-          Height = 21
+          Left = 8
+          Top = 40
+          Width = 164
+          Height = 23
           Style = csDropDownList
           TabOrder = 0
           OnChange = TransferProtocolComboChange
@@ -270,10 +265,10 @@ object LoginDialog: TLoginDialog
             'Amazon S3')
         end
         object FtpsCombo: TComboBox
-          Left = 163
-          Top = 39
-          Width = 173
-          Height = 21
+          Left = 178
+          Top = 40
+          Width = 204
+          Height = 23
           Style = csDropDownList
           TabOrder = 2
           OnChange = EncryptionComboChange
@@ -283,10 +278,10 @@ object LoginDialog: TLoginDialog
             'TLS/SSL Explicit encryptionX')
         end
         object WebDavsCombo: TComboBox
-          Left = 163
-          Top = 39
-          Width = 173
-          Height = 21
+          Left = 178
+          Top = 40
+          Width = 204
+          Height = 23
           Style = csDropDownList
           TabOrder = 3
           OnChange = EncryptionComboChange
@@ -295,17 +290,17 @@ object LoginDialog: TLoginDialog
             'TLS/SSL Implicit encryptionX')
         end
         object BasicFtpPanel: TPanel
-          Left = 12
-          Top = 169
-          Width = 324
+          Left = 8
+          Top = 166
+          Width = 374
           Height = 26
           Anchors = [akLeft, akTop, akRight]
           BevelOuter = bvNone
           TabOrder = 9
           object AnonymousLoginCheck: TCheckBox
-            Left = 0
+            Left = 2
             Top = 0
-            Width = 170
+            Width = 182
             Height = 17
             Caption = 'A&nonymous login'
             TabOrder = 0
@@ -315,16 +310,16 @@ object LoginDialog: TLoginDialog
         object BasicSshPanel: TPanel
           Left = 12
           Top = 198
-          Width = 347
+          Width = 391
           Height = 0
           Anchors = [akLeft, akTop, akRight]
           BevelOuter = bvNone
           TabOrder = 10
         end
         object AdvancedButton: TButton
-          Left = 238
-          Top = 224
-          Width = 98
+          Left = 274
+          Top = 221
+          Width = 108
           Height = 25
           Action = SessionAdvancedAction
           Anchors = [akRight, akBottom]
@@ -333,9 +328,9 @@ object LoginDialog: TLoginDialog
           OnDropDownClick = AdvancedButtonDropDownClick
         end
         object SaveButton: TButton
-          Left = 12
-          Top = 224
-          Width = 98
+          Left = 8
+          Top = 221
+          Width = 108
           Height = 25
           Action = SaveSessionAction
           Anchors = [akLeft, akBottom]
@@ -344,9 +339,9 @@ object LoginDialog: TLoginDialog
           OnDropDownClick = SaveButtonDropDownClick
         end
         object EditCancelButton: TButton
-          Left = 116
-          Top = 224
-          Width = 82
+          Left = 122
+          Top = 221
+          Width = 80
           Height = 25
           Action = EditCancelAction
           Anchors = [akLeft, akBottom]
@@ -354,9 +349,9 @@ object LoginDialog: TLoginDialog
           OnDropDownClick = SaveButtonDropDownClick
         end
         object EditButton: TButton
-          Left = 12
-          Top = 224
-          Width = 98
+          Left = 8
+          Top = 221
+          Width = 108
           Height = 25
           Action = EditSessionAction
           Anchors = [akLeft, akBottom]
@@ -366,20 +361,20 @@ object LoginDialog: TLoginDialog
       end
       object NoteGroup: TGroupBox
         Left = 2
-        Top = 278
-        Width = 347
-        Height = 65
+        Top = 272
+        Width = 391
+        Height = 78
         Anchors = [akLeft, akTop, akRight, akBottom]
         Caption = 'Note'
         TabOrder = 1
         DesignSize = (
-          347
-          65)
+          391
+          78)
         object NoteMemo: TMemo
-          Left = 7
-          Top = 15
-          Width = 333
-          Height = 41
+          Left = 8
+          Top = 17
+          Width = 375
+          Height = 52
           TabStop = False
           Anchors = [akLeft, akTop, akRight, akBottom]
           BevelInner = bvNone
@@ -394,20 +389,20 @@ object LoginDialog: TLoginDialog
     end
     object ButtonPanel: TPanel
       Left = 0
-      Top = 346
-      Width = 361
-      Height = 41
+      Top = 353
+      Width = 401
+      Height = 34
       Align = alBottom
       BevelOuter = bvNone
       TabOrder = 2
       OnMouseDown = PanelMouseDown
       DesignSize = (
-        361
-        41)
+        401
+        34)
       object LoginButton: TButton
-        Left = 75
-        Top = 10
-        Width = 98
+        Left = 113
+        Top = 3
+        Width = 108
         Height = 25
         Action = LoginAction
         Anchors = [akRight, akBottom]
@@ -419,9 +414,9 @@ object LoginDialog: TLoginDialog
         OnDropDownClick = LoginButtonDropDownClick
       end
       object CloseButton: TButton
-        Left = 179
-        Top = 10
-        Width = 82
+        Left = 227
+        Top = 3
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Cancel = True
@@ -430,9 +425,9 @@ object LoginDialog: TLoginDialog
         TabOrder = 1
       end
       object HelpButton: TButton
-        Left = 267
-        Top = 10
-        Width = 82
+        Left = 313
+        Top = 3
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = 'Help'
@@ -444,19 +439,19 @@ object LoginDialog: TLoginDialog
   object SitesPanel: TPanel
     Left = 0
     Top = 0
-    Width = 512
+    Width = 472
     Height = 387
     Align = alClient
     BevelOuter = bvNone
     TabOrder = 2
     DesignSize = (
-      512
+      472
       387)
     object SessionTree: TTreeView
-      Left = 11
-      Top = 12
-      Width = 490
-      Height = 338
+      Left = 8
+      Top = 8
+      Width = 456
+      Height = 342
       Anchors = [akLeft, akTop, akRight, akBottom]
       DoubleBuffered = True
       DragMode = dmAutomatic
@@ -490,9 +485,9 @@ object LoginDialog: TLoginDialog
       OnStartDrag = SessionTreeStartDrag
     end
     object ManageButton: TButton
-      Left = 403
+      Left = 356
       Top = 356
-      Width = 98
+      Width = 108
       Height = 25
       Anchors = [akRight, akBottom]
       Caption = '&Manage'
@@ -500,9 +495,9 @@ object LoginDialog: TLoginDialog
       OnClick = ManageButtonClick
     end
     object ToolsMenuButton: TButton
-      Left = 11
+      Left = 8
       Top = 356
-      Width = 98
+      Width = 108
       Height = 25
       Anchors = [akLeft, akBottom]
       Caption = '&Tools'
@@ -512,7 +507,7 @@ object LoginDialog: TLoginDialog
     object SitesIncrementalSearchPanel: TPanel
       Left = 26
       Top = 309
-      Width = 183
+      Width = 139
       Height = 23
       Anchors = [akLeft, akRight, akBottom]
       BevelOuter = bvNone
@@ -522,7 +517,7 @@ object LoginDialog: TLoginDialog
       object SitesIncrementalSearchBorderLabel: TStaticText
         Left = 0
         Top = 0
-        Width = 183
+        Width = 139
         Height = 23
         Align = alClient
         AutoSize = False
@@ -532,8 +527,8 @@ object LoginDialog: TLoginDialog
       object SitesIncrementalSearchLabel: TStaticText
         Left = 5
         Top = 4
-        Width = 142
-        Height = 17
+        Width = 154
+        Height = 19
         Caption = 'SitesIncrementalSearchLabel'
         ShowAccelChar = False
         TabOrder = 1

+ 4 - 7
source/forms/MessageDlg.cpp

@@ -451,7 +451,7 @@ const ResourceString * Captions[] = { &_SMsgDlgWarning, &_SMsgDlgError, &_SMsgDl
   &_SMsgDlgConfirm, NULL };
 const wchar_t * ImageNames[] = { L"Warning", L"Error", L"Information",
   L"Help Blue", NULL };
-const int mcHorzMargin = 10;
+const int mcHorzMargin = 8;
 const int mcVertMargin = 13;
 const int mcHorzSpacing = 12;
 const int mcButtonVertMargin = 7;
@@ -608,11 +608,8 @@ TButton * __fastcall TMessageForm::CreateButton(
       Button->Anchors = TAnchors() << akBottom << akLeft;
     }
 
-    // never shrink buttons below their default width
-    if (Button->Width < CurButtonWidth)
-    {
-      Button->Width = CurButtonWidth;
-    }
+    // never shrink buttons below our default UI button with
+    Button->Width = std::max(ScaleByTextHeightRunTime(this, 80), CurButtonWidth);
 
     Button->ElevationRequired = ElevationRequired;
     ButtonWidths += Button->Width;
@@ -1213,7 +1210,7 @@ TForm * __fastcall TMessageForm::Create(const UnicodeString & Msg,
     TButton * FirstButton = ButtonControls[0];
     int NeverAskAgainHeight = ScaleByTextHeightRunTime(Result, Result->NeverAskAgainCheck->Height);
     int NeverAskAgainTop = FirstButton->Top + ((FirstButton->Height - NeverAskAgainHeight) / 2);
-    int NeverAskAgainLeft = HorzMargin;
+    int NeverAskAgainLeft = HorzMargin + ScaleByTextHeightRunTime(Result, 2); // checkbox indentation
 
     Result->NeverAskAgainCheck->SetBounds(
       NeverAskAgainLeft, NeverAskAgainTop, NeverAskAgainBaseWidth, NeverAskAgainHeight);

+ 2 - 6
source/forms/MessageDlg.dfm

@@ -7,12 +7,8 @@ object MessageForm: TMessageForm
   ClientHeight = 41
   ClientWidth = 326
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
-  TextHeight = 13
+  TextHeight = 15
 end

+ 72 - 76
source/forms/OpenDirectory.dfm

@@ -6,25 +6,21 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Open directory'
-  ClientHeight = 334
-  ClientWidth = 405
+  ClientHeight = 342
+  ClientWidth = 450
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    405
-    334)
-  TextHeight = 13
+    450
+    342)
+  TextHeight = 15
   object EditLabel: TLabel
     Left = 46
     Top = 8
-    Width = 76
-    Height = 13
+    Width = 82
+    Height = 15
     Caption = '&Open directory:'
   end
   object Image: TImage
@@ -36,9 +32,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
   end
   object LocalDirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 270
-    Height = 21
+    Top = 26
+    Width = 310
+    Height = 23
     Anchors = [akLeft, akTop, akRight]
     TabOrder = 1
     Text = 'LocalDirectoryEdit'
@@ -47,9 +43,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
   end
   object RemoteDirectoryEdit: THistoryComboBox
     Left = 46
-    Top = 25
-    Width = 351
-    Height = 21
+    Top = 26
+    Width = 396
+    Height = 23
     Anchors = [akLeft, akTop, akRight]
     DropDownCount = 16
     MaxLength = 1000
@@ -59,9 +55,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
     SaveOn = []
   end
   object OKBtn: TButton
-    Left = 159
-    Top = 300
-    Width = 75
+    Left = 190
+    Top = 309
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -70,9 +66,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
     TabOrder = 5
   end
   object CancelBtn: TButton
-    Left = 239
-    Top = 300
-    Width = 75
+    Left = 276
+    Top = 309
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -82,9 +78,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
   end
   object PageControl: TPageControl
     Left = 8
-    Top = 56
-    Width = 386
-    Height = 235
+    Top = 55
+    Width = 434
+    Height = 248
     ActivePage = SessionBookmarksSheet
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 3
@@ -93,17 +89,17 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       Tag = 1
       Caption = 'Site bookmarks'
       DesignSize = (
-        378
-        207)
+        426
+        218)
       object SessionBookmarksList: TListBox
         Tag = 1
-        Left = 10
-        Top = 9
-        Width = 268
-        Height = 187
+        Left = 5
+        Top = 5
+        Width = 328
+        Height = 207
         Anchors = [akLeft, akTop, akRight, akBottom]
         DragMode = dmAutomatic
-        ItemHeight = 13
+        ItemHeight = 15
         TabOrder = 0
         OnClick = BookmarksListClick
         OnDblClick = BookmarksListDblClick
@@ -115,9 +111,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object AddSessionBookmarkButton: TButton
         Tag = 1
-        Left = 285
-        Top = 9
-        Width = 83
+        Left = 339
+        Top = 5
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Add'
@@ -126,9 +122,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object RemoveSessionBookmarkButton: TButton
         Tag = 1
-        Left = 285
-        Top = 41
-        Width = 83
+        Left = 339
+        Top = 36
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = 'Remo&ve'
@@ -137,9 +133,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object UpSessionBookmarkButton: TButton
         Tag = -1
-        Left = 285
-        Top = 139
-        Width = 83
+        Left = 339
+        Top = 156
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Up'
@@ -148,9 +144,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object DownSessionBookmarkButton: TButton
         Tag = 1
-        Left = 285
-        Top = 171
-        Width = 83
+        Left = 339
+        Top = 187
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Down'
@@ -163,17 +159,17 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       Caption = 'Shared bookmarks'
       ImageIndex = 1
       DesignSize = (
-        378
-        207)
+        426
+        218)
       object SharedBookmarksList: TListBox
         Tag = 2
-        Left = 10
-        Top = 9
-        Width = 268
-        Height = 187
+        Left = 5
+        Top = 5
+        Width = 328
+        Height = 207
         Anchors = [akLeft, akTop, akRight, akBottom]
         DragMode = dmAutomatic
-        ItemHeight = 13
+        ItemHeight = 15
         TabOrder = 0
         OnClick = BookmarksListClick
         OnDblClick = BookmarksListDblClick
@@ -185,9 +181,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object AddSharedBookmarkButton: TButton
         Tag = 2
-        Left = 285
-        Top = 9
-        Width = 83
+        Left = 339
+        Top = 5
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Add'
@@ -196,9 +192,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object RemoveSharedBookmarkButton: TButton
         Tag = 2
-        Left = 285
-        Top = 41
-        Width = 83
+        Left = 339
+        Top = 36
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Remove'
@@ -207,9 +203,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object UpSharedBookmarkButton: TButton
         Tag = -2
-        Left = 285
-        Top = 139
-        Width = 83
+        Left = 339
+        Top = 156
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Up'
@@ -218,9 +214,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object DownSharedBookmarkButton: TButton
         Tag = 2
-        Left = 285
-        Top = 171
-        Width = 83
+        Left = 339
+        Top = 187
+        Width = 80
         Height = 25
         Anchors = [akRight, akBottom]
         Caption = '&Down'
@@ -229,9 +225,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
       end
       object ShortCutSharedBookmarkButton: TButton
         Tag = 2
-        Left = 285
-        Top = 73
-        Width = 83
+        Left = 339
+        Top = 67
+        Width = 80
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Shortcut...'
@@ -241,9 +237,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
     end
   end
   object LocalDirectoryBrowseButton: TButton
-    Left = 320
-    Top = 23
-    Width = 75
+    Left = 362
+    Top = 25
+    Width = 80
     Height = 25
     Anchors = [akTop, akRight]
     Caption = 'B&rowse...'
@@ -252,8 +248,8 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
   end
   object SwitchButton: TButton
     Left = 8
-    Top = 300
-    Width = 121
+    Top = 309
+    Width = 134
     Height = 25
     Anchors = [akLeft, akBottom]
     Caption = '&Location Profiles...'
@@ -262,9 +258,9 @@ object OpenDirectoryDialog: TOpenDirectoryDialog
     OnClick = SwitchButtonClick
   end
   object HelpButton: TButton
-    Left = 320
-    Top = 300
-    Width = 75
+    Left = 362
+    Top = 309
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 2 - 2
source/forms/Preferences.cpp

@@ -1411,7 +1411,7 @@ void __fastcall TPreferencesDialog::UpdateControls()
     }
     EnableControl(DDDrivesMemo, DDFakeFileEnabledButton->Checked);
     EnableControl(DDDrivesLabel, DDDrivesMemo->Enabled);
-    EnableControl(DDFakeFileDisabledPanel, DDFakeFileDisabledButton->Checked);
+    EnableControl(DDWarnLackOfTempSpaceCheck, DDFakeFileDisabledButton->Checked);
     EnableControl(DDTemporaryDirectoryEdit, DDCustomTemporaryDirectoryButton->Enabled &&
       DDCustomTemporaryDirectoryButton->Checked);
     EnableControl(ConfirmTemporaryDirectoryCleanupCheck,
@@ -2763,7 +2763,7 @@ void __fastcall TPreferencesDialog::AddExtension()
   std::unique_ptr<TStrings> History(CloneStrings(CustomWinConfiguration->History[HistoryKey]));
   UnicodeString Path;
   if (InputDialog(LoadStr(ADD_EXTENSION_CAPTION), LoadStr(ADD_EXTENSION_PROMPT), Path,
-        HELP_ADD_EXTENSION, History.get(), true, NULL, true, 400) &&
+        HELP_ADD_EXTENSION, History.get(), true, NULL, true, 444) &&
       !Path.IsEmpty())
   {
     CustomWinConfiguration->History[HistoryKey] = History.get();

文件差异内容过多而无法显示
+ 249 - 249
source/forms/Preferences.dfm


+ 0 - 1
source/forms/Preferences.h

@@ -87,7 +87,6 @@ __published:
   TLabel *DDFakeFileDisabledLabel;
   TRadioButton *DDFakeFileEnabledButton;
   TRadioButton *DDFakeFileDisabledButton;
-  TPanel *DDFakeFileDisabledPanel;
   TCheckBox *DDWarnLackOfTempSpaceCheck;
   TCheckBox *ConfirmExitOnCompletionCheck;
   TTabSheet *QueueSheet;

+ 58 - 62
source/forms/Progress.dfm

@@ -6,22 +6,18 @@ object ProgressForm: TProgressForm
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Operation'
-  ClientHeight = 291
-  ClientWidth = 360
+  ClientHeight = 294
+  ClientWidth = 398
   Color = clWindow
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   PopupMode = pmAuto
   Position = poOwnerFormCenter
   OnHide = FormHide
   OnShow = FormShow
   DesignSize = (
-    360
-    291)
-  TextHeight = 13
+    398
+    294)
+  TextHeight = 15
   object AnimationPaintBox: TPaintBox
     Left = 8
     Top = 11
@@ -31,28 +27,28 @@ object ProgressForm: TProgressForm
   object MainPanel: TPanel
     Left = 50
     Top = 7
-    Width = 302
-    Height = 68
+    Width = 340
+    Height = 69
     Anchors = [akLeft, akTop, akRight]
     BevelOuter = bvNone
     ParentColor = True
     TabOrder = 0
     DesignSize = (
-      302
-      68)
+      340
+      69)
     object PathLabel: TLabel
       Left = 0
       Top = 7
-      Width = 26
-      Height = 13
+      Width = 28
+      Height = 15
       Caption = 'FileX:'
       ShowAccelChar = False
     end
     object FileLabel: TPathLabel
       Left = 56
       Top = 7
-      Width = 246
-      Height = 13
+      Width = 284
+      Height = 15
       IndentHorizontal = 0
       IndentVertical = 0
       Align = alNone
@@ -61,17 +57,17 @@ object ProgressForm: TProgressForm
     end
     object TargetLabel: TLabel
       Left = 0
-      Top = 23
+      Top = 25
       Width = 36
-      Height = 13
+      Height = 15
       Caption = 'Target:'
       ShowAccelChar = False
     end
     object TargetPathLabel: TPathLabel
       Left = 56
-      Top = 23
-      Width = 246
-      Height = 13
+      Top = 25
+      Width = 284
+      Height = 15
       IndentHorizontal = 0
       IndentVertical = 0
       Align = alNone
@@ -80,8 +76,8 @@ object ProgressForm: TProgressForm
     end
     object OperationProgress: TProgressBar
       Left = 0
-      Top = 42
-      Width = 302
+      Top = 43
+      Width = 340
       Height = 16
       Anchors = [akLeft, akTop, akRight]
       ParentShowHint = False
@@ -91,28 +87,28 @@ object ProgressForm: TProgressForm
   end
   object TransferPanel: TPanel
     Left = 50
-    Top = 75
-    Width = 322
-    Height = 63
+    Top = 76
+    Width = 360
+    Height = 64
     Anchors = [akLeft, akTop, akRight]
     BevelOuter = bvNone
     ParentColor = True
     TabOrder = 1
     DesignSize = (
-      322
-      63)
+      360
+      64)
     object StartTimeLabel: TLabel
-      Left = 88
+      Left = 104
       Top = 2
       Width = 65
-      Height = 13
+      Height = 15
       Alignment = taRightJustify
       AutoSize = False
       Caption = '00:00:00'
       ShowAccelChar = False
     end
     object TimeLeftLabel: TLabel
-      Left = 88
+      Left = 104
       Top = 2
       Width = 65
       Height = 13
@@ -124,16 +120,16 @@ object ProgressForm: TProgressForm
     object TimeLeftLabelLabel: TLabel
       Left = 0
       Top = 2
-      Width = 45
-      Height = 13
+      Width = 50
+      Height = 15
       Caption = 'Time left:'
       ShowAccelChar = False
     end
     object CPSLabel: TLabel
-      Left = 237
-      Top = 18
-      Width = 65
-      Height = 13
+      Left = 266
+      Top = 20
+      Width = 74
+      Height = 15
       Alignment = taRightJustify
       Anchors = [akTop, akRight]
       AutoSize = False
@@ -141,10 +137,10 @@ object ProgressForm: TProgressForm
       ShowAccelChar = False
     end
     object TimeElapsedLabel: TLabel
-      Left = 237
+      Left = 266
       Top = 2
-      Width = 65
-      Height = 13
+      Width = 74
+      Height = 15
       Alignment = taRightJustify
       Anchors = [akTop, akRight]
       AutoSize = False
@@ -152,20 +148,20 @@ object ProgressForm: TProgressForm
       ShowAccelChar = False
     end
     object BytesTransferredLabel: TLabel
-      Left = 88
-      Top = 18
+      Left = 104
+      Top = 20
       Width = 65
-      Height = 13
+      Height = 15
       Alignment = taRightJustify
       AutoSize = False
       Caption = '0 KB'
       ShowAccelChar = False
     end
     object Label3: TLabel
-      Left = 165
+      Left = 190
       Top = 2
-      Width = 66
-      Height = 13
+      Width = 73
+      Height = 15
       Anchors = [akTop, akRight]
       Caption = 'Time elapsed:'
       ShowAccelChar = False
@@ -173,32 +169,32 @@ object ProgressForm: TProgressForm
     object StartTimeLabelLabel: TLabel
       Left = 0
       Top = 2
-      Width = 51
-      Height = 13
+      Width = 54
+      Height = 15
       Caption = 'Start time:'
       ShowAccelChar = False
     end
     object Label4: TLabel
       Left = 0
-      Top = 18
-      Width = 89
-      Height = 13
+      Top = 20
+      Width = 91
+      Height = 15
       Caption = 'Bytes transferred:'
       ShowAccelChar = False
     end
     object Label12: TLabel
-      Left = 165
-      Top = 18
-      Width = 34
-      Height = 13
+      Left = 190
+      Top = 20
+      Width = 35
+      Height = 15
       Anchors = [akTop, akRight]
       Caption = 'Speed:'
       ShowAccelChar = False
     end
     object FileProgress: TProgressBar
       Left = 0
-      Top = 37
-      Width = 302
+      Top = 38
+      Width = 340
       Height = 16
       Anchors = [akLeft, akTop, akRight]
       ParentShowHint = False
@@ -208,7 +204,7 @@ object ProgressForm: TProgressForm
   end
   object ToolbarPanel: TPanel
     Left = 50
-    Top = 142
+    Top = 145
     Width = 302
     Height = 28
     Anchors = [akLeft, akBottom]
@@ -305,8 +301,8 @@ object ProgressForm: TProgressForm
   end
   object ComponentsPanel: TPanel
     Left = 0
-    Top = 181
-    Width = 360
+    Top = 184
+    Width = 398
     Height = 110
     Align = alBottom
     BevelEdges = [beTop]

+ 121 - 125
source/forms/Properties.dfm

@@ -6,25 +6,21 @@ object PropertiesDialog: TPropertiesDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Properties'
-  ClientHeight = 416
-  ClientWidth = 357
+  ClientHeight = 424
+  ClientWidth = 398
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    357
-    416)
-  TextHeight = 13
+    398
+    424)
+  TextHeight = 15
   object OkButton: TButton
-    Left = 99
-    Top = 386
-    Width = 75
+    Left = 138
+    Top = 391
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -33,9 +29,9 @@ object PropertiesDialog: TPropertiesDialog
     TabOrder = 1
   end
   object CancelButton: TButton
-    Left = 187
-    Top = 386
-    Width = 75
+    Left = 224
+    Top = 391
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -44,10 +40,10 @@ object PropertiesDialog: TPropertiesDialog
     TabOrder = 2
   end
   object PageControl: TPageControl
-    Left = 5
-    Top = 5
-    Width = 346
-    Height = 374
+    Left = 0
+    Top = 0
+    Width = 398
+    Height = 385
     ActivePage = CommonSheet
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 0
@@ -55,99 +51,99 @@ object PropertiesDialog: TPropertiesDialog
     object CommonSheet: TTabSheet
       Caption = 'Common'
       DesignSize = (
-        338
-        346)
+        390
+        355)
       object Bevel1: TBevel
-        Left = 8
-        Top = 47
-        Width = 320
+        Left = 5
+        Top = 44
+        Width = 378
         Height = 9
         Anchors = [akLeft, akTop, akRight]
         Shape = bsTopLine
       end
       object Label1: TLabel
-        Left = 8
-        Top = 58
-        Width = 44
-        Height = 13
+        Left = 5
+        Top = 55
+        Width = 49
+        Height = 15
         Caption = 'Location:'
         ShowAccelChar = False
       end
       object Label2: TLabel
-        Left = 8
-        Top = 80
+        Left = 5
+        Top = 78
         Width = 23
-        Height = 13
+        Height = 15
         Caption = 'Size:'
         ShowAccelChar = False
       end
       object LinksToLabelLabel: TLabel
-        Left = 8
-        Top = 102
-        Width = 40
-        Height = 13
+        Left = 5
+        Top = 101
+        Width = 44
+        Height = 15
         Caption = 'Links to:'
         ShowAccelChar = False
       end
       object Bevel2: TBevel
-        Left = 8
-        Top = 125
-        Width = 320
+        Left = 5
+        Top = 124
+        Width = 378
         Height = 9
         Anchors = [akLeft, akTop, akRight]
         Shape = bsTopLine
       end
       object RightsLabel: TLabel
-        Left = 8
-        Top = 203
-        Width = 59
-        Height = 13
+        Left = 5
+        Top = 201
+        Width = 66
+        Height = 15
         Caption = 'Permissions:'
         FocusControl = RightsFrame
       end
       object GroupOwnerRightsBevel: TBevel
-        Left = 8
-        Top = 193
-        Width = 320
+        Left = 5
+        Top = 190
+        Width = 378
         Height = 9
         Anchors = [akLeft, akTop, akRight]
         Shape = bsTopLine
       end
       object GroupLabel: TLabel
-        Left = 8
-        Top = 166
-        Width = 33
-        Height = 13
+        Left = 5
+        Top = 162
+        Width = 36
+        Height = 15
         Caption = 'Group:'
         FocusControl = GroupComboBox
       end
       object OwnerLabel: TLabel
-        Left = 8
-        Top = 138
-        Width = 36
-        Height = 13
+        Left = 5
+        Top = 136
+        Width = 38
+        Height = 15
         Caption = 'Owner:'
         FocusControl = OwnerComboBox
       end
       object FileIconImage: TImage
-        Left = 11
-        Top = 8
+        Left = 8
+        Top = 5
         Width = 32
         Height = 32
         AutoSize = True
       end
       object RecursiveBevel: TBevel
-        Left = 8
-        Top = 312
-        Width = 320
+        Left = 5
+        Top = 322
+        Width = 378
         Height = 9
         Anchors = [akLeft, akTop, akRight]
         Shape = bsTopLine
       end
       object LocationLabel: TEdit
-        Left = 85
-        Top = 58
-        Width = 241
+        Left = 90
+        Top = 55
+        Width = 293
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -157,9 +153,9 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'LocationLabel'
       end
       object FileLabel: TEdit
-        Left = 85
-        Top = 18
-        Width = 241
+        Left = 90
+        Top = 13
+        Width = 293
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -169,9 +165,9 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'FileLabel'
       end
       object SizeLabel: TEdit
-        Left = 85
-        Top = 80
-        Width = 160
+        Left = 90
+        Top = 78
+        Width = 215
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -181,9 +177,9 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'SizeLabel'
       end
       object LinksToLabel: TEdit
-        Left = 85
-        Top = 102
-        Width = 241
+        Left = 90
+        Top = 101
+        Width = 293
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -193,9 +189,9 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'LinksToLabel'
       end
       object GroupView: TEdit
-        Left = 85
-        Top = 166
-        Width = 241
+        Left = 90
+        Top = 162
+        Width = 293
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -205,9 +201,9 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'GroupView'
       end
       object OwnerView: TEdit
-        Left = 85
-        Top = 138
-        Width = 241
+        Left = 90
+        Top = 136
+        Width = 293
         Height = 17
         TabStop = False
         Anchors = [akLeft, akTop, akRight]
@@ -217,17 +213,17 @@ object PropertiesDialog: TPropertiesDialog
         Text = 'OwnerView'
       end
       inline RightsFrame: TRightsFrame
-        Left = 81
-        Top = 199
-        Width = 247
-        Height = 109
+        Left = 89
+        Top = 194
+        Width = 258
+        Height = 128
         TabOrder = 5
       end
       object GroupComboBox: TComboBox
-        Left = 85
-        Top = 163
-        Width = 161
-        Height = 21
+        Left = 90
+        Top = 159
+        Width = 179
+        Height = 23
         DropDownCount = 16
         MaxLength = 50
         TabOrder = 3
@@ -236,10 +232,10 @@ object PropertiesDialog: TPropertiesDialog
         OnExit = GroupComboBoxExit
       end
       object OwnerComboBox: TComboBox
-        Left = 85
-        Top = 135
-        Width = 161
-        Height = 21
+        Left = 90
+        Top = 133
+        Width = 179
+        Height = 23
         DropDownCount = 16
         MaxLength = 50
         TabOrder = 1
@@ -248,9 +244,9 @@ object PropertiesDialog: TPropertiesDialog
         OnExit = OwnerComboBoxExit
       end
       object RecursiveCheck2: TCheckBox
-        Left = 12
-        Top = 322
-        Width = 317
+        Left = 8
+        Top = 332
+        Width = 375
         Height = 17
         Anchors = [akLeft, akTop, akRight]
         Caption = 'Set owner, group and permissions &recursively'
@@ -258,7 +254,7 @@ object PropertiesDialog: TPropertiesDialog
         OnClick = ControlChange
       end
       object CalculateSizeButton: TButton
-        Left = 248
+        Left = 303
         Top = 72
         Width = 80
         Height = 25
@@ -272,21 +268,21 @@ object PropertiesDialog: TPropertiesDialog
       Caption = 'Checksum'
       ImageIndex = 1
       DesignSize = (
-        338
-        346)
+        390
+        355)
       object Label6: TLabel
-        Left = 13
-        Top = 13
-        Width = 49
-        Height = 13
+        Left = 5
+        Top = 8
+        Width = 57
+        Height = 15
         Caption = '&Algorithm:'
         FocusControl = ChecksumAlgEdit
       end
       object ChecksumView: TListView
-        Left = 6
-        Top = 40
-        Width = 326
-        Height = 297
+        Left = 5
+        Top = 34
+        Width = 378
+        Height = 315
         Anchors = [akLeft, akTop, akRight, akBottom]
         Columns = <
           item
@@ -309,10 +305,10 @@ object PropertiesDialog: TPropertiesDialog
         OnContextPopup = ChecksumViewContextPopup
       end
       object ChecksumAlgEdit: TComboBox
-        Left = 80
-        Top = 9
-        Width = 121
-        Height = 21
+        Left = 90
+        Top = 5
+        Width = 152
+        Height = 23
         AutoComplete = False
         Anchors = [akLeft, akTop, akRight]
         MaxLength = 250
@@ -324,9 +320,9 @@ object PropertiesDialog: TPropertiesDialog
           'Xmd5')
       end
       object ChecksumButton: TButton
-        Left = 208
-        Top = 7
-        Width = 122
+        Left = 248
+        Top = 4
+        Width = 135
         Height = 25
         Anchors = [akTop, akRight]
         Caption = '&Calculate checksum'
@@ -334,28 +330,28 @@ object PropertiesDialog: TPropertiesDialog
         OnClick = ChecksumButtonClick
       end
       object ChecksumGroup: TGroupBox
-        Left = 6
-        Top = 40
-        Width = 326
-        Height = 41
+        Left = 5
+        Top = 34
+        Width = 378
+        Height = 51
         Anchors = [akLeft, akRight, akBottom]
         Caption = 'Checksum'
         TabOrder = 3
         DesignSize = (
-          326
-          41)
+          378
+          51)
         object ChecksumUnknownLabel: TLabel
           Left = 10
           Top = 18
-          Width = 117
-          Height = 13
+          Width = 135
+          Height = 15
           Caption = 'ChecksumUnknownLabel'
           ShowAccelChar = False
         end
         object ChecksumEdit: TEdit
-          Left = 10
-          Top = 18
-          Width = 306
+          Left = 9
+          Top = 22
+          Width = 358
           Height = 19
           TabStop = False
           Anchors = [akLeft, akTop, akRight]
@@ -369,9 +365,9 @@ object PropertiesDialog: TPropertiesDialog
     end
   end
   object HelpButton: TButton
-    Left = 275
-    Top = 386
-    Width = 75
+    Left = 310
+    Top = 391
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -380,7 +376,7 @@ object PropertiesDialog: TPropertiesDialog
   end
   object ListViewMenu: TPopupMenu
     Left = 16
-    Top = 384
+    Top = 400
     object Copy: TMenuItem
       Caption = '&Copy'
       OnClick = CopyClick

+ 41 - 45
source/forms/RemoteTransfer.dfm

@@ -6,59 +6,55 @@ object RemoteTransferDialog: TRemoteTransferDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'RemoteTransferDialog'
-  ClientHeight = 179
-  ClientWidth = 420
+  ClientHeight = 181
+  ClientWidth = 464
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    420
-    179)
-  TextHeight = 13
+    464
+    181)
+  TextHeight = 15
   object Group: TGroupBox
     Left = 8
-    Top = 6
-    Width = 404
-    Height = 131
+    Top = 8
+    Width = 448
+    Height = 133
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 0
     DesignSize = (
-      404
-      131)
+      448
+      133)
     object SessionLabel: TLabel
-      Left = 49
-      Top = 12
-      Width = 74
-      Height = 13
+      Left = 47
+      Top = 9
+      Width = 77
+      Height = 15
       Caption = 'Target &session:'
       FocusControl = SessionCombo
     end
     object Label3: TLabel
-      Left = 49
-      Top = 60
-      Width = 98
-      Height = 13
+      Left = 47
+      Top = 59
+      Width = 104
+      Height = 15
       Caption = 'Target remote &path:'
       FocusControl = DirectoryEdit
     end
     object Image: TImage
-      Left = 11
-      Top = 15
+      Left = 9
+      Top = 12
       Width = 32
       Height = 32
       AutoSize = True
     end
     object SessionCombo: TComboBox
-      Left = 49
-      Top = 28
-      Width = 344
-      Height = 21
+      Left = 47
+      Top = 30
+      Width = 392
+      Height = 23
       Style = csDropDownList
       Anchors = [akLeft, akTop, akRight]
       DropDownCount = 16
@@ -67,10 +63,10 @@ object RemoteTransferDialog: TRemoteTransferDialog
       OnChange = SessionComboChange
     end
     object DirectoryEdit: THistoryComboBox
-      Left = 49
-      Top = 76
-      Width = 344
-      Height = 21
+      Left = 47
+      Top = 77
+      Width = 392
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
@@ -78,9 +74,9 @@ object RemoteTransferDialog: TRemoteTransferDialog
       OnChange = ControlChange
     end
     object NotDirectCopyCheck: TCheckBox
-      Left = 55
-      Top = 105
-      Width = 340
+      Left = 49
+      Top = 106
+      Width = 390
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = 'Duplicate via local &temporary copy'
@@ -89,9 +85,9 @@ object RemoteTransferDialog: TRemoteTransferDialog
     end
   end
   object OkButton: TButton
-    Left = 168
-    Top = 146
-    Width = 75
+    Left = 204
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -100,9 +96,9 @@ object RemoteTransferDialog: TRemoteTransferDialog
     TabOrder = 1
   end
   object CancelButton: TButton
-    Left = 252
-    Top = 146
-    Width = 75
+    Left = 290
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -111,9 +107,9 @@ object RemoteTransferDialog: TRemoteTransferDialog
     TabOrder = 2
   end
   object HelpButton: TButton
-    Left = 336
-    Top = 146
-    Width = 75
+    Left = 376
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 51 - 57
source/forms/Rights.dfm

@@ -1,58 +1,52 @@
 object RightsFrame: TRightsFrame
   Left = 0
   Top = 0
-  Width = 239
-  Height = 109
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  ParentFont = False
+  Width = 258
+  Height = 130
   TabOrder = 0
   OnContextPopup = FrameContextPopup
   object OthersButton: TSpeedButton
     Tag = 3
-    Left = 0
-    Top = 42
+    Left = 3
+    Top = 50
     Width = 43
-    Height = 18
+    Height = 21
     Caption = 'Ot&hers'
     Flat = True
     OnClick = RightsButtonsClick
   end
   object GroupButton: TSpeedButton
     Tag = 2
-    Left = 0
-    Top = 22
+    Left = 3
+    Top = 27
     Width = 39
-    Height = 19
+    Height = 21
     Caption = '&Group'
     Flat = True
     OnClick = RightsButtonsClick
   end
   object OwnerButton: TSpeedButton
     Tag = 1
-    Left = 0
-    Top = 2
+    Left = 3
+    Top = 4
     Width = 40
-    Height = 19
+    Height = 21
     Caption = '&Owner'
     Flat = True
     OnClick = RightsButtonsClick
   end
   object OctalLabel: TLabel
-    Left = 4
-    Top = 68
-    Width = 29
-    Height = 13
+    Left = 7
+    Top = 78
+    Width = 31
+    Height = 15
     Caption = 'O&ctal:'
     FocusControl = OctalEdit
   end
   object OwnerReadCheck: TGrayedCheckBox
     Tag = 256
-    Left = 58
-    Top = 3
+    Left = 65
+    Top = 6
     Width = 34
     Height = 17
     Hint = 'Read'
@@ -64,8 +58,8 @@ object RightsFrame: TRightsFrame
   end
   object OwnerWriteCheck: TGrayedCheckBox
     Tag = 128
-    Left = 95
-    Top = 3
+    Left = 103
+    Top = 6
     Width = 34
     Height = 17
     Hint = 'Write'
@@ -77,8 +71,8 @@ object RightsFrame: TRightsFrame
   end
   object OwnerExecuteCheck: TGrayedCheckBox
     Tag = 64
-    Left = 132
-    Top = 3
+    Left = 141
+    Top = 6
     Width = 31
     Height = 17
     Hint = 'Execute/Enter'
@@ -90,8 +84,8 @@ object RightsFrame: TRightsFrame
   end
   object GroupReadCheck: TGrayedCheckBox
     Tag = 32
-    Left = 58
-    Top = 23
+    Left = 65
+    Top = 29
     Width = 34
     Height = 17
     Caption = 'R'
@@ -102,8 +96,8 @@ object RightsFrame: TRightsFrame
   end
   object GroupWriteCheck: TGrayedCheckBox
     Tag = 16
-    Left = 95
-    Top = 23
+    Left = 103
+    Top = 29
     Width = 33
     Height = 17
     Caption = 'W'
@@ -114,8 +108,8 @@ object RightsFrame: TRightsFrame
   end
   object GroupExecuteCheck: TGrayedCheckBox
     Tag = 8
-    Left = 132
-    Top = 23
+    Left = 141
+    Top = 29
     Width = 31
     Height = 17
     Caption = 'X'
@@ -126,8 +120,8 @@ object RightsFrame: TRightsFrame
   end
   object OthersReadCheck: TGrayedCheckBox
     Tag = 4
-    Left = 58
-    Top = 43
+    Left = 65
+    Top = 52
     Width = 34
     Height = 17
     Caption = 'R'
@@ -138,8 +132,8 @@ object RightsFrame: TRightsFrame
   end
   object OthersWriteCheck: TGrayedCheckBox
     Tag = 2
-    Left = 95
-    Top = 43
+    Left = 103
+    Top = 52
     Width = 33
     Height = 17
     Caption = 'W'
@@ -150,8 +144,8 @@ object RightsFrame: TRightsFrame
   end
   object OthersExecuteCheck: TGrayedCheckBox
     Tag = 1
-    Left = 132
-    Top = 43
+    Left = 141
+    Top = 52
     Width = 31
     Height = 17
     Caption = 'X'
@@ -161,8 +155,8 @@ object RightsFrame: TRightsFrame
     OnClick = ControlChange
   end
   object DirectoriesXCheck: TCheckBox
-    Left = 5
-    Top = 89
+    Left = 10
+    Top = 102
     Width = 156
     Height = 17
     Caption = 'Add &X to directories'
@@ -170,10 +164,10 @@ object RightsFrame: TRightsFrame
     OnClick = ControlChange
   end
   object OctalEdit: TEdit
-    Left = 55
-    Top = 64
-    Width = 64
-    Height = 21
+    Left = 65
+    Top = 75
+    Width = 70
+    Height = 23
     MaxLength = 4
     TabOrder = 12
     Text = 'OctalEdit'
@@ -182,9 +176,9 @@ object RightsFrame: TRightsFrame
   end
   object SetUidCheck: TGrayedCheckBox
     Tag = 2048
-    Left = 169
-    Top = 3
-    Width = 70
+    Left = 179
+    Top = 6
+    Width = 77
     Height = 17
     Caption = 'Set UID'
     TabOrder = 3
@@ -192,9 +186,9 @@ object RightsFrame: TRightsFrame
   end
   object SetGIDCheck: TGrayedCheckBox
     Tag = 1024
-    Left = 169
-    Top = 23
-    Width = 70
+    Left = 179
+    Top = 29
+    Width = 77
     Height = 17
     Caption = 'Set GID'
     TabOrder = 7
@@ -202,18 +196,18 @@ object RightsFrame: TRightsFrame
   end
   object StickyBitCheck: TGrayedCheckBox
     Tag = 512
-    Left = 169
-    Top = 43
-    Width = 70
+    Left = 179
+    Top = 52
+    Width = 77
     Height = 17
     Caption = 'Sticky bit'
     TabOrder = 11
     OnClick = ControlChange
   end
   object CloseButton: TButton
-    Left = 160
-    Top = 80
-    Width = 75
+    Left = 171
+    Top = 98
+    Width = 80
     Height = 25
     Caption = 'Close'
     TabOrder = 14

+ 15 - 15
source/forms/ScpCommander.dfm

@@ -6,7 +6,7 @@ inherited ScpCommanderForm: TScpCommanderForm
   Caption = 'ScpCommanderForm'
   ClientHeight = 670
   ClientWidth = 898
-  TextHeight = 13
+  TextHeight = 15
   object Splitter: TSplitter [0]
     Left = 435
     Top = 186
@@ -1117,7 +1117,7 @@ inherited ScpCommanderForm: TScpCommanderForm
       end
     end
     object CustomCommandsToolbar: TTBXToolbar
-      Left = 299
+      Left = 300
       Top = 129
       Caption = 'Custom Commands'
       ChevronMenu = True
@@ -1144,7 +1144,7 @@ inherited ScpCommanderForm: TScpCommanderForm
       Left = 0
       Top = 79
       Width = 458
-      Height = 19
+      Height = 21
       UnixPath = True
       IndentVertical = 3
       AutoSizeVertical = True
@@ -1158,7 +1158,7 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     inherited RemotePanelSplitter: TSplitter
       Left = 0
-      Top = 143
+      Top = 145
       Width = 458
       Height = 3
       Cursor = crSizeNS
@@ -1202,13 +1202,13 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     inherited RemoteDirPanel: TPanel
       Left = 0
-      Top = 146
+      Top = 148
       Width = 458
-      Height = 115
+      Height = 113
       Constraints.MinHeight = 70
       inherited RemoteDirView: TUnixDirView
         Width = 280
-        Height = 115
+        Height = 113
         NortonLike = nlOn
         OnUpdateStatusBar = RemoteDirViewUpdateStatusBar
         PathLabel = RemotePathLabel
@@ -1224,7 +1224,7 @@ inherited ScpCommanderForm: TScpCommanderForm
         Left = 280
         Top = 0
         Width = 178
-        Height = 115
+        Height = 113
         Align = alRight
         Constraints.MinHeight = 70
         DoubleBuffered = True
@@ -1266,7 +1266,7 @@ inherited ScpCommanderForm: TScpCommanderForm
       end
     end
     inherited RemoteDrivePanel: TPanel
-      Top = 98
+      Top = 100
       Width = 458
       Height = 45
       Align = alTop
@@ -1542,7 +1542,7 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     inherited QueueView3: TListView
       Width = 898
-      Height = 48
+      Height = 46
       TabStop = False
     end
     inherited QueueDock: TTBXDock
@@ -1573,7 +1573,7 @@ inherited ScpCommanderForm: TScpCommanderForm
       Left = 0
       Top = 79
       Width = 435
-      Height = 19
+      Height = 21
       IndentVertical = 3
       AutoSizeVertical = True
       HotTrack = True
@@ -1587,7 +1587,7 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     object LocalPanelSplitter: TSplitter
       Left = 0
-      Top = 143
+      Top = 145
       Width = 435
       Height = 3
       Cursor = crSizeNS
@@ -1640,9 +1640,9 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     object LocalDirView: TDirView
       Left = 0
-      Top = 146
+      Top = 148
       Width = 435
-      Height = 115
+      Height = 113
       Align = alClient
       Constraints.MinHeight = 70
       DoubleBuffered = True
@@ -1893,7 +1893,7 @@ inherited ScpCommanderForm: TScpCommanderForm
     end
     object LocalDriveView: TDriveView
       Left = 0
-      Top = 98
+      Top = 100
       Width = 435
       Height = 45
       WatchDirectory = True

+ 3 - 3
source/forms/ScpExplorer.dfm

@@ -7,7 +7,7 @@ inherited ScpExplorerForm: TScpExplorerForm
   Caption = 'ScpExplorerForm'
   ClientHeight = 475
   ClientWidth = 632
-  TextHeight = 13
+  TextHeight = 15
   inherited QueueSplitter: TSplitter
     Top = 332
     Width = 632
@@ -1067,7 +1067,7 @@ inherited ScpExplorerForm: TScpExplorerForm
       end
     end
     object CustomCommandsToolbar: TTBXToolbar
-      Left = 299
+      Left = 300
       Top = 182
       Caption = 'Custom Commands'
       ChevronMenu = True
@@ -1086,7 +1086,7 @@ inherited ScpExplorerForm: TScpExplorerForm
     Top = 239
     Width = 614
     Height = 93
-    Constraints.MinHeight = 93
+    Constraints.MinHeight = 92
     Constraints.MinWidth = 210
     inherited RemotePanelSplitter: TSplitter
       Height = 62

+ 52 - 56
source/forms/SelectMask.dfm

@@ -6,44 +6,40 @@ object SelectMaskDialog: TSelectMaskDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'SelectX'
-  ClientHeight = 186
-  ClientWidth = 417
+  ClientHeight = 181
+  ClientWidth = 460
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poDesigned
   OnCloseQuery = FormCloseQuery
   OnShow = FormShow
   DesignSize = (
-    417
-    186)
-  TextHeight = 13
+    460
+    181)
+  TextHeight = 15
   object MaskGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 401
-    Height = 138
+    Top = 8
+    Width = 444
+    Height = 134
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 0
     DesignSize = (
-      401
-      138)
+      444
+      134)
     object Label3: TLabel
-      Left = 16
-      Top = 19
-      Width = 47
-      Height = 13
+      Left = 9
+      Top = 9
+      Width = 52
+      Height = 15
       Caption = 'File &mask:'
       FocusControl = MaskEdit
     end
     object ColorFileNamesLabel: TLabel
-      Left = 16
-      Top = 86
-      Width = 150
-      Height = 37
+      Left = 9
+      Top = 77
+      Width = 165
+      Height = 47
       Anchors = [akLeft, akTop, akBottom]
       AutoSize = False
       Caption = 'about.html'#13#10'index.html'#13#10'photo.jpg'
@@ -54,10 +50,10 @@ object SelectMaskDialog: TSelectMaskDialog
       WordWrap = True
     end
     object ColorSizesLabel: TLabel
-      Left = 166
-      Top = 86
-      Width = 75
-      Height = 37
+      Left = 174
+      Top = 77
+      Width = 82
+      Height = 47
       Alignment = taRightJustify
       Anchors = [akLeft, akTop, akBottom]
       AutoSize = False
@@ -69,10 +65,10 @@ object SelectMaskDialog: TSelectMaskDialog
       WordWrap = True
     end
     object ColorPaddingLabel: TLabel
-      Left = 241
-      Top = 86
-      Width = 58
-      Height = 37
+      Left = 256
+      Top = 77
+      Width = 94
+      Height = 47
       Alignment = taRightJustify
       Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
@@ -83,18 +79,18 @@ object SelectMaskDialog: TSelectMaskDialog
       WordWrap = True
     end
     object ApplyToDirectoriesCheck: TCheckBox
-      Left = 16
-      Top = 63
+      Left = 11
+      Top = 54
       Width = 209
       Height = 17
       Caption = 'Apply to &directories'
       TabOrder = 3
     end
     object MaskEdit: THistoryComboBox
-      Left = 16
-      Top = 36
-      Width = 283
-      Height = 21
+      Left = 9
+      Top = 25
+      Width = 341
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -104,9 +100,9 @@ object SelectMaskDialog: TSelectMaskDialog
       OnExit = MaskEditExit
     end
     object HintText: TStaticText
-      Left = 194
-      Top = 64
-      Width = 105
+      Left = 235
+      Top = 48
+      Width = 115
       Height = 17
       Alignment = taRightJustify
       Anchors = [akTop, akRight]
@@ -116,8 +112,8 @@ object SelectMaskDialog: TSelectMaskDialog
       TabStop = True
     end
     object MaskButton: TButton
-      Left = 305
-      Top = 34
+      Left = 356
+      Top = 24
       Width = 80
       Height = 25
       Anchors = [akTop, akRight]
@@ -126,8 +122,8 @@ object SelectMaskDialog: TSelectMaskDialog
       OnClick = MaskButtonClick
     end
     object ColorButton: TButton
-      Left = 305
-      Top = 86
+      Left = 356
+      Top = 77
       Width = 80
       Height = 25
       Anchors = [akTop, akRight]
@@ -137,9 +133,9 @@ object SelectMaskDialog: TSelectMaskDialog
     end
   end
   object OKBtn: TButton
-    Left = 165
-    Top = 153
-    Width = 75
+    Left = 200
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -148,9 +144,9 @@ object SelectMaskDialog: TSelectMaskDialog
     TabOrder = 2
   end
   object CancelBtn: TButton
-    Left = 250
-    Top = 153
-    Width = 75
+    Left = 286
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -159,9 +155,9 @@ object SelectMaskDialog: TSelectMaskDialog
     TabOrder = 3
   end
   object HelpButton: TButton
-    Left = 333
-    Top = 153
-    Width = 75
+    Left = 372
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'
@@ -169,9 +165,9 @@ object SelectMaskDialog: TSelectMaskDialog
     OnClick = HelpButtonClick
   end
   object ClearButton: TButton
-    Left = 84
-    Top = 153
-    Width = 75
+    Left = 114
+    Top = 148
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Clear'

文件差异内容过多而无法显示
+ 296 - 292
source/forms/SiteAdvanced.dfm


+ 39 - 43
source/forms/Symlink.dfm

@@ -6,70 +6,66 @@ object SymlinkDialog: TSymlinkDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'SymlinkDialog'
-  ClientHeight = 183
-  ClientWidth = 396
+  ClientHeight = 177
+  ClientWidth = 417
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   OnShow = FormShow
   DesignSize = (
-    396
-    183)
-  TextHeight = 13
+    417
+    177)
+  TextHeight = 15
   object SymlinkGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 380
-    Height = 135
+    Top = 8
+    Width = 401
+    Height = 130
     Anchors = [akLeft, akTop, akRight, akBottom]
     TabOrder = 0
     DesignSize = (
-      380
-      135)
+      401
+      130)
     object FileNameLabel: TLabel
-      Left = 11
-      Top = 16
-      Width = 83
-      Height = 13
+      Left = 9
+      Top = 9
+      Width = 93
+      Height = 15
       Caption = '&Link/shortcut file:'
       FocusControl = FileNameEdit
     end
     object Label1: TLabel
-      Left = 11
-      Top = 64
-      Width = 103
-      Height = 13
+      Left = 9
+      Top = 56
+      Width = 116
+      Height = 15
       Caption = '&Point link/shortcut to:'
       FocusControl = PointToEdit
     end
     object FileNameEdit: TEdit
-      Left = 11
-      Top = 32
-      Width = 358
-      Height = 21
+      Left = 9
+      Top = 27
+      Width = 383
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 0
       OnChange = ControlChange
     end
     object PointToEdit: TEdit
-      Left = 11
-      Top = 80
-      Width = 358
-      Height = 21
+      Left = 9
+      Top = 74
+      Width = 383
+      Height = 23
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 250
       TabOrder = 1
       OnChange = ControlChange
     end
     object HardLinkCheck: TCheckBox
-      Left = 17
-      Top = 109
-      Width = 238
+      Left = 11
+      Top = 103
+      Width = 401
       Height = 17
       Caption = '&Hard link'
       TabOrder = 2
@@ -77,9 +73,9 @@ object SymlinkDialog: TSymlinkDialog
     end
   end
   object OkButton: TButton
-    Left = 144
-    Top = 150
-    Width = 75
+    Left = 157
+    Top = 144
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = 'OK'
@@ -88,9 +84,9 @@ object SymlinkDialog: TSymlinkDialog
     TabOrder = 1
   end
   object CancelButton: TButton
-    Left = 228
-    Top = 150
-    Width = 75
+    Left = 243
+    Top = 144
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Cancel = True
@@ -99,9 +95,9 @@ object SymlinkDialog: TSymlinkDialog
     TabOrder = 2
   end
   object HelpButton: TButton
-    Left = 312
-    Top = 150
-    Width = 75
+    Left = 329
+    Top = 144
+    Width = 80
     Height = 25
     Anchors = [akRight, akBottom]
     Caption = '&Help'

+ 85 - 89
source/forms/Synchronize.dfm

@@ -6,64 +6,60 @@ object SynchronizeDialog: TSynchronizeDialog
   BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
   BorderStyle = bsDialog
   Caption = 'Keep remote directory up to date X'
-  ClientHeight = 445
-  ClientWidth = 468
+  ClientHeight = 466
+  ClientWidth = 518
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   KeyPreview = True
   Position = poOwnerFormCenter
   OnCloseQuery = FormCloseQuery
   OnKeyDown = FormKeyDown
   OnShow = FormShow
   DesignSize = (
-    468
-    445)
-  TextHeight = 13
+    518
+    466)
+  TextHeight = 15
   object DirectoriesGroup: TGroupBox
     Left = 8
-    Top = 6
-    Width = 453
-    Height = 119
+    Top = 8
+    Width = 502
+    Height = 120
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Directories'
     TabOrder = 0
     DesignSize = (
-      453
-      119)
+      502
+      120)
     object LocalDirectoryLabel: TLabel
       Left = 49
-      Top = 19
-      Width = 195
-      Height = 13
+      Top = 22
+      Width = 222
+      Height = 15
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Watch for changes in the local directory:'
       FocusControl = LocalDirectoryEdit
     end
     object RemoteDirectoryLabel: TLabel
       Left = 49
-      Top = 68
-      Width = 281
-      Height = 13
+      Top = 69
+      Width = 314
+      Height = 15
       Anchors = [akLeft, akTop, akRight]
       Caption = '... &and automatically reflect them on the remote directory:'
       FocusControl = RemoteDirectoryEdit
     end
     object Image: TImage
       Left = 11
-      Top = 22
+      Top = 24
       Width = 32
       Height = 32
       AutoSize = True
     end
     object RemoteDirectoryEdit: THistoryComboBox
       Left = 49
-      Top = 84
-      Width = 393
-      Height = 21
+      Top = 87
+      Width = 444
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -73,9 +69,9 @@ object SynchronizeDialog: TSynchronizeDialog
     end
     object LocalDirectoryEdit: THistoryComboBox
       Left = 49
-      Top = 35
-      Width = 312
-      Height = 21
+      Top = 40
+      Width = 358
+      Height = 23
       AutoComplete = False
       Anchors = [akLeft, akTop, akRight]
       MaxLength = 1000
@@ -84,9 +80,9 @@ object SynchronizeDialog: TSynchronizeDialog
       OnChange = ControlChange
     end
     object LocalDirectoryBrowseButton: TButton
-      Left = 367
-      Top = 33
-      Width = 75
+      Left = 413
+      Top = 39
+      Width = 80
       Height = 25
       Anchors = [akTop, akRight]
       Caption = 'B&rowse...'
@@ -95,9 +91,9 @@ object SynchronizeDialog: TSynchronizeDialog
     end
   end
   object StopButton: TButton
-    Left = 183
-    Top = 312
-    Width = 88
+    Left = 216
+    Top = 323
+    Width = 94
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Stop'
@@ -105,9 +101,9 @@ object SynchronizeDialog: TSynchronizeDialog
     OnClick = StopButtonClick
   end
   object CancelButton: TButton
-    Left = 277
-    Top = 312
-    Width = 88
+    Left = 316
+    Top = 323
+    Width = 94
     Height = 25
     Anchors = [akTop, akRight]
     Cancel = True
@@ -117,37 +113,37 @@ object SynchronizeDialog: TSynchronizeDialog
   end
   object OptionsGroup: TGroupBox
     Left = 8
-    Top = 130
-    Width = 453
-    Height = 119
+    Top = 134
+    Width = 502
+    Height = 118
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Synchronize options'
     TabOrder = 1
     DesignSize = (
-      453
-      119)
+      502
+      118)
     object SynchronizeDeleteCheck: TCheckBox
-      Left = 11
-      Top = 20
-      Width = 196
+      Left = 9
+      Top = 22
+      Width = 239
       Height = 17
       Caption = '&Delete files'
       TabOrder = 0
       OnClick = ControlChange
     end
     object SaveSettingsCheck: TCheckBox
-      Left = 11
-      Top = 92
-      Width = 196
+      Left = 9
+      Top = 91
+      Width = 239
       Height = 17
       Caption = 'Use same &options next time'
       TabOrder = 6
       OnClick = ControlChange
     end
     object SynchronizeExistingOnlyCheck: TCheckBox
-      Left = 229
-      Top = 20
-      Width = 213
+      Left = 254
+      Top = 22
+      Width = 239
       Height = 17
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Existing files only'
@@ -155,18 +151,18 @@ object SynchronizeDialog: TSynchronizeDialog
       OnClick = ControlChange
     end
     object SynchronizeRecursiveCheck: TCheckBox
-      Left = 11
-      Top = 44
-      Width = 196
+      Left = 9
+      Top = 45
+      Width = 239
       Height = 17
       Caption = 'Update s&ubdirectories'
       TabOrder = 2
       OnClick = ControlChange
     end
     object SynchronizeSynchronizeCheck: TGrayedCheckBox
-      Left = 229
-      Top = 68
-      Width = 213
+      Left = 254
+      Top = 70
+      Width = 239
       Height = 17
       AllowGrayed = True
       Anchors = [akLeft, akTop, akRight]
@@ -175,18 +171,18 @@ object SynchronizeDialog: TSynchronizeDialog
       OnClick = ControlChange
     end
     object SynchronizeSelectedOnlyCheck: TCheckBox
-      Left = 229
-      Top = 44
-      Width = 213
+      Left = 254
+      Top = 46
+      Width = 239
       Height = 17
       Caption = 'Selected files o&nly'
       TabOrder = 3
       OnClick = ControlChange
     end
     object ContinueOnErrorCheck: TCheckBox
-      Left = 11
+      Left = 9
       Top = 68
-      Width = 196
+      Width = 239
       Height = 17
       Caption = 'Continue on &error'
       TabOrder = 4
@@ -194,9 +190,9 @@ object SynchronizeDialog: TSynchronizeDialog
     end
   end
   object StartButton: TButton
-    Left = 183
-    Top = 312
-    Width = 88
+    Left = 216
+    Top = 323
+    Width = 94
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Start'
@@ -206,9 +202,9 @@ object SynchronizeDialog: TSynchronizeDialog
     OnDropDownClick = StartButtonDropDownClick
   end
   object MinimizeButton: TButton
-    Left = 277
-    Top = 312
-    Width = 88
+    Left = 316
+    Top = 323
+    Width = 94
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Minimize'
@@ -218,8 +214,8 @@ object SynchronizeDialog: TSynchronizeDialog
   end
   object TransferSettingsButton: TButton
     Left = 8
-    Top = 312
-    Width = 161
+    Top = 323
+    Width = 175
     Height = 25
     Caption = 'Transfer settin&gs...'
     TabOrder = 2
@@ -228,22 +224,22 @@ object SynchronizeDialog: TSynchronizeDialog
   end
   object CopyParamGroup: TGroupBox
     Left = 8
-    Top = 254
-    Width = 453
-    Height = 50
+    Top = 258
+    Width = 502
+    Height = 59
     Anchors = [akLeft, akTop, akRight]
     Caption = 'Transfer settings'
     TabOrder = 7
     OnClick = CopyParamGroupClick
     OnContextPopup = CopyParamGroupContextPopup
     DesignSize = (
-      453
-      50)
+      502
+      59)
     object CopyParamLabel: TLabel
-      Left = 7
-      Top = 15
-      Width = 439
-      Height = 26
+      Left = 9
+      Top = 20
+      Width = 484
+      Height = 35
       Anchors = [akLeft, akTop, akRight, akBottom]
       AutoSize = False
       Caption = 'CopyParamLabel'
@@ -253,9 +249,9 @@ object SynchronizeDialog: TSynchronizeDialog
     end
   end
   object HelpButton: TButton
-    Left = 371
-    Top = 312
-    Width = 88
+    Left = 416
+    Top = 323
+    Width = 94
     Height = 25
     Anchors = [akTop, akRight]
     Caption = '&Help'
@@ -264,20 +260,20 @@ object SynchronizeDialog: TSynchronizeDialog
   end
   object LogPanel: TPanel
     Left = 0
-    Top = 345
-    Width = 468
-    Height = 100
+    Top = 353
+    Width = 518
+    Height = 113
     Align = alBottom
     BevelOuter = bvNone
     TabOrder = 9
     DesignSize = (
-      468
-      100)
+      518
+      113)
     object LogView: TListView
       Left = 8
       Top = 2
-      Width = 452
-      Height = 90
+      Width = 502
+      Height = 103
       Anchors = [akLeft, akTop, akRight, akBottom]
       Columns = <
         item

+ 38 - 42
source/forms/SynchronizeChecklist.dfm

@@ -8,11 +8,7 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
   ClientHeight = 521
   ClientWidth = 695
   Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Icon.Data = {
     000001000700404000000100200028420000760000003030000001002000A825
     00009E4200002828000001002000681A0000466800002020000001002000A810
@@ -1362,23 +1358,23 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
   Position = poOwnerFormCenter
   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
   OnShow = FormShow
-  TextHeight = 13
+  TextHeight = 15
   object Panel: TPanel
-    Left = 571
+    Left = 562
     Top = 0
-    Width = 124
+    Width = 133
     Height = 501
     Align = alRight
     BevelOuter = bvNone
     Constraints.MinHeight = 350
     TabOrder = 1
     DesignSize = (
-      124
+      133
       501)
     object OkButton: TButton
-      Left = 8
+      Left = 6
       Top = 8
-      Width = 108
+      Width = 119
       Height = 25
       Anchors = [akLeft, akTop, akRight]
       Caption = 'OK'
@@ -1389,9 +1385,9 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
       OnDropDownClick = OkButtonDropDownClick
     end
     object CancelButton: TButton
-      Left = 8
-      Top = 40
-      Width = 108
+      Left = 6
+      Top = 39
+      Width = 119
       Height = 25
       Anchors = [akLeft, akTop, akRight]
       Cancel = True
@@ -1400,45 +1396,45 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
       TabOrder = 1
     end
     object CheckAllButton: TButton
-      Left = 8
-      Top = 182
-      Width = 108
+      Left = 6
+      Top = 179
+      Width = 119
       Height = 25
       Action = CheckAllAction
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 5
     end
     object UncheckAllButton: TButton
-      Left = 8
-      Top = 214
-      Width = 108
+      Left = 6
+      Top = 210
+      Width = 119
       Height = 25
       Action = UncheckAllAction
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 6
     end
     object CheckButton: TButton
-      Left = 8
-      Top = 118
-      Width = 108
+      Left = 6
+      Top = 117
+      Width = 119
       Height = 25
       Action = CheckAction
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 3
     end
     object UncheckButton: TButton
-      Left = 8
-      Top = 150
-      Width = 108
+      Left = 6
+      Top = 148
+      Width = 119
       Height = 25
       Action = UncheckAction
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 4
     end
     object HelpButton: TButton
-      Left = 8
-      Top = 72
-      Width = 108
+      Left = 6
+      Top = 70
+      Width = 119
       Height = 25
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Help'
@@ -1446,9 +1442,9 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
       OnClick = HelpButtonClick
     end
     object CustomCommandsButton2: TButton
-      Left = 8
-      Top = 322
-      Width = 108
+      Left = 6
+      Top = 319
+      Width = 119
       Height = 25
       Action = CustomCommandsAction
       Anchors = [akLeft, akTop, akRight]
@@ -1456,18 +1452,18 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
       TabOrder = 9
     end
     object ReverseButton: TButton
-      Left = 8
-      Top = 260
-      Width = 108
+      Left = 6
+      Top = 257
+      Width = 119
       Height = 25
       Action = ReverseAction
       Anchors = [akLeft, akTop, akRight]
       TabOrder = 7
     end
     object ToolsMenuButton: TButton
-      Left = 8
-      Top = 368
-      Width = 108
+      Left = 6
+      Top = 366
+      Width = 119
       Height = 25
       Anchors = [akLeft, akTop, akRight]
       Caption = '&Tools'
@@ -1475,9 +1471,9 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
       OnClick = ToolsMenuButtonClick
     end
     object MoveButton: TButton
-      Left = 8
-      Top = 291
-      Width = 108
+      Left = 6
+      Top = 288
+      Width = 119
       Height = 25
       Action = MoveAction
       Anchors = [akLeft, akTop, akRight]
@@ -1487,7 +1483,7 @@ object SynchronizeChecklistDialog: TSynchronizeChecklistDialog
   object ListView: TIEListView
     Left = 0
     Top = 0
-    Width = 571
+    Width = 562
     Height = 501
     OnRecreate = ListViewRecreate
     Align = alClient

+ 34 - 38
source/forms/SynchronizeProgress.dfm

@@ -7,19 +7,15 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
   ClientHeight = 219
   ClientWidth = 424
   Color = clWindow
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
+  ParentFont = True
   Position = poOwnerFormCenter
   DesignSize = (
     424
     219)
-  TextHeight = 13
+  TextHeight = 15
   object TimeLeftLabel: TLabel
     Left = 141
-    Top = 49
+    Top = 50
     Width = 79
     Height = 13
     AutoSize = False
@@ -27,34 +23,34 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
     ShowAccelChar = False
   end
   object TimeLeftLabelLabel: TLabel
-    Left = 49
-    Top = 49
-    Width = 45
-    Height = 13
+    Left = 50
+    Top = 50
+    Width = 50
+    Height = 15
     Caption = 'Time left:'
     ShowAccelChar = False
   end
   object Label1: TLabel
-    Left = 49
-    Top = 9
-    Width = 28
-    Height = 13
+    Left = 50
+    Top = 14
+    Width = 31
+    Height = 15
     Caption = 'Local:'
     ShowAccelChar = False
   end
   object Label2: TLabel
-    Left = 49
-    Top = 29
-    Width = 41
-    Height = 13
+    Left = 50
+    Top = 32
+    Width = 44
+    Height = 15
     Caption = 'Remote:'
     ShowAccelChar = False
   end
   object RemoteDirectoryLabel: TPathLabel
     Left = 141
-    Top = 30
+    Top = 32
     Width = 273
-    Height = 13
+    Height = 15
     UnixPath = True
     IndentHorizontal = 0
     IndentVertical = 0
@@ -64,9 +60,9 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
   end
   object LocalDirectoryLabel: TPathLabel
     Left = 141
-    Top = 9
+    Top = 14
     Width = 273
-    Height = 13
+    Height = 15
     IndentHorizontal = 0
     IndentVertical = 0
     Align = alNone
@@ -75,34 +71,34 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
   end
   object StartTimeLabel: TLabel
     Left = 141
-    Top = 49
+    Top = 50
     Width = 81
-    Height = 13
+    Height = 15
     AutoSize = False
     Caption = '00:00:00'
     ShowAccelChar = False
   end
   object StartTimeLabelLabel: TLabel
-    Left = 49
-    Top = 49
-    Width = 51
-    Height = 13
+    Left = 50
+    Top = 50
+    Width = 54
+    Height = 15
     Caption = 'Start time:'
     ShowAccelChar = False
   end
   object Label3: TLabel
-    Left = 49
-    Top = 69
-    Width = 66
-    Height = 13
+    Left = 50
+    Top = 68
+    Width = 73
+    Height = 15
     Caption = 'Time elapsed:'
     ShowAccelChar = False
   end
   object TimeElapsedLabel: TLabel
     Left = 141
-    Top = 69
+    Top = 68
     Width = 79
-    Height = 13
+    Height = 15
     AutoSize = False
     Caption = '00:00:00'
     ShowAccelChar = False
@@ -114,7 +110,7 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
     Height = 32
   end
   object ToolbarPanel: TPanel
-    Left = 49
+    Left = 50
     Top = 115
     Width = 185
     Height = 28
@@ -168,8 +164,8 @@ object SynchronizeProgressForm: TSynchronizeProgressForm
     TabOrder = 1
   end
   object OperationProgress: TProgressBar
-    Left = 49
-    Top = 88
+    Left = 50
+    Top = 86
     Width = 365
     Height = 16
     Anchors = [akLeft, akTop, akRight]

+ 1 - 1
source/packages/my/PasTools.pas

@@ -420,7 +420,7 @@ begin
 end;
 
 const
-  OurDesignTimeTextHeight = 13;
+  OurDesignTimeTextHeight = 15;
 
 function ScaleByTextHeight(Control: TControl; Dimension: Integer): Integer;
 var

+ 4 - 4
source/windows/VCLCommon.cpp

@@ -62,7 +62,7 @@ void __fastcall AutoSizeListColumnsWidth(TListView * ListView, int ColumnToShrin
   try
   {
     int ColumnPadding = 2 * ScaleByTextHeightRunTime(ListView, 6);
-    int ColumnShrinkMinWidth = ScaleByTextHeightRunTime(ListView, 60);
+    int ColumnShrinkMinWidth = ScaleByTextHeightRunTime(ListView, 67);
 
     int ResizableWidth = 0;
     int NonResizableWidth = 0;
@@ -1005,9 +1005,7 @@ void __fastcall UseSystemSettingsPre(TForm * Control)
     Control->HelpKeyword = L"start";
   }
 
-  // We have legacy XE6 font (Tahoma) explicitly set in DFMs to match the layout.
-  // That unlinks the font fonts from the Application->DefaultFont. We set the DefaultFont to Tahoma in WinSCP.cpp.
-  DebugAssert((Control->Name == L"AboutDialog") || SameFont(Control->Font, Application->DefaultFont));
+  DebugAssert(SameFont(Control->Font, Application->DefaultFont));
 
   ApplySystemSettingsOnControl(Control);
 };
@@ -2582,6 +2580,7 @@ void TDesktopFontManager::UpdateControl(TControl * Control)
     if (DebugAlwaysTrue(SystemParametersInfoForPixelsPerInch(SPI_GETICONTITLELOGFONT, sizeof(LogFont), &LogFont, 0, PixelsPerInch)))
     {
       DesktopFont->Handle = CreateFontIndirect(&LogFont);
+      DebugAssert((PixelsPerInch == Screen->PixelsPerInch) || SameFont(DesktopFont.get(), Application->DefaultFont));
     }
   }
   else
@@ -2631,6 +2630,7 @@ void __fastcall TDesktopFontManager::WndProc(TMessage & Message)
 //---------------------------------------------------------------------------
 std::unique_ptr<TDesktopFontManager> DesktopFontManager(new TDesktopFontManager());
 //---------------------------------------------------------------------------
+// This might be somewhat redundant now that at least the default Desktop font is actually the default VCL font
 void __fastcall UseDesktopFont(TControl * Control)
 {
   TCustomStatusBar * StatusBar = dynamic_cast<TCustomStatusBar *>(Control);

+ 1 - 1
source/windows/WinInterface.h

@@ -185,7 +185,7 @@ typedef void __fastcall (__closure *TInputDialogInitialize)
 bool __fastcall InputDialog(const UnicodeString ACaption,
   const UnicodeString APrompt, UnicodeString & Value, UnicodeString HelpKeyword = HELP_NONE,
   TStrings * History = NULL, bool PathInput = false,
-  TInputDialogInitialize OnInitialize = NULL, bool Echo = true, int Width = 275);
+  TInputDialogInitialize OnInitialize = NULL, bool Echo = true, int Width = 305);
 
 // forms\About.cpp
 struct TRegistration

部分文件因为文件数量过多而无法显示