Commit graph

13,015 commits

Author SHA1 Message Date
rich2014
d2971bd587 UPD: improve in TFileSource.GetFilesForPathAndType() 2026-05-31 23:31:23 +08:00
rich2014
1682fc7690 DEL: restore uOSUtils, remove GetFilesInDir() 2026-05-31 23:31:23 +08:00
rich2014
ef724fa7d2 ADD: implement IKASPathEditMate in TfrmCopyDlg, autocomplete is supported on various file sources 2026-05-31 23:31:23 +08:00
rich2014
5267c3387f ADD: implement IKASPathEditMate in TFileViewHeader, autocomplete is supported on various file sources 2026-05-31 23:31:23 +08:00
rich2014
8db33ee722 ADD: IKASPathEditMate in KASPathEdit for further refactor 2026-05-31 23:31:23 +08:00
rich2014
879ef8c6da ADD: GetFilesForPathAndType() in IFileSource, and implement it in TFileSource base on GetFiles() 2026-05-31 23:31:23 +08:00
Alexander Koblov
7bcf801792 ADD: JSONC highlighter (issue #2898) 2026-05-31 16:58:48 +03:00
Alexander Koblov
f5ed3acdfa DEL: Blurry icons 2026-05-31 16:47:39 +03:00
rich2014
c0e020f675 FIX: Compilation error, revert GetFilesInDir() from DCOSUtils into OSUtils 2026-05-31 10:28:45 +08:00
rich2014
a588ff1c95 FIX: the issue of incorrect path Auto Complete in the Copy/Move Dialog 2026-05-31 08:41:45 +08:00
rich2014
701927f0de FIX: the issue of incorrect path Auto Complete in the KASEditPath of FileView 2026-05-31 08:41:44 +08:00
rich2014
5b7cddf5c5 UPD: decouple file functionality from KASPathEdit by TKASPathEditGetFilesFunc, and remove GetFilesInDir() 2026-05-31 08:41:44 +08:00
rich2014
ed931d1894 UPD: copy GetFilesInDir() from KASPathEdit into DCOSUtils to further refactor 2026-05-31 08:41:44 +08:00
VenusGirl❤
c25aeeafb6
UPD: Korean language file (#2900) 2026-05-30 23:44:21 +03:00
Alexander Koblov
5d2ec82799 UPD: Russian language file 2026-05-30 21:03:26 +03:00
Alexander Koblov
0b6f62b153 DEL: Obsolete code 2026-05-30 20:10:53 +03:00
Alexander Koblov
7af7de1d8a FIX: Workaround - missing arrows on the toolbar buttons under Qt6 (issue #2750) 2026-05-30 18:40:46 +03:00
Alexander Koblov
b5f9bae122 FIX: Malformed parameter 2026-05-30 17:03:28 +03:00
Alexander Koblov
7c0b46c0e7 FIX: Wrong scaling (Gtk3) 2026-05-30 16:51:30 +03:00
Alexander Koblov
7d1f047d86 UPD: Korean language file (fixes #2853) 2026-05-30 16:12:21 +03:00
Alexander Koblov
2e4316dd39 UPD: Language files 2026-05-30 16:08:18 +03:00
Alexander Koblov
4178f6e58f ADD: Display RabbitVCS and GVfs emblems when overlay icons enabled 2026-05-30 13:48:46 +03:00
Alexander Koblov
b51733f25e UPD: Always display overlay icons for symbolic links, like other file managers (issue #2854) 2026-05-30 12:51:32 +03:00
Alexander Koblov
45895ad0ed ADD: More extensions to INI highlighter (issue #2898) 2026-05-30 12:45:37 +03:00
Alexander Koblov
0fa82eceb8 UPD: Wfx-plugins - read-only check 2026-05-29 23:27:54 +03:00
Alexander Koblov
d90959dbf0 UPD: Wfx-plugins - display read-only delete confirmation only for files with NTFS attributes 2026-05-29 20:06:09 +03:00
Alexander Koblov
56098e1312 ADD: Editor - Word wrap option (fixes #2886) 2026-05-29 19:59:01 +03:00
rich2014
b05b79bc9a FIX: in the FileViewHeader, the PathEdit will be in the wrong position when the address is visible 2026-05-29 21:56:09 +08:00
rich2014
3fabe6aef5 FIX: Name may be empty in virtual FileSource (root path in Mounted Drive) 2026-05-29 10:44:45 +08:00
Alexander Koblov
6b1a346caa FIX: Build snapshots 2026-05-28 20:49:27 +03:00
EH
3e601a1940
FIX: Virtual terminal - AutoFollow off-by-one and clear resets viewport (#2876) 2026-05-28 20:41:25 +03:00
rich2014
0ec7b7e32b FIX: the issue that TKASCDEdit could not gain focus when clicked 2026-05-28 17:30:15 +08:00
EH
307a682f27
FIX: SyncDirs — enable smooth progress bars (#2893)
Co-authored-by: heredie <heredie@localhost>
2026-05-26 20:46:25 +03:00
EH
adb32099c9
FIX: SyncDirs — preserve symlink timestamps on Linux (bug #3) (#2888) 2026-05-26 20:45:53 +03:00
EH
59607049b2
FIX: SyncDirs — preserve symlink follow/skip choice across file batches (#2887)
When TreeBuilder.BuildFromFiles() runs and the user answers 'follow all'
or 'skip all', the choice is stored in TreeBuilder.FSymLinkOption.
But after FreeAndNil(TreeBuilder) the choice was lost, so each new batch
of files started fresh with gOperationOptionSymLinks (default: ask), and
the dialog re-appeared for every symlink in every subsequent batch.

Fix: write back TreeBuilder.SymLinkOption to Self.SymLinkOption before
freeing the builder so the answer carries forward.

Co-authored-by: heredie <heredie@localhost>
2026-05-26 11:53:55 +03:00
rich2014
246f410673 UPD: simplified expression in UpdateRenameFileEditPosition() 2026-05-26 14:07:44 +08:00
rich2014
92fdf16192 UPD: update i18n for LCL 2026-05-26 14:04:55 +08:00
rich2014
a4c174d5ba UPD: update i18n for LCL 2026-05-25 12:29:43 +08:00
EH
6123a21ed0
FIX: Zip plugin - allow cancelling TAR archive packing mid-operation (#2874)
* FIX: zip plugin - allow cancelling TAR archive packing mid-operation

TAbTarArchive.SaveArchive iterated all items without ever checking
the abort flag, making it impossible to cancel a TAR/TGZ/TBZ2 pack
operation until all files had been written.

Add a DoArchiveProgress call with abort check after each item in the
save loop, identical to the pattern already used in TAbZipArchive.SaveArchive
(abziptyp.pas) and in all extract loops (abarctyp.pas).

When the user cancels, EAbUserAbort is raised, caught in PackFilesW,
and the incomplete archive is deleted if it did not exist before packing.

* FIX: zip plugin - prevent crash on TAR abort inside GZip archive

When TAbUserAbort propagates out of TAbTarArchive.SaveArchive (e.g.
from the abort check added to the save loop), it exits the IsGzippedTar
branch of TAbGzipArchive.SaveArchive without calling SwapToGzip. The
outer finally block then compares FStream (which equals FTarStream,
possibly nil) with NewStream (FGzStream) and incorrectly frees
NewStream. The destructor later calls SwapToGzip (restoring FStream to
the already-freed FGzStream) and then frees FStream a second time,
causing an access violation.

Fix: compare FGzStream instead of FStream in the finally condition.
FGzStream always holds the original gzip stream reference and is never
changed by SwapToTar/SwapToGzip, so the NewStream ownership check is
correct regardless of which swap state the archive is in.

---------

Co-authored-by: heredie <heredie@localhost>
2026-05-23 12:12:23 +03:00
rich2014
10a51f880a UPD: adjust vert alignment type in FileView in Lazarus 4.99 2026-05-23 10:55:00 +08:00
rich2014
617493ec78 UPD: fine-tune the position of the Inplace Rename Button on macOS 2026-05-22 11:33:26 +08:00
rich2014
4843768305 UPD: simplify vert alignment in edtRename in FileView in Lazarus 4.99 2026-05-22 10:47:48 +08:00
PhoebosL
d0140b8834
UPD: NormalizeAccentedChar function (#2865)
* UPD: NormalizeAccentedChar function

Changes in function logic to improve its performance especially in quick search / filter
 instead of Result := Result + cWorkingChar, which allocates memory on each iteration
the changed function in PR now works like so
allocate memory for string -> fill in accent-striped characters -> trim excess of space

* Update uaccentsutils.pas

---------

Co-authored-by: Alexander Koblov <alexx2000@mail.ru>
2026-05-21 10:01:52 +03:00
rich2014
27ca1b3be0 UPD: update zh_CN/zh_TW 2026-05-19 17:58:40 +08:00
rich2014
5e7a25c691 UPD: i18n for 'Open with default App' Modern ToolBar Item in ViewForm on macOS 2026-05-19 14:41:00 +08:00
rich2014
0291126ba2 ADD: 'Open with default App' Modern ToolBar Item in ViewForm on macOS 2026-05-19 14:40:21 +08:00
rich2014
7cf22b45ea FIX: the issue of misaligned image positions after cropping in ViewerForm 2026-05-19 12:40:23 +08:00
rich2014
8918485f72 FIX: Image.Cursor switching issue in ViewerForm 2026-05-19 12:12:32 +08:00
rich2014
f695bd75ae UPD: Remove unnecessary checks on ToolBar1.Visible; checks on btnHightlight.Down are sufficient (especially since ToolBar1 is always hidden on macOS) 2026-05-19 11:32:05 +08:00
rich2014
c6ff324ae8 UPD: refactor UndoXXX into TNormalizedRect in ViewerForm 2026-05-19 10:11:45 +08:00