View Issue Details

IDProjectCategoryView StatusLast Update
0003789Far ManagerSort Orderpublic2020-10-26 23:58
ReporterAleXH Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Version3.0 
Summary0003789: Неправильная сортировка в панелях (wrong sorting in the panels)
Description5579
[quote=yjh 03.04.2020 12:03:46 +0300 - build 5579 1. Добавлена настройка Panel.ReverseSortCharCompat - при установке её в true отображение обратных режимов сортивоки происходит так же как в Far2/Far1 (маленька буква обратный порядок, большая - прямой). ][/quote]
Имхо баг древний и отношения к цитате не имеет.
Steps To ReproduceСкачиваем дистриб, распаковываем в новую, пустую папку,
Far.exe.ini
[General]
UseSystemProfiles=0

Запускаем Far, создаём 2 файла с именами, сначала "1", затем "2", в панелях сортируем по имени CtrlF3, mode="n", порядок расположения файлов 1 2, т.е по возрастанию веса имени, переключаем в режим сортировки по дате записи в файл - CtrlF5, mode="w", порядок расположения файлов 2 1, т.е по убыванию веса времени изменения.
Additional InformationОстальные режимы сортировок не проверял.
TagsNo tags attached.
Build0

Activities

shmuel

2020-04-11 10:27

developer   bugnote:0016786

Не вижу по вашему описанию, что именно неправильно работает.
При нажатии CtrlF5, если была включена другая сортировка, устанавливается обратная сортировка по времени модификации файлов. Это так и задумано. А настройка Panel.ReverseSortCharCompat (если я правильно понимаю) влияет не на сортировку, а только на индикацию.

yjh

2020-04-11 18:40

developer   bugnote:0016787

Совершенно верно - она приводит индикацию сортировки к тому виду который был у Far2 ("обратный" вид относительно Far3 для сортировок по времени/размеру).

AleXH

2020-04-13 05:32

reporter   bugnote:0016802

Last edited: 2020-04-13 06:12

Баг таки в Panel.ReverseSortCharCompat=true - буквы одного регистра соответствуют РАЗНЫМ направлениям сортировок, тогда как должны быть сонаправлены - строго либо по возрастаюнию, либо по убыванию, т.е.:
Прямой (по возрастанию) счёт: 1 2 3 4, Обратный (по убыванию) счёт: 4 3 2 1. Прямому соответствует прописной регистр, обратному строчный. Т.е. должно быть:

[CtrlF3] "1" < "2" = "N", "1" > "2" = "n"
[CtrlF5] t1 < t2 (в сек от РХ, 1970) = "W", t2 > t1 = "w"

Теперь создаём файл "1", затем файл "2", т.е. t1 < t2, Panel.ReverseSortCharCompat=true, сортируем CtrlF3, смотрим на порядок следования файлов и регистр буквы индицирующей режим сортировки - "n" 1 2 (неправильно) CtrlF5 "w" 2 1 (правильно)

Разумеется должны быть математически сонаправлены все виды сортировок.

DrKnS

2020-04-13 08:58

administrator   bugnote:0016803

Сортировка по возрастанию - от меньего к большему, индикатор - маленькая буква.
Сортировка по убыванию - от большего к меньшему, индикатор - большая буква.
Достаточно очевидно, что A меньше Z.
Достаточно очевидно, что 1 меньше 9.
Достаточно очевидно, что 01/01/1980 меньше 31/12/1990.


Исторически сложилось так, что при сортировке по некоторым критериям (например, по размеру файлов или дате создания) пользователю милее и логичнее имень обратный порядок по умолчанию. Достаточно очевидно, почему.

В Far 1/2 так и было. Однако, реализовано это было ректально - инвертированием самого определения сортировки для чисел и дат. В результате получалась дичь - для, скажем, имен файлов маленькая буква означала сортировку по возрастанию, а для размеров - внезапно, по убыванию.

В Far 3 это было исправлено: маленькая буква - всегда от меньшего к большему, от A к Z, от 1 к 9, от 01/01/1980 к 31/12/1990. Большая - всегда от большего к меньшему.

Чтобы не ломать привычки пользователей, которые по Ctrl+F5/F6 хотят видеть самые новые/жирные файлы в начале списка, в этих режимах изначально включается обратная сортировка, что видно по индикатору.

Аналогично ведет себя сортировка в более других программах. Переключите в проводнике на таблицу, потыкайте заголовки колонок и понаблюдайте за направлением треугольников.

Так что да, раньше был баг, и ReverseSortCharCompat возвращает этот баг. С моей точки зрения опциональное воскрешение багов бессмысленно, но автор опции говорит, что при использовании одновременно Far 2 и Far 3 разное поведение индикатора сбивает с толку.

AleXH

2020-04-13 09:29

reporter   bugnote:0016804

Last edited: 2020-04-13 09:31

Понял, полагал из названия переменной Panel.ReverseSortCharCompat=true подразумевается реверс индикаторов, а не восстановление багов Far2 - может переменую обозвать более точно? Что-то в духе SortCharFar2? Согласен, имхо бред возвращать баговое поведение, да и вообще любые костыли к Far2 - проехали уже давно.

Issue History

Date Modified Username Field Change
2020-04-11 10:18 AleXH New Issue
2020-04-11 10:27 shmuel Note Added: 0016786
2020-04-11 18:40 yjh Note Added: 0016787
2020-04-12 11:38 shmuel Status new => closed
2020-04-12 11:38 shmuel Resolution open => no change required
2020-04-13 05:32 AleXH Status closed => feedback
2020-04-13 05:32 AleXH Resolution no change required => reopened
2020-04-13 05:32 AleXH Note Added: 0016802
2020-04-13 06:01 AleXH Note Edited: 0016802
2020-04-13 06:01 AleXH Note Edited: 0016802
2020-04-13 06:12 AleXH Note Edited: 0016802
2020-04-13 08:58 DrKnS Note Added: 0016803
2020-04-13 09:29 AleXH Note Added: 0016804
2020-04-13 09:29 AleXH Status feedback => new
2020-04-13 09:31 AleXH Note Edited: 0016804
2020-10-26 23:56 DrKnS Project Plugins => Far Manager
2020-10-26 23:56 DrKnS Category _Common => Sort Order
2020-10-26 23:58 DrKnS Status new => closed
2020-10-26 23:58 DrKnS Build => 0
2020-10-26 23:58 DrKnS Resolution reopened => no change required