Запрос на диалог для управления сравнением каталогов

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Запрос на диалог для управления сравнением каталогов

Сообщение Avada »

То, что Гислер в TC 8.50 уделил серьёзное внимание выделению найденных дубликатов, замечательно. Это даёт шанс на благоприятное рассмотрение запроса на ещё один новый диалог — для удобного управления сравнением каталогов.
Как известно, там стандартный функционал весьма скромный, и народ по этому поводу уже не первый год много где выражает неудовольствие. Хорошо бы от слов перейти к делу здесь и сейчас, пока продолжается доработка интерфейса новой версии TC.
Можно сделать, как в Altap Salamander или SpeedCommander, промежуточный диалог между вызовом операции и её выполнением, можно ввести какие-то глобальные настройки (пусть не специальную страницу, как в FreeCommander, но хотя бы один или несколько ключей для задания умолчальных параметров сравнения), можно совместить то и это. Но какие-то продвижения необходимы.
Я тут архивчик выложил со скринами соответствующих диалогов в других ФМ, чтобы желающие могли посмотреть и, ежели что, объяснять Гислеру не на пальцах, а с наглядной ссылкой на имеющиеся аналоги. Собственно, из диалогов ясно, что там можно было бы сделать. (SpeedCommander у меня только принудительно русифицированный, английскую или немецкую версию дать не могу.) А что хотелось бы из этого увидеть именно в TC, давайте обсудим.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Поскольку предыдущий мой пост пока что никем и никак не комментировался, попробую высказать конкретные предложения.
Для начала вспомним, что сейчас может делать стандартная функция сравнения каталогом TC. Есть три команды:
cm_CompareDirs (Сравнить каталоги)
cm_CompareDirsWithSubdirs (Сравнить каталоги с учётом подкаталогов)
cm_DirMatch (Сравнить каталоги, скрыв одинаковые файлы)
По первой команде на каждой стороне выделяются:
• файлы, имён которых нет на другой панели (уникальные)
• при наличии одноимённого файла с двух сторон — более новые
Вторая команде делает то же самое, но дополнительно на каждой стороне выделяются каталоги, имён которых нет на другой панели.
Третья команда делает то же, что первая, но дополнительно скрывает все одинаковые (по используемому критерию) файлы с обеих сторон.
Вот, собственно, и всё. Никаких настроек этого поведения нет. Для более гибкого сравнения предлагается отправляться в окно синхронизации.

Переходим к предложениям. Прежде всего о том, чего в этой функции может и не быть. Это учёт содержимого имеющихся с двух сторон подкаталогов и — особенно — сравнение файлов по содержимому. Обе возможности реализованы в функции синхронизации, а при сравнении только текущих каталогов они более или менее существенно замедлят ход операции. (Хотя, конечно, возможность выделить с обеих сторон одноимённые подкаталоги с разным содержимым без открытия их структуры интересна, и её опциональное применение совсем исключать нельзя.)

Теперь о том, что быть должно.
Нынешняя функция сравнения позволяет одновременно выделить и уникальные файлы, и различающиеся по времени. Хорошо бы это разделить. По умолчанию — то и другое (как при синхронизации), но с возможностью показывать также только уникальные или только различающиеся.
Кроме того, может потребоваться выделение в имеющихся парах одноимённых файлов не самого нового, а наоборот, самого старого.
Нужна также возможность вообще не выделять файлы по дате/времени, используя другие критерии. В первую очередь — выделять одноимённые, но разноразмерные файлы, которую сейчас приходится реализовывать обходными путями.

Если по команде cm_CompareDirs появится некий промежуточный диалог, в нём хорошо бы предусмотреть возможность сразу реализовать функциональность двух остальных команд без их специального вызова. Пара дополнительных опций: "Только выделенные файлы" для автоматической фильтрации после сравнения и "С учётом подкаталогов" для выделения на каждой стороне уникальных каталогов. В идеале можно сделать отдельную группу опций "С учётом подкаталогов", где будут варианты "Только уникальные" или "C учётом содержимого".

Предполагается, что все эти установки запоминаются и могут сразу же использоваться без повторного выставления галок при новом вызове функции. Наконец, могут быть полезными возможности "тихого" сравнения (без вызова промежуточного диалога) с помощью какого-то ключа и быстрого сброса всех настроек сравнения в умолчальное состояние.

В альтернативных ФМ есть ещё всякие опции. Можно, например:
• сравнивать одноимённые файлы с разными атрибутами
• исключать при сравнении по маске определённые файлы/каталоги
• выделять не различные, а как раз одинаковые файлы
• учитывать не время модификации, а время создания или доступа
Но это уже пожелания на будущее, если по базовому функционалу будут подвижки.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Не могу сказать, что мне чего-то остро не хватает, но, раз уж пошла такая пьянка, хотелось бы иметь такой вариант: в режиме показа всех файлов из подкаталогов выделить только те, которые имеют тёзку в соседней панели (тоже без подкаталогов), но отличаются датой и/или размером. И - да, промежуточный диалог с опциями был бы уместен. Для моего случая интересно было бы выделить только более новых тёзок и более новых, только если отличаются по размеру. А если будет возможность включить режим "без подкаталогов" для обеих панелей из того же диалога - совсем хорошо.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Serge Yolkin писал(а):А если будет возможность включить режим "без подкаталогов" для обеих панелей из того же диалога - совсем хорошо.
ИМХО, это, если уж необходимо, надо делать до вызова команды сравнения. Как и до открытия всякого иного операционного диалога.
Я всё-таки предложил бы действовать по принципу "лучшее — враг хорошего". И для начала попытаться добиться, чтобы появился диалог хотя бы в общем виде.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Да я и не настаиваю. Написал об фиче, которой, появись она, реально стал бы пользоваться. А нет - скриптами почти всё решается.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Avada писал(а): возможность выделить с обеих сторон одноимённые подкаталоги с разным содержимым без открытия их структуры
А вот это действительно нужно и полезно.
Ответить