https://winscp.net/tracker/2385
Scaling of anchored TTreeView in VCL is somehow broken. Placing the tree as client-aligned on anchored panel fixes the problem.
Source commit: 15a649a1bc8e5815ec818b9e058ce6b94daf0fb7
Mostly
– explicit static global variables
– const, sign and down casts safety
– same-named variables in nested scopes
– incorrectly identified uninitialized variables
– semicolon after function implementation
– unused variables, fields, arguments and macros
– exact include filename case
– field initialization order
– typename use
– struct vs class declarations
– incorrectly identified uninitialized variables
– refactoring to solve Clang internal compiler error when using new variable in __finally block
Source commit: 3da995ff5169eefcfe3b3b7cc0d019c660096c07
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
– Control's Canvas does not have Font updated when painting, so it needs to be set explicitly in some places
– Page control drawing was not only incompatible, but broken in general, so it was refactored – giving up on trying to make it 100% mimic system drawing
– CM_DPICHANGED replaced with OnAfterMonitorDpiChanged for form-level scaling. Not really necessary, just for style. Though it is not called for initial resize (at least when starting on primary monitor with temporary non-system DPI)
– OnResize is not called for DPI change, so in some instances, some OnResize call was duplicated in OnAfterMonitorDpiChanged/CM_DPICHANGED
– Scaling of thirdparty box still does not work correctly (but Updates box works??)
– Scaling on primary monitor with temporary non-system DPI is bad
– TTreeView enabled DPI scaling when using Images that is not Scaled
– Discaring obsolete FSiteButtonsPadding workaround
– Controls programmatically added to form are automatically scaled to the form's DPI (relevant for message boxes)
Source commit: a86dddbfada30a5bc409687489bdcd12842050af
(including mechanism to inject a different control implementation + as I needed to add an header include to most form header files, I reordered include sections along a bit)
Source commit: aa2a1b6f5daf70865c0c87c0733aad1be4825b83
Change: Keyboard shortcut for Download command in Explorer interface changed to Ctrl+T (Ctrl+C previously)
Change: Keyboard shortcut for Open Terminal command changed to Shift+Ctrl+T (Ctrl+T previously).
Source commit: ffd99b6eceacb6073ba119a6e54e06b071781afb
Part of "Make WinSCP available in Windows Store (UWP/AppX package)"
https://winscp.net/tracker/1639
(though useful for portable package too and for first uses of WinSCP after installation before restart)
Counters DownloadsDragDropQueue + DownloadsDragDropFakeFile
Counter DownloadsDragDropExternalExtNotInstalled removed
Source commit: 694f55c42d1bc0ec0ecf037a99d889f492080cd9