1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00

67 Commits

Author SHA1 Message Date
Martin Prikryl
a2119a7eac Types and casts safe in respect to pointer size for forward 64-bit compatibility
Also GetWindowLongPtr and GWLP_USERDATA

https://winscp.net/tracker/618

Source commit: c85fdf15e50ce8a6f35b1c4d2a0125a0b9c4f1f0
2026-01-22 14:51:13 +01:00
Martin Prikryl
3cd64f2a19 Issue 2020 – Synchronize two local directories
https://winscp.net/tracker/2020

Source commit: a0ab887a23e4362bb62824434893a97540b24e4a
2025-10-02 22:14:52 +02:00
Martin Prikryl
fa31217b53 Refactoring in anticipation of synchronization not always being local-remote (Issue 2020)
Source commit: 2d05944202efceaff012888c6b0de956314c91b6
2025-10-01 15:30:12 +02:00
Martin Prikryl
d2dea87008 Typo in a comment
Source commit: 0ebbd8a0f4f23410bab60da58b6038d3e64963a8
2025-10-01 01:05:32 +02:00
Martin Prikryl
523edaf84c Bug fix: Shift-clicking OK button on Synchronization checklist window when synchronization in the background was not possible still closed the window
Source commit: e76a5b5be6ca1ab5707f0032c6c6458411592bd1
2025-09-18 00:59:11 +02:00
Martin Prikryl
3817bbd736 Preparing for separate pre-compiled header file required by Clang
- 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
2025-08-22 15:43:55 +02:00
Martin Prikryl
74fdf539de Clang imposed changes that should be noop and have no effect on classic compiler (2nd after 92ba1e3f0 + preceding commits)
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
2025-06-24 16:32:34 +02:00
Martin Prikryl
3fd70f410e Minor code errors identified by Clang (2nd after 4019b56f)
Source commit: 904310464d998d3b8f222598c0b7914e6cb7deee
2025-06-24 01:03:19 +02:00
Martin Prikryl
11e4ab63a8 Control labels on transfer settings dialogs do not show keyboard accelerator cue, until Alt key is pressed (addition to 4031057b6)
Source commit: dfd2d1761a6302de14674636e43fa7fc84a90f63
2025-05-21 15:43:32 +02:00
Martin Prikryl
4e4f0d7181 Consistently referring to file last modification timestamp column as "Date modified"
That's what Windows Explorer uses.
Previously the column was labeled "Changed", but respective menu items were Columns > Modification and Sort > By Modification.
Most changes are just renames of controls to force retranslation

Source commit: 49c5600b6454b91729297cceadcf80016f2857b0
2025-04-18 01:00:52 +02:00
Martin Prikryl
4dbbc9eb05 Commands to copy paths to the clipboard on the Synchronization checklist window + Bug fix: Local file with invalid characters replaced could not be explorer from the Synchronization checklist window
Source commit: 205edb72d291cca4041e7a8443c37b8749ec27e0
2025-03-07 01:08:03 +01:00
Martin Prikryl
9fe6c68712 Consistently calling command to open window with specific directory Explore, instead of sometimes Browse
Source commit: 92b4ed8c0495c1e8b8ad9817639438047f5028df
2025-03-07 01:03:11 +01:00
Martin Prikryl
cbd7e799df Issue 2318 – Optionally push synchronization actions to queue
https://winscp.net/tracker/2318

Source commit: 8d79009ebeabde5ce762a82d61f36e18c1517d9b
2024-12-23 15:48:13 +01:00
Martin Prikryl
c3aadded64 Factoring out some commons synchronization checklist functions
Source commit: 476fef1cfeea061ec1d35cdb24b2528263eaf247
2024-12-14 01:15:01 +01:00
Martin Prikryl
8b557e8e94 Using BCB11 LockDrawing
Source commit: 36a6efeb7ebe4356e7fe2c3cfc24200e676bca3a
2024-11-13 01:34:01 +01:00
Martin Prikryl
1bd51d52d1 Updating DPI scaling to BCB11
– 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
2024-11-08 10:55:22 +01:00
Martin Prikryl
19ae9e1dca On Synchronization checklist window Move command can be used with a set of orphaned files and new folder in source directory
... to create that directory on the target side and move the orphaned files there

