- Once doing that, including more headers to PCH, not just vcl.h
- Clang won't need explicit include, but we will probably keep it anyway.
- #pragma hdrstop has no effect in Clang
Source commit: adc8a268b6907c5337ccaa430cca7526793a3019
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
As part of refactoring, calling GetProductInfo unconditionally as it should be supported on all Windows version we support
Also querying ProductName from 64-bit key, as JCL does (does not help with Windows 11 though)
Source commit: f5f6c075df730b9e5283d6490647bf0c11b23629
– 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
Comments:
- .res files seem to be linked automatically, so explicit entries in project files caused duplicates
- JCL updated for compatibility with BCB11 (jcld28win32.inc obtained by running JCJ installer [uninstalled afterwards])
Source commit: ec28d10a0bbb346ed2bb3940aed37e777342e663
https://winscp.net/tracker/2245
On Windows 11 (unless WinSCP was run as Administrator the first time) the default packaged HKLM registry key was not loaded, causing WinSCP to default to INI file. On Windows 10 the problem does not exist.
I never liked using cryptic binary Registry.dat file for distributing default settings anyway. This is good opportunity to get rid of it and instead have the application use the intended defaults automatically on UWP
Source commit: 16adc7b5d73cdcab5160cda99b62de5a99ff7229
Bug fix: When opening UNC path, the network drive is not added to the other local panel directory tree.
Bug fix: When opening the UNC path on the second local panel, the network drive is not added to drive drop-down menus.
Mechanism for application logging from Pascal code
Source commit: f225fce0fa72a07b3415fd153b39f344cf97096d