Операции c несколькими файлами

Отметка файлов

При разработке FastRawViewer мы поняли, что стандартный режим выделения/отметки файлов нас не устраивает:

  • Случайный клик мышкой – сбивает выделение
  • Текущий просматриваемый файл – обязательно выделен, хотя это не всегда удобно.

По этой причине, в FastRawViewer версий 1.3.0 – 1.4.6 использовался собственный механизм отметки файлов, лишенный этих недостатков, но с особенностью: для отметки файла нужно использовать или Ctrl-Click, или клик строго в checkbox в верхнем правом углу иконки файла.

Начиная с версии 1.4.7 FastRawViewer поддерживает и стандартный (привычный по Windows Explorer/Mac Finder) режим отметки. Для переключения в этот режим нужно снять галочку в Preferences – Grid/Filmstrip – Advanced selection mode: accidental click does not ruin selection.

Advanced selection mode (включена по умолчанию)

Файл в «Grid View» (или в панели Filmstrip) может быть «отмечен» следующими способами:

  • Ctrl-Click на иконку файла
  • Click в checkbox в верхнем правом углу иконки (checkbox появляется у неотмеченных файлов при наведении мыши и показывается постоянно у отмеченных файлов)
  • Shift-Click в Grid View/Filmstrip выделяет диапазон файлов
    • если последнего файла у которого менялось не существует (например, файл был перемещен; либо сменился рабочий каталог), то Shift-Click выделяет диапазон от первого файла до того, в который сделан Shift-Click.
    • Выделяются файлы от последнего у которого менялось выделение через Ctrl-Click (или через клавиатуру) до того, на котором сделан Shift-Click
    • (поведение Shift-Click может быть изменено скрытой настройкой ShiftClickSelectionMode, см. раздел «дополнительные настройки» ниже).
  • Операциями в Menu-Select
    • (De)select current file – меняет состояние отметки;
    • (De)select and move to next – меняет отметку и переходит к следующему файлу;
    • Move to prev. and (de)select – переходит к предыдущему файлу и меняет его отметку;
    • Select All, Invert Selection, Deselect All – отметить все, сменить состояние у всех, отменить отметку у всех;
    • Select by Rating/Label – отметить все файлы с заданными меткой/рейтингом;
    • Save Selection to file – сохраняет список отмеченных в текстовый файл;
    • Load/Append selection from file – отмечает файлы из списка снимая/не снимая отметку с остальных.

Отмеченные файлы выделены другим цветом фона:

Цвет фона для отмеченных файлов можно изменить в Preferences – Interface – Selected files background.

Если выделены файлы с одинаковым именем (но разным расширением, например, пара CR2/DNG), то операции поворота, установки рейтинга и метки будут запрещены: применение их к двум файлам с одним именем и разными расширениями невозможны, ибо для такой пары файлов может существовать только один XMP-файл:

Разрешить XMP-операции можно отключением настройки XMP - Disable batch XMP operations if files with same name are selected. При ее отключении, XMP-файлы будут создаваться для всех отмеченных файлов, но по причине конфликта имен «выживут» только последние созданные.

Стандартный режим отметки

Стандартный режим отметки (выделения) файлов работает аналогично стандартному режиму в Windows Explorer/Mac Finder:

  • Клик мышкой (без модификаторов) оставляет выбранным тот (единственный) файл в которой кликнули
  • Ctrl-Click – переключает режим выделения у файла

Shift-Click, Shift-стрелочки – расширяет область выделения.

Операции над несколькими файлами

Контекстное меню

При нажатии кнопки мыши на любом из отмеченных файлов, появляется контекстное меню, показывающее возможные действия над группой:

Меню программы/горячие клавиши

Начиная с версии 1.4.6, в FastRawViewer для операций с несколькими файлами используются те же горячие клавиши/пункты меню, что и для работы с одиночным файлом.

Этот режим отключить, выключив настройку: Preferences – Interface – Grid/Filmstrip – Single file keys work for multiple files too, в этом случае FastRawViewer будет работать в режиме совместимости со старыми версиями, когда операции над отдельным файлом и над группой отмеченных файлов делаются разными горячими клавишами/пунктами меню.

Посколькую в режиме Advanced selection текущий файл может не входить в группу отмеченных, потребовалась специальная настройка, определяющая поведение программы в такой ситуации: Preferences - Grid/Filmstrip - If the current file is not in the group of selected files, single-file shortcuts will work with, с вариантами:

  • Current file - кнопки действий над файлами работают с текущим файлом, но не с группой.
  • Selected group - с выделенной группой
  • Both - текущий файл неявно включается в выделенную группу.

В режиме работы с несколькими файлами:

  • Стандартные действия, а именно
    Menu - File - Copy, Move, Pass to (program), Move to Rejected
    Menu - Adjust - Rotate/Flip
    Menu - XMP Metadata
    могут работать как с одним файлом, так и с несколькими, в зависимости от контекста:
    • В режиме просмотра одного файла - работают всегда с открытой файлом, а не с группой.
    • В режиме "просмотра плиткой", если есть отмеченные файлы, то работают с отмеченной группой
      • Если текущий файл отсутствует (например, текущая папка только-что открыта через панель Folders и ни на один файл не кликали), либо текущий файл входит в группу отмеченных
      • Если текущий файл не входит в группу отмеченных, но настройка If the current file... установлена в Selected group или в Both.

Групповой режим индицируется в меню:

  • File: Move, Copy, Move to Rejected, Run - вместо имени файла будет написано Move (Сopy, Pass to) NN files to
  • Adjust: над группой Rotate появляется заголовок Rotate NN selected files, над группой редактирования единственного файла (в режиме Single View): Adjust filename
  • XMP Metadata: первой строчкой меню появляется заголовок Rate/Label nn selected files.

Групповой режим индицируется в панели XMP Metadata и в нижней строчке программы :

  • Заголовок панели меняется на XMP Batch change: NN files
  • Звездочки меняются на снежинки
  • Залитые квадратики меток меняются на цветные рамки.

На рисунке показаны режим одного файла (слева) и режим нескольких файлов (справа):

Если у выбранной группы одинаковые рейтинг/метка, то снежинки/рамки будут яркими у соответствующего рейтинга/метки (картинка ниже, слева), если разные или неизвестные –то неяркими (справа на картинке):

Если для части выделенных файлов метаданные еще не прочитаны (т.к. настройка Preferences – File Handling - Sorting and Filtering - Lazy metadata read включена), то:

  • если таких файлов менее 30, то метаданные будут прочитаны и, если рейтинги/метки у всех отмеченных файлов одинаковы – будут показаны «жирные» значки.
  • Если файлов с неизвестными данными больше, то значки рейтинга/метки будут показаны «обычные» (как если бы рейтинги/метки были бы разными).

Поля Title/Description показываются аналогично рейтингам-меткам:

  • Если у всех отмеченных файлов они одинаковы – в панели XMP Metadata показывается общее для всех содержание соответсвующего поля.
  • Если разные (или неизвестны т.к. метаданные не прочтены) – выводится текст multiple values.

При работе с группой файлов, при включенной настройке XMP - Disable batch XMP operations if files with same name are selected, если в группе отмеченных файлов есть файлы с одинаковыми именами (например, file.CR2 и file.DNG), то XMP-операции (поворот, метка, рейтинг, title, description) будут запрещены.
Режим запрета XMP-операций (если есть конфликт имен) индицируется

  • в меню Adjust и XMP заголовком 'XMP change disabled: filename confilct'

В заголовке панели XMP Metadata (XMP Change disabled) и текстом на месте полей Title/Description

Смена Title/Description для группы отмеченных файлов

При использовании режима альтернативного режима работы с группой файлов (см. следующий раздел) Title/Description для группы файлов меняются через стандартное меню (XMP Metadata) и/или стандартный хоткей (Alt-D), либо через контекстное меню для группы файлов, или через клик в поля Title/Description в панели XMP Metadata. Если альтернативный режим выключен – групповое редактирование доступно через в меню Select/Batch и через контекстное меню для группы файлов.

Диалог редактирования отличается от редактирования Title/Description для единичного файла

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

Если у выделенной группы файлов одинаковые Title/Description, то они будут показаны в диалоге редактирования. Если разные - то в диалоге будет написано (на фоне формы редактирования), что значения разные.

При использовании группового изменения Title/Description работает Undo.

Действия с отмеченными файлами: режим совместимости со старыми версиями

При отключении настройки Preferences – Interface – Grid/Filmstrip – Single file keys work for multiple files too FastRawViewer будет работать в режиме совместимости с версиями 1.3-1.4.3:

При выключении режима Single file keys works for multiple files too:

  • Menu -> Select переименовывается в Menu -> Select/Batch
  • В этом меню появляются действия над группой файлов.
  • Соответствующие действия появляются и в:
    • настройках горячих клавиш (Ctrl-K)
    • помощи по актуальным клавишам (F1)
    • проверке "одна кнопка назначена на несколько действий" при старте программы.
  • При стандартных настройках, ни одному из групповых действий не сопоставлена никакая горячая клавиша, их следует настроить самостоятельно.
  • Поведение контекстных меню не меняется.

Undo: отмена файловых операций

При помощи Menu – File – Undo можно отменить последние файловые операции (в порядке, обратном порядку их выполнения).

Отмена возможна для

  • Назначения рейтинга/метки
  • Копирования
  • Перемещения
  • Удаления в «rejected»

Кроме этого, можно отменить поворот группы отмеченных файлов (для поворота отдельного файла отмены нет – просто поверните его еще раз в другую сторону).

После отмены операции перемещения (в другую папку или в _Rejected) для группы файлов – будет восстановлена и исходная отметка этой группы. При отмене других операций отметка не восстанавливается.