Source commit: 11d34258171557f7d9e38ee80132d000f77c939e
2024-10-18 00:51:18 +02:00
Martin Prikryl
2f1aaab61d Finding move candidates did not respect reverted actions
Source commit: 19ed00194496f610bbb9b231f8391a0195a6e230
2024-10-15 01:11:08 +02:00
Martin Prikryl
630cbfca02 Optimization and refactoring
Source commit: 786063bd0a4dc8ae4c756aeeb5daec4e36bb87ab
2024-10-15 00:58:12 +02:00
Martin Prikryl
e40c677e6e Command to find Move candidate on Synchronization checklist window
Source commit: 3afc367ae03df30fa853586a997bfa6fc51ffe53
2024-10-12 01:05:07 +02:00
Martin Prikryl
c8da3df357 Disabling Calculate All command, when there are no directories
Source commit: 0b913598b4fe771535bae8e341f8709cd5b20f70
2024-10-12 01:02:15 +02:00
Martin Prikryl
ecc43e1545 Exposing Calculate All command and adding keyboard shortcut to Calculate command on Synchronization checklist dialog
Source commit: 5dee19608ba61b89517c572fdc5187496f51d402
2024-10-10 01:00:29 +02:00
Martin Prikryl
d2deb06e87 Bug fix: Possibility that files in root folder were incorrectly used
Source commit: 88e091dd7ad1cbdac404d6e883ff8a44aa89b316
2024-03-12 14:36:12 +01:00
Martin Prikryl
804ec9c9c9 Bug 52: Use file hash as criterion for synchronization
https://winscp.net/tracker/52

Source commit: 66fd353f8e26a7bd3317ee7cc4e6d15e7d6cfb52
2023-11-07 02:03:32 +01:00
Martin Prikryl
2ec882ed95 Using an en-dash instead of a minus sign in window titles, local-local session names and various other places
Source commit: c4ea12980c1d69fe0a9560bcc5ba00810949212c
2021-02-16 00:46:17 +01:00
Martin Prikryl
86f186a37a Bug 1879: Failure when system settings change during synchronization
https://winscp.net/tracker/1879

Source commit: 6482b99d131c5d21ec150f42cb23eb0a65d6f4b2
2020-06-17 01:50:08 +02:00
Martin Prikryl
173dc56999 Bug 1838: Showing session name in Synchronization checklist and Keep remote directory up to date windows, when the operation was executed in a new window/from a command line
https://winscp.net/tracker/1838

Source commit: da39c9459f8eef6e4a5544c15353bfeff5384643
2020-03-31 01:04:10 +02:00
Martin Prikryl
94c286bb52 Custom commands keyboard shortcuts work on Synchronization checklist dialog
Source commit: fd53f5801b8516cf207465672be3080df5479b10
2019-12-20 01:17:27 +01:00
Martin Prikryl
71f6619a22 Removing NO_RESOURCES conditional block
(used for Salamander only)

Source commit: 84fceaacd30a1740e2d6bba49b9e9f2fc57574f4
2019-11-19 01:01:35 +01:00
Martin Prikryl
0548f74b20 Bug 902: Sorting find results
https://winscp.net/tracker/902

Source commit: 840e3b89b3b66c5805f5acd75ed893f91170e655
2019-10-22 07:46:29 +02:00
Martin Prikryl
fe5e2931a0 Bug 1786: Hints for synchronization action icons on synchronization checklist window
+ Improving hints for synchronization checklist window statusbar

https://winscp.net/tracker/1786

Source commit: 8ce26c1628e4d3d68d9081a8be1dfc0d1e5b626f
2019-09-14 01:16:43 +02:00
Martin Prikryl
ff6259d9fb Bug 1784: Allow opening the local or remote file from synchronization checklist in Windows Explorer or WinSCP, respectively
https://winscp.net/tracker/1784

Building on 084a35d7, with the use of 9015d810.

Source commit: 01c3de1f728f2499b80f14b4a489e461b9f24843
2019-09-11 00:58:18 +02:00
Martin Prikryl
a0d1e70926 State of browsing commands from 084a35d7 did not reflect a reversal of actions
Source commit: 5ea61de90c14c60b8552f11ec6707137a8d152d0
2019-09-10 00:54:44 +02:00
Martin Prikryl
084a35d7a7 On Synchronization Checklist window, local and remote directories can be opened in Windows Explorer and another instance of WinSCP, respectively
Source commit: c7b14c2c5673be35723aee7d00e88d2641330dd4
2019-08-23 01:00:55 +02:00
Martin Prikryl
4d3225fe9b Bug 1705: Command to un/check all files in a folder on Synchronization checklist window
https://winscp.net/tracker/1705

Source commit: 177f36aad7442e4fb7759d9fb28fa86d5e927ae9
2018-11-21 01:58:19 +01:00
Martin Prikryl
bb75b7f6a7 Flashing taskbar button, when synchronization checklist window shows with found changed files, while WinSCP is on background
Source commit: b3adcf78f88f494ca8da30ff27bc21624caeff63
2018-11-09 04:13:13 +01:00
Martin Prikryl
1907ecf492 Unused variable from 2389dd4a1
Source commit: 25e908210ad548be371b8ae5e35d8daa61e7ce25
2018-10-06 01:28:12 +02:00
Martin Prikryl
d6a8f507be Removing variable unused by 2389dd4a1
Source commit: 8f62d3f9d8018807412c68f1a547d67c1dc6b715
2018-10-05 01:08:01 +02:00
Martin Prikryl
2389dd4a1c File/directory rename can be resolved on Synchronization checklist window
Source commit: a2e0c76a2586ab0584f68dbc81081d6b0912058c
2018-10-04 01:58:16 +02:00
Martin Prikryl
03ad5d53a7 Do not repeat "Synchronizing" in Synchronization checklist window title, when on background
Source commit: ecf852d86e1514008661302e35dae63f5a612476
2018-09-24 01:30:16 +02:00
Martin Prikryl
d4a534321f Ctrl+Alt+A shortcut (or Ctrl+Click on Calculate command) to calculate sizes of all directories on synchronization checklist (addition to 14a6e2524)
Source commit: 90e3f19d6e1bfe837374de7977e60a38d39232e9
2018-09-22 02:03:05 +02:00
Martin Prikryl
dd9b68101d Operation status is shown on task bar button and tray icon title also for command-line operations (2nd)
Source commit: 7d680835b3b6ddcc0b74d71ef6ff508eb10682e0
2018-09-18 01:25:30 +02:00
Martin Prikryl
ddbb9d23e8 Showing overall synchronization progress on progress window and taskbar (by operations count for now only)
Source commit: ed687a18cea4487d37d881e4d669097b171f2700
2018-08-10 02:23:31 +02:00
Martin Prikryl
4df7eca506 Progress of all synchronization operations shows in the same window
Effectively rolled back 6290dac89, as now that progress window is used for whole synchronization operation, it naturally preserves the speed limit.

Rolled back FOnProcessedItem mechanism from 0de5a41246 as it's no longer needed as SynchronizeApply now runs every operation standalone (grouping of operations by directory was to avoid re-showing progress window for each operation).

Source commit: 3e444844778923fdc067bf58ead2209caf6291ff
2018-08-10 01:05:47 +02:00
Martin Prikryl
19f9225b37 Calculating sizes of all synchronization transfers at the very beginning and showing the sizes on checklist + Not calculating size of transfers again, if they were calculated already on the checklist
Source commit: 08ed8201139d023e0a1e0794a7c4a426d9d4ad6c
2018-08-09 01:28:02 +02:00
Martin Prikryl
5edc4e81c1 Factored out CountItemSize and CountItem
Source commit: ecc51d29747ffcc1221b6e8cd37e7ce92fc9896d
2018-08-09 01:05:42 +02:00
Martin Prikryl
da2a15e1ed Synchronization checklist can be scrolled with mouse wheel, while synchronization is running
Source commit: 3be963800aa6ff3379435ffdecf22f9184248e39
2018-08-08 01:04:17 +02:00
Martin Prikryl
14a6e25248 Size of directories can be calculated on Synchronization checklist window
Source commit: 0586532ab65d5a134b9295f8e8e6d8121e9d48f0
2018-08-01 01:13:46 +02:00
Martin Prikryl
110efc5709 Commit 0de5a41246 caused "Operation was successfully completed" being shown even when synchronization is canceled in process
Source commit: c61033cde4e84baca039c6eb5de8e7b9382b272e
2018-07-28 02:31:56 +02:00
Martin Prikryl
f2a12117c4 Not showing "Operation was successfully completed" when canceling Synchronization Checklist window opened from command-line
Source commit: ad2bff132bb970b1b63200029b18fe8efb77b706
2018-07-28 02:02:57 +02:00