From 8e3b710abbc45e7acce6a9e415fdcc87fb5fa0e9 Mon Sep 17 00:00:00 2001 From: wp_xyz Date: Sun, 19 Jan 2025 16:40:41 +0100 Subject: [PATCH] LCL/ShellCtrl: ShellListView can display file size in GB. --- lcl/languages/lclstrconsts.ca.po | 5 +++++ lcl/languages/lclstrconsts.co.po | 5 +++++ lcl/languages/lclstrconsts.cs.po | 5 +++++ lcl/languages/lclstrconsts.de.po | 6 ++++++ lcl/languages/lclstrconsts.el.po | 5 +++++ lcl/languages/lclstrconsts.es.po | 5 +++++ lcl/languages/lclstrconsts.fi.po | 5 +++++ lcl/languages/lclstrconsts.fr.po | 5 +++++ lcl/languages/lclstrconsts.he.po | 5 +++++ lcl/languages/lclstrconsts.hu.po | 5 +++++ lcl/languages/lclstrconsts.id.po | 5 +++++ lcl/languages/lclstrconsts.it.po | 5 +++++ lcl/languages/lclstrconsts.ja.po | 5 +++++ lcl/languages/lclstrconsts.ko.po | 5 +++++ lcl/languages/lclstrconsts.lt.po | 5 +++++ lcl/languages/lclstrconsts.nl.po | 5 +++++ lcl/languages/lclstrconsts.no.po | 5 +++++ lcl/languages/lclstrconsts.pl.po | 5 +++++ lcl/languages/lclstrconsts.pot | 5 +++++ lcl/languages/lclstrconsts.pt.po | 5 +++++ lcl/languages/lclstrconsts.pt_BR.po | 5 +++++ lcl/languages/lclstrconsts.ru.po | 5 +++++ lcl/languages/lclstrconsts.sk.po | 5 +++++ lcl/languages/lclstrconsts.tr.po | 5 +++++ lcl/languages/lclstrconsts.uk.po | 5 +++++ lcl/languages/lclstrconsts.zh_CN.po | 5 +++++ lcl/languages/lclstrconsts.zh_TW.po | 5 +++++ lcl/lclstrconsts.pas | 1 + lcl/shellctrls.pas | 15 +++++++++++---- 29 files changed, 148 insertions(+), 4 deletions(-) diff --git a/lcl/languages/lclstrconsts.ca.po b/lcl/languages/lclstrconsts.ca.po index d242f1ab85..d45fb11deb 100644 --- a/lcl/languages/lclstrconsts.ca.po +++ b/lcl/languages/lclstrconsts.ca.po @@ -1530,6 +1530,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.co.po b/lcl/languages/lclstrconsts.co.po index 2fbde85132..b17cfc862e 100644 --- a/lcl/languages/lclstrconsts.co.po +++ b/lcl/languages/lclstrconsts.co.po @@ -1470,6 +1470,11 @@ msgstr "%s ottetti" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.cs.po b/lcl/languages/lclstrconsts.cs.po index 06b3f81c48..1512c29145 100644 --- a/lcl/languages/lclstrconsts.cs.po +++ b/lcl/languages/lclstrconsts.cs.po @@ -1557,6 +1557,11 @@ msgstr "%s bajtů" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.de.po b/lcl/languages/lclstrconsts.de.po index f7522228d1..ed3ab510cc 100644 --- a/lcl/languages/lclstrconsts.de.po +++ b/lcl/languages/lclstrconsts.de.po @@ -1523,6 +1523,11 @@ msgstr "%s Bytes" msgid "Folder" msgstr "Ordner" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" @@ -1580,3 +1585,4 @@ msgstr "Größe" #: lclstrconsts.sshellctrlstype msgid "Type" msgstr "Typ" + diff --git a/lcl/languages/lclstrconsts.el.po b/lcl/languages/lclstrconsts.el.po index 7611817c1a..d42f8eeb7d 100644 --- a/lcl/languages/lclstrconsts.el.po +++ b/lcl/languages/lclstrconsts.el.po @@ -1463,6 +1463,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.es.po b/lcl/languages/lclstrconsts.es.po index 5903f4938b..1b8a1667d3 100644 --- a/lcl/languages/lclstrconsts.es.po +++ b/lcl/languages/lclstrconsts.es.po @@ -1548,6 +1548,11 @@ msgstr "%s bytes" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.fi.po b/lcl/languages/lclstrconsts.fi.po index 90378c183a..98ae2bf7af 100644 --- a/lcl/languages/lclstrconsts.fi.po +++ b/lcl/languages/lclstrconsts.fi.po @@ -1545,6 +1545,11 @@ msgstr "%s tavua" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.fr.po b/lcl/languages/lclstrconsts.fr.po index ad71616590..8ff354d352 100644 --- a/lcl/languages/lclstrconsts.fr.po +++ b/lcl/languages/lclstrconsts.fr.po @@ -1557,6 +1557,11 @@ msgstr "%s octets" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.he.po b/lcl/languages/lclstrconsts.he.po index a5b401f0ac..0a2898a806 100644 --- a/lcl/languages/lclstrconsts.he.po +++ b/lcl/languages/lclstrconsts.he.po @@ -1579,6 +1579,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.hu.po b/lcl/languages/lclstrconsts.hu.po index ce05f32128..1f6d95c6b2 100644 --- a/lcl/languages/lclstrconsts.hu.po +++ b/lcl/languages/lclstrconsts.hu.po @@ -1555,6 +1555,11 @@ msgstr "%s bájt" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.id.po b/lcl/languages/lclstrconsts.id.po index 89aa03b066..b33e1f736a 100644 --- a/lcl/languages/lclstrconsts.id.po +++ b/lcl/languages/lclstrconsts.id.po @@ -1529,6 +1529,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.it.po b/lcl/languages/lclstrconsts.it.po index b69820caa5..2acfa75aee 100644 --- a/lcl/languages/lclstrconsts.it.po +++ b/lcl/languages/lclstrconsts.it.po @@ -1561,6 +1561,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.ja.po b/lcl/languages/lclstrconsts.ja.po index 6dbf311bce..3ebd9b25ec 100644 --- a/lcl/languages/lclstrconsts.ja.po +++ b/lcl/languages/lclstrconsts.ja.po @@ -1556,6 +1556,11 @@ msgstr "%s バイト" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.ko.po b/lcl/languages/lclstrconsts.ko.po index f10183a326..8447c1ffea 100644 --- a/lcl/languages/lclstrconsts.ko.po +++ b/lcl/languages/lclstrconsts.ko.po @@ -1560,6 +1560,11 @@ msgstr "%s 바이트" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.lt.po b/lcl/languages/lclstrconsts.lt.po index 74529e8e6d..d0675530c7 100644 --- a/lcl/languages/lclstrconsts.lt.po +++ b/lcl/languages/lclstrconsts.lt.po @@ -1558,6 +1558,11 @@ msgstr "%s baitų" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.nl.po b/lcl/languages/lclstrconsts.nl.po index 1348196e13..b31ef2bb47 100644 --- a/lcl/languages/lclstrconsts.nl.po +++ b/lcl/languages/lclstrconsts.nl.po @@ -1563,6 +1563,11 @@ msgstr "%s bytes" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.no.po b/lcl/languages/lclstrconsts.no.po index 2602d6c379..922434fb78 100644 --- a/lcl/languages/lclstrconsts.no.po +++ b/lcl/languages/lclstrconsts.no.po @@ -1528,6 +1528,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.pl.po b/lcl/languages/lclstrconsts.pl.po index b76c6cbdc4..d7b7c8a9ae 100644 --- a/lcl/languages/lclstrconsts.pl.po +++ b/lcl/languages/lclstrconsts.pl.po @@ -1558,6 +1558,11 @@ msgstr "%s bajtów" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.pot b/lcl/languages/lclstrconsts.pot index c2d4f7787c..68ae4e2c67 100644 --- a/lcl/languages/lclstrconsts.pot +++ b/lcl/languages/lclstrconsts.pot @@ -1460,6 +1460,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.pt.po b/lcl/languages/lclstrconsts.pt.po index d6c45c8137..799d690a67 100644 --- a/lcl/languages/lclstrconsts.pt.po +++ b/lcl/languages/lclstrconsts.pt.po @@ -1567,6 +1567,11 @@ msgstr "%s bytes" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format, fuzzy #| msgid "" diff --git a/lcl/languages/lclstrconsts.pt_BR.po b/lcl/languages/lclstrconsts.pt_BR.po index fd715dcf1a..cb6b4b4120 100644 --- a/lcl/languages/lclstrconsts.pt_BR.po +++ b/lcl/languages/lclstrconsts.pt_BR.po @@ -1537,6 +1537,11 @@ msgstr "%s bytes" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.ru.po b/lcl/languages/lclstrconsts.ru.po index 8454367810..c128641fb9 100644 --- a/lcl/languages/lclstrconsts.ru.po +++ b/lcl/languages/lclstrconsts.ru.po @@ -1467,6 +1467,11 @@ msgstr "%s байт" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.sk.po b/lcl/languages/lclstrconsts.sk.po index 217bcc25bc..f1f3c33632 100644 --- a/lcl/languages/lclstrconsts.sk.po +++ b/lcl/languages/lclstrconsts.sk.po @@ -1469,6 +1469,11 @@ msgstr "%s bytov" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.tr.po b/lcl/languages/lclstrconsts.tr.po index 1d40faa704..ca39bb1a0d 100644 --- a/lcl/languages/lclstrconsts.tr.po +++ b/lcl/languages/lclstrconsts.tr.po @@ -1537,6 +1537,11 @@ msgstr "%s byte" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.uk.po b/lcl/languages/lclstrconsts.uk.po index 1aa3c3f08c..30f8f9f586 100644 --- a/lcl/languages/lclstrconsts.uk.po +++ b/lcl/languages/lclstrconsts.uk.po @@ -1540,6 +1540,11 @@ msgstr "%s байтів" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.zh_CN.po b/lcl/languages/lclstrconsts.zh_CN.po index ead6935c44..95b01aa849 100644 --- a/lcl/languages/lclstrconsts.zh_CN.po +++ b/lcl/languages/lclstrconsts.zh_CN.po @@ -1469,6 +1469,11 @@ msgstr "%s字节" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/languages/lclstrconsts.zh_TW.po b/lcl/languages/lclstrconsts.zh_TW.po index 4f080a32ec..ea91943233 100644 --- a/lcl/languages/lclstrconsts.zh_TW.po +++ b/lcl/languages/lclstrconsts.zh_TW.po @@ -1467,6 +1467,11 @@ msgstr "" msgid "Folder" msgstr "" +#: lclstrconsts.sshellctrlsgb +#, object-pascal-format +msgid "%.1n GB" +msgstr "" + #: lclstrconsts.sshellctrlsinvalidpath #, object-pascal-format msgctxt "lclstrconsts.sshellctrlsinvalidpath" diff --git a/lcl/lclstrconsts.pas b/lcl/lclstrconsts.pas index 35d2eeef2d..02309703b9 100644 --- a/lcl/lclstrconsts.pas +++ b/lcl/lclstrconsts.pas @@ -319,6 +319,7 @@ resourceString sShellCtrlsName = 'Name'; sShellCtrlsSize = 'Size'; sShellCtrlsType = 'Type'; + sShellCtrlsGB = '%.1n GB'; sShellCtrlsMB = '%s MB'; sShellCtrlsKB = '%s kB'; sShellCtrlsBytes = '%s bytes'; diff --git a/lcl/shellctrls.pas b/lcl/shellctrls.pas index 5a6b63ba93..cb243a547e 100644 --- a/lcl/shellctrls.pas +++ b/lcl/shellctrls.pas @@ -447,14 +447,21 @@ begin end; function FileSizeToStr(AFileSize: Int64): String; +const + ONE_KB = 1024; + ONE_MB = 1024 * 1024; + ONE_GB = 1024 * 1024 * 1024; begin - if AFileSize < 1024 then + if AFileSize < ONE_KB then Result := Format(sShellCtrlsBytes, [IntToStr(AFileSize)]) else - if AFileSize < 1024 * 1024 then - Result := Format(sShellCtrlsKB, [IntToStr(AFileSize div 1024)]) + if AFileSize < ONE_MB then + Result := Format(sShellCtrlsKB, [IntToStr(AFileSize div ONE_KB)]) else - Result := Format(sShellCtrlsMB, [IntToStr(AFileSize div (1024 * 1024))]); + if AFileSize < ONE_GB then + Result := Format(sShellCtrlsMB, [IntToStr(AFileSize div (ONE_MB))]) + else + Result := Format(sShellCtrlsGB, [AFileSize / ONE_GB]); end; operator = (const A, B: TMethod): Boolean;