Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

SuperWDX

Плагин для TC
«SuperWDX»
Supercolumn.png
Тип Контентный плагин
Версия 2.3.1b2
Размер 793 KB
Автор Павел Дубровский, Дмитрий Воротилин.
Лицензия freeware
Исходный код открыт
Статус Развивается
Требования TC 6.50+
Страница Wincmd.ru
Назначение Надстройка над функциями WDX
Возможность локализации есть
Поддержка unicode нет
Список всех плагинов

О плагине

WDX-плагины, появившиеся в TC 6.50, обеспечили Total Commander новый скачок функциональности. Большое количество плагинов, появившихся через некоторое время, добавило в TC самые разнообразные возможности.
Однако было очевидно, что некоторые функции работы с WDX были реализованы лишь частично или не реализованы вообще. Так, например, было невозможно настроить динамическую смену пользовательских колонок. Не было автоматического вывода данных в зависимости от расширения обрабатываемого файла. Фактически, TC позволял только настроить несколько наборов пользовательских колонок, менять которые пользователь должен был самостоятельно.
Плагин SuperWDX смог устранить некоторые из этих недостатков. Он позволяет:

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

Возможности

Каждое поле SuperWDX, по сути, может заменить все наборы колонок Total Commander. Принцип настройки полей следующий: пользователь указывает, какие используются плагины для каждого типа файлов. Возможности комбинирования вывода из плагинов не ограничены, поэтому к одному и тому же типу файлов можно привязать несколько подходящих плагинов. Как это выглядит:

Supercolumn.png

Общий принцип настройки таков: в поле Расширение указывается расширение нужного типа файлов (например png). В поле Строка данных указываются, какие данные и из каких плагинов о этом файле необходимо отображать (например Размер: %Width@Images.wdx%x%Height@Images.wdx%x%BPP@Images.wdx%).

Настройка

После установки плагина нужно запустить программу настройки SSettings. При первом запуске появится окно, в котором нужно указать каталог, в который устанавливаются wdx-плагины.
Все wdx-плагины, находящиеся в указанном каталоге (и его подкаталогах) смогут использоваться SuperWDX для работы.

Вид программы настройки

Программа установки имеет англоязычный интерфейс по умолчанию. Выбор локализации производится в меню "Options"->"Language/Язык", либо по горячей клавише Ctrl+L.

Общие колонки

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

Selectcolumn.png
  • Добавление: Кнопка "+" во вкладках колонок, горячая клавиша Ctrl+Ins.
  • Удаление: Щелчок средней кнопкой мыши по вкладке колонки, горячая клавиша Ctrl+Del.

Каждая добавленная колонка будет отображена плагином в виде отдельного поля с названием в виде SUPER_COLUMN #X, где X - порядковый номер колонки. Макимальное количество поддерживаемых колонок - 255. Минимальное количество колонок - 1.

Установка и форматирование строк данных

Ввод расширений:
Введите в поле "Расширение:" расширение файлов (без точки), для которых вы будете настраивать отображение данных. Возможны следующие варианты:

  • Одно расширение (например mp3) - настроить отображение для всех файлов с этим расширением.
  • Расширения через точку с запятой (например mp3;ogg;wma - настроить отображение для всех файлов с указанными расширениями.
  • <DEF> - настроить отображение по умолчанию (для всех файлов, для которых прямо не указано что-то другое).
  • <DIR> - настроить отображение для всех каталогов.

Ввод строк данных:
Способ первый: выберите в поле "Список плагинов" нужный, в списке "Поля плагина" выберите нужное поле плагина, и щёлкните по нему дважды. В поле "Строка данных" добавится строка в формате %поле@плагин%. Добавьте столько строк, сколько требуется, потом нажмите Alt+Enter, или кнопку "Применить", настройки добавятся в общий список.
Способ второй: нажать кнопку "+" рядом с полем "Строка данных", появится список плагинов, аналогичный тому, что присутствует в Total Commander. Добавьте столько строк, сколько требуется, потом нажмите Alt+Enter, или кнопку "Применить", настройки добавятся в общий список.

Настройка полей плагина

Настраиваемые каталоги

Плагин позволяет указывать отдельные настройки отображения данных для разных каталогов. Например, для каталога с avi-файлами будет полезна информация о медиаданных, для каталога с документацией - авторство и объём документов и т.д.
Эта возможность реализована в SuperWDX в виде настраиваемых каталогов.

Настройка отображения для определённого каталога производится следующим способом:

  • Нужно нажать кнопку "Добавить каталог". В появившемся диалоге выбрать каталог, для которого будет производиться настройка.
  • Настроить колонки плагина. При сохранении изменений в указанном каталоге появится файл, содержащий сохранённые настройки (по умолчанию файл имеет имя folder.ini). Этот файл может быть вручную скопирован в другие каталоги.

В этом каталоге (и только в нём) плагин будет отображать данные в колонке в соответствии с указанными настройками (если соответствующая возможность не отключена в настройках).
Список всех каталогов, настроенных соответствующим образом через программу настройки будет отображён в списке каталогов. Переключиться на настройку соответствующего каталога можно выбрав необходимый пункт в этом списке; пункт "\" означает настройку общих колонок.

Дополнительно

Ssettings menu.png

Правка:

Ssettings edit.png
  • Копировать строку данных: копирует форматированную строку для выбранного расширения.
  • Вставить строку данных: вставляет форматированную строку данных, привязывая её расширению файла (появляется диалог ввода расширения).
  • Удалить строку данных: удаляет выбранное расширение и привязанную к нему строку данных.
  • Заменить расширение: меняет выбранное расширение, оставляя привязанную контентную строку неизменной.
  • Быстрый фильтр: включает фильтрацию списков для быстрого поиска нужного содержимого. Работает для списка плагинов и для списка расширений (перед нажатием нужно переместить фокус на нужный список).
  • Применить строку данных: при редактировании привязывает строку данных к редактируемому расширению.
  • Добавить колонку: добавляет колонку.
  • Удалить колонку: удаляет колонку.

Настройка:

Ssettings settings.png
  • Язык/Language: выбрать язык интерфейса.
  • Сохранить: применяет все изменения в настройках (срабатывает автоматически при закрытии программы).
  • Разрешить использовать значение по умолчанию: разрешает использовать преднастроенную строку данных для файлов, для которых такая строка явно не указана (настраивается для расширения <DEF>).
  • Показывать код ошибки: если включено, то в случае, если плагин не сможет получить данные из файла, то он выводит код произошедшей ошибки, иначе - пустую строку.
  • Заменять пустые поля именем файла: если значение, полученное из файла, пусто, то выводится имя файла (полезно для медиа-файлов без тегов).
  • Автосохранение настроек: если включено, все измененения будут применены сразу же (без необходимости нажатия пункта "Сохранить".

Запрос данных для колонки:

Ssettings request.png
  • Как обычно: запрос данных будет проводиться для всех файлов на панели по очереди. На время запроса работа с TC блокируется.
  • В отдельном потоке: плагин будет выполнять запрос в отдельном потоке, работа с TC не блокируется, информация выводится на панель по мере её получения. Внимание: если получение информации занимает очень много времени (например, при подсчёте размера каталога с большим количеством файлов), может создаться впечатление, что плагин не работает.
  • По нажатии <ПРОБЕЛА>: плагин будет выполнять запрос для файла, только когда на нём будет нажат пробел. Рекомендуется только для полей, получение данных из которых занимает ОЧЕНЬ большое время, либо - если вам просто удобнее так получать информацию.

Настраиваемый вид:

Ssettings view.png
  • Разрешить настраиваемый вид: включить поддержку настраиваемых каталогов.
  • Шаблон имени локального файла: установить имя для файла, в котором будут храниться настройки индвидуального отображения каталогов (по умолчанию folder.ini).

Плагины:

Ssettings plugins.png
  • Выбрать папку с плагинами: выбор каталога, в который установлены wdx-плагины.
  • Перечитать папку с плагинами: ищет все wdx-плагины в указанном каталоге и обновляет список (обычно не требуется, т.к. программа сама при каждом запуске обновляет список).

Предпросмотр:

Ssettings preview.png
  • Предпросмотр (горячая клавиша Alt+P): вызывает форму, в которой можно увидеть, какой результат даст та или иная контентная строка для того или иного файла. Результат показывается для выбранного файла и контентной строки, настраиваемой в данный момент.

GetFormattedValue

Начиная с версии 2.1 в SuperWDX появилась импортируемая функция GetFormattedValue, позволяющая использовать его в ваших собственных приложениях. Функция написана "по образу и подобию" функций wdx-плагинов, ниже дано её детальное описание.

TContentGetFormattedValue = function (FileName,ContentString:pchar; FieldValue:pchar; MaxLen:Integer):Integer; stdcall;
  • FileName: указатель на имя файла, для которого нужно получить данные.
  • ContentString: указатель на контентную строку, задающую формат получения данных (в том же формате, что и при настройке плагина, например %Width@Images.wdx% x %Height@Images.wdx%).
  • FieldValue: указатель на буферную строку, которая будет содержать в себе результат.
  • MaxLen: максимальная длина буфера.

В случае успешного выполнения, функция возвращает 1, иначе возвращает 0.

Пример вызова функции:

Procedure GetData (FileName,ContentString:string);
var
hLib: THandle;
GFV: TContentGetFormattedValue;
res:array [0..2*1024] of char;
begin
Result:= '';
hlib:=LoadLibrary ('Super_wdx.wdx');
if hLib=0 then Exit;
@GFV:= GetProcAddress(hLib, 'GetFormattedValue');
if @GFV<>nil then
begin
FillChar(res, SizeOf(res), 0);
if GFV (Pchar(FileName),PChar(ContentString),@res,sizeof (res))=1 then MessageBox(Application.handle,res,'Result',MB_OK) else MessageBox (Application.handle,'Can''t get result','Result',MB_OK);
end;
End;

Примечание: плагин super_wdx.wdx должен быть настроен так же, как обычно (т.е. все настройки берутся из файла super_wdx.ini).

Известные проблемы и особенности

Некоторые плагины отказываются работать с SuperWDX. В большинстве случаев это связано с ошибками в этих плагинах, и исправлено быть не может. Ниже перечислены все известные плагины, не работающие с SuperWDX:

В других случаях это решается переустановкой этих плагинов, или их перенастройкой. К примеру, если плагин использует внешние dll, установленные в каталог %commander_path%, то может помочь копирование этих файлов в каталог SuperWDX, или любой каталог, указанный в %PATH%.

В любом случае, если вы обнаружили проблему несовместимости - обратитесь в соответствующее обсуждение форума.

Плагин на данный момент не имеет поддержки юникода.

Скачать

Смотри также

WdxGuide

Ссылки по теме