View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003382 | Far Manager | Panel | public | 2017-01-12 02:24 | 2017-06-28 09:48 |
Reporter | lkintact | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Summary | 0003382: Форматирование кол-ва файлов и папок в строке информации о помеченных файлах | ||||
Description | Помечаю содержимое директории с большим кол-вом файлов и папок. Я думаю, строка "Байт: 13,562,452,639, файлов: 212,220, папок: 2,112" лучше бы воспринималась для чтения, чем "Байт: 13,562,452,639, файлов: 212220, папок: 2112", как сделано сейчас. build 4880 x86. | ||||
Tags | No tags attached. | ||||
Build | |||||
|
вы можете сами менять данный формат через файл Far***.lng.custom: http://forum.farmanager.com/viewtopic.php?p=135288#p135288 |
|
Спасибо за наводку, не знал об этой возможности, но, если я правильно понял, настройки Far*.lng/Far*lng.custom не позволяют отображать кол-во файлов и папок с запятой в качестве символа разделителя групп разрядов (т.е. "файлов: 212,220", вместо "файлов: 212220"), а я вёл речь именно об этом. |
|
Вообще-то позволяют. Для MListFileSize замените {1} и {2] на {1:n} {2:n} и будет разделитель. НО! только тот, который задан в языковых настройках системы. far:config Inreface.FormatNumberSeparators игнорируется. |
|
PS: может быть есть способ задать свой разделитель, но я не настолько хорошо знаю возможности используемой библиотеки форматирования. |
|
Большое спасибо за подсказку. Не могли бы Вы и название этой библиотеки сказать, я бы поизучал её возможности? |
|
https://github.com/fmtlib/fmt/blob/master/fmt/format.h https://github.com/fmtlib/fmt/blob/master/fmt/format.cc |
|
Похоже в либе или её применении в фаре баг. Разделитель тысяч всегда char. Если в настройках системы задать юникодный разделитель, который не поместится в char, например U+2219 (bullet operator), он грубо обрезается (может быть конвертится в ACP, а потом просто wchar = achar вместо обратной конвертации) и соответственно для формата {i:n} выводится неправильный разделитель. |
|
У себя поправил либу, заодно прикрутил фаровский locale::GetThousandSeparator, Inreface.FormatNumberSeparators теперь учитывается. Но вообще править сорсы сторонней либы - плохой вариант. Комитить я это не буду, может быть DrKnS предложит более цивильное решение... |
|
|
|
А что, собственно, подсказать? У либы есть автор, у автора есть гитхаб. Делаем пулл реквест, ждем мержа, апдейтим либу. |
|
Мои изменения годятся только для либы в фаре, но не в общем случае. |
|
Я о "грубо обрезается". |
|
https://github.com/fmtlib/fmt/issues/529 |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-12 02:24 | lkintact | New Issue | |
2017-01-12 03:25 | abelenki | Note Added: 0015159 | |
2017-01-12 04:45 | lkintact | Note Added: 0015160 | |
2017-06-26 20:06 | 2useven10 | Note Added: 0015451 | |
2017-06-26 20:10 | 2useven10 | Note Added: 0015452 | |
2017-06-27 01:55 | lkintact | Note Added: 0015453 | |
2017-06-27 02:59 | 2useven10 | Note Added: 0015454 | |
2017-06-27 10:48 | 2useven10 | Note Edited: 0015454 | |
2017-06-27 21:51 | 2useven10 | Note Added: 0015455 | |
2017-06-27 22:21 | 2useven10 | Note Edited: 0015455 | |
2017-06-28 07:26 | 2useven10 | Note Added: 0015456 | |
2017-06-28 08:14 | 2useven10 | File Added: format.diff.7z | |
2017-06-28 08:14 | 2useven10 | Note Edited: 0015456 | |
2017-06-28 08:15 | 2useven10 | Note Edited: 0015456 | |
2017-06-28 08:21 | DrKnS | Note Added: 0015457 | |
2017-06-28 08:42 | 2useven10 | Note Added: 0015458 | |
2017-06-28 08:46 | DrKnS | Note Added: 0015459 | |
2017-06-28 09:48 | 2useven10 | Note Added: 0015460 |