VirtualPanel 2.0.7.1372
Описание
VirtualPanel - это реализация временной панели для Total Commander. Это что-то вроде виртуальной папки для хранения ссылок на часто используемые файлы и взаимодействия с ними как с реальными файлами, а не как ссылками. Она не хранит файлы, она хранит только ссылки на них в специальных файлах-списках.VP можно использовать как временное хранилище кучи файлов, которую нужно скопировать куда-то ещё. Также её можно использовать для каталогизации медиа файлов и для других целей. В частности, можно настроить папку для автоматического сбора файлов из нескольких каталогов компьютера.
Основные возможности VirtualPanel:
+ хранение ссылок на файлы и каталоги, а также виртуальные каталоги
+ сохранение содержимого VP при выходе, завершении работы Windows, по таймеру или после модификации
+ импорт/экспорт содержимого всей VP или отдельных папок
+ импорт/экспорт списков имен файлов (например, m3u)
+ корректная обработка операций копирования/перемещения
+ удаление файлов физически при зажатой клавише Shift
+ протоколирование операций с файлами
+ внутренние команды, расширяющие возможности (выполните команду ? для списка команд)
+ возможность выполнять команды блоками, а также создавать файлы скриптов
+ автовыполняемые скрипты при загрузке состояния или при входе в каталог
+ возможность удалённого запуска скриптов
+ виртуальный браузер с поддержкой перетаскивания файлов
+ поддержка многопоточности (фоновые операции в ТК 7.55 и более поздних)
+ поддержка внутренних ассоциаций в ТК 7.51 и более поздних
+ поддержка стандартной в ТК команды cd
+ полная поддержка Юникода
(обсуждение здесь, более подробное описание - в прилагаемом Readme-файле)
Что нового
* убраны попытки получить системные атрибуты для объектов-скриптов
* при быстром многократном выполнении команды `?` открывалось несколько окон настроек
2016-02-28 2.0.7.1364
* по Ctrl+Shift+Tab открывалась пустая папка в окне настроек
2014-09-03 2.0.7.1360
+ explorer: получение шрифта из панелей ТК
2013-10-06 2.0.7.1354
+ в дистрибутив добавлен пример BAR-файла
* explorer: иногда элементы заливались инверсным цветом при наведении мышью
* explorer: получение корректных стандартных цветов текста и фона, если в ТК они не заданы
* в папке модуля создавался ненастроенный VirtualPanel.ini во время установки (с версии 2.0.7.1330)
2013-08-09 2.0.7.1340
+ имя файла модуля используется как имя модуля в ТК по умолчанию
+ explorer: поддержка InverseSelection
+ explorer: используется двойная буферизация
+ explorer: возможность использовать стиль Windows (быстрее)
* explorer: устранено мерцание курсора разделителя
* explorer: некоторые изменения в цветовой схеме
* explorer: если выделения нет, перетаскивается фокусированный элемент
* explorer: иногда рамка фокуса исчезала после щелчка по файлу
* усечение файла состояния после записи
* ошибка копирования в Windows 2000 (с версии 2.0.6.1264)
2012-11-13 2.0.6.1264
+ копирование зашифрованных файлов в папку, не поддерживающую шифрование (перемещение не поддерживается)
2012-10-26 2.0.6.1262
+ команда `convert`
+ поддержка наборов масок включения/исключения в командах `for`, `export`, `save`
+ флаг 'e' для команд `save`, `export`
* команда `save` теперь по умолчанию не рекурсивна (но есть флаг 'r')
* нулевые символы при экспорте списков в ANSI
* корректные иконки дя заблокированных файлов (типа pagefile.sys)
* explorer: пути к подкаталогам ссылок на физические папки не отображались в заголовке
2012-09-22 2.0.5.1228
+ команда `tgmove` позволяет перемещать файлы между разделами
* улучшено центрирование диалога подтверждения
* ошибка вычисления прямых даты/времени в команде `ifcond` (dateГГГГММДД и timeЧЧММ)
* проблема загрузки неполного файла локализации
* исправления в языковых файлах
2012-03-03 2.0.5.1208
+ добавлена 64-битная версия Exec.exe (позволяет запускать процессы типа regedit.exe в 64-битном окружении)
* FsGetDefRootName возвращала "Virtual Pane" вместо "Virtual Panel" в качестве имени модуля по умолчанию (с версии 1.0.0.922)
* explorer: огромный шрифт (в версии 2.0.5.1206)
2011-09-19 2.0.5.1200
+ добавлена 64-битная версия модуля (работает только с 64-битной версией ТК)
2011-09-04 2.0.4.1154
* ошибка загрузки внешних значков скриптов (в версии 2.0.4.1150)
* ошибка выполнения команд из командной строки (в версии 2.0.4.1150)
2011-09-03 2.0.4.1150
+ запись сохранения списка по умолчанию в лог (с флагом 2)
* explorer: по Del удалялись все элементы, если выделение отсутствовало и фокус был на ".."
* переход к динамическому TLS из-за ограничений статического для DLL
* немного изменены строи лога для FsDeleteFile, FsRemoveDir, FsMkDir, FsSetAttr
* ошибка в строке лога для FsSetTime
* ошибка при переименовании через `move`, когда менялся только регистр символов
* исправлен порядок перехода по Tab в диалоге настроек
2011-07-17 2.0.3.1120
+ explorer: переключение режима "поверх всех окон" по кнопке панели инструментов и клавише F12
+ explorer: возможность рекурсивного удаления физических каталогов
+ explorer: текущий элемент не отображается выделенным, если нет выделения
* `ifcond` теперь использует API для вычисления точного числа минут
* explorer: некоторые цвета были неверными, если значения параметров равны -1 в wincmd.ini
* explorer: текущий элемент не выделялся по Ctrl+A при использовании инверсного курсора
* explorer: по Del удалялись все элементы, если выделение отсутствовало
2011-04-13 2.0.1.1090
+ explorer: элемент истории перемещается в конец при выборе мышью
+ explorer: комбинация Alt+Вниз для показа меню истории
+ explorer: INI-опции Explorer.RenameByF2 и Explorer.RightPixels
* explorer: при смене папки элементы истории, следующие за ней, очищались
* explorer: ошибка перетаскивания из корневой папки
* explorer: невозможность входа в папки после перехода в корень по Ctrl+\
* неправильная обработка аргумента оператора "like" команды ifcond
2011-04-11 2.0.0.1080
+ виртуальный браузер, позволяющий открывать любое число окон
+ интерфейс окон браузера подстраивается под интерфейс ТК
+ поддержка перетаскивания файлов между окнами браузера и внешними приложениями
+ событие протокола для действий в Virtual Explorer
+ максимальная длина строки файла состояния увеличена до 8 тысяч символов
+ команда `put` позволяет добавлять папки из списков, созданных командами типа cm_SaveSelectionToFile (косые черты в конце строк игнорируются)
+ команда `edit` позволяет изменять пустые целевые объекты файлов
* ошибка в рекурсивном создании промежуточных каталогов (после изменений в 1.0.0.920)
* команда `for` генерировала неверные имена
* биты 0x01 и 0x02 параметра LogEnabled переставлены
* слегка изменен формат лог-строки для FsPutFile
2011-03-12 1.0.0.920
+ VPBatch теперь понимает имя модуля как в прямом формате, так и в виде пути в стиле ТК (\\\Virtual Panel\...)
+ своя функция расширения переменных окружения (оставляет %xx% как есть, если переменная xx не определена)
+ сохранение больших скриптов без обрезания
* ошибка при сохранении больших скриптов
* исключение при обработке длинных скриптов, отправленных через WM_COPYDATA в Юникоде
2010-12-01 1.0.0.904
+ в логе фиксируется идентификатор потока (для определения фоновых потоков)
* некоторые оптимизации
* корректное отображение версии модуля под Windows 2000
* неверная обработка списков файлов например в команде `put` (после изменений в 1.0.0.850)
* некоторые незначительные исправления
2010-07-12 1.0.0.820
+ флаг 'm' для команды save
+ функция автосохранения после каждой операции (только при модификациях) - можно включить в настройках
2010-05-13 1.0.0.800
+ исполнимые файлы (.exe, .lnk, .cmd, .bat, .com) всегда запускаются модулем для установки правильной рабочей папки
+ перезапись файлов списков без удаления (сохраняются атрибуты и права доступа)
* неверная рабочая папка для исполнимых файлов, запускаемых через командную строку из виртуальной папки
2010-04-21 1.0.0.780
+ всегда возвращается FS_EXEC_OK при запросе свойств объекта (так ТК не покажет дикого окна версии при ошибке)
+ можно прерывать операции первым щелчком кнопки Отмена (если прерывание отменено, далее только клавишей Esc)
+ используется локальное хранилище потока (TLS) для хранения данных фоновых потоков
* неверный диалог свойств для чисто виртуальных объектов
2010-04-15 1.0.0.760
+ флаг f команд `save`, `export` для перезаписи существующего файла
+ возможность выполнять скрипт >Shutdown при выгрузке модуля
+ параметры записываются в INI при нажатии ОК в диалоге конфигурации
+ параметр SaveIniOnUnload позволяет отключить запись конфигурации при выгрузке модуля
+ команда `flush` для сохранения параметров в файл конфигурации
+ команда `tgmove` для переименования/перемещения объекта-источника (ссылка исправляется автоматически)
+ флаг событий лога для запуска скриптов
+ статусное сообщение лога для команд VPBatch
2010-04-12 1.0.0.700
+ при операциях put, renmove, mkdir создаются несуществующие промежуточные папки
* Ctrl+Tab не работал сразу после нажатия кнопки Применить
* неверная установка фокуса в диалоге подтверждения
* ошибка команды `exec`, если параметр в фигурных скобках
2010-04-09 1.0.0.690
+ групповые ответы на вопрос создания ссылок при перемещении в виртуальную папку
+ вкладка настроек в диалоге конфигурации
+ диалог конфигурации использует темы Windows (вызывает функцию EnableThemeDialogTexture, если она доступна)
+ кнопки ок, отмена, применить в диалоге конфигурации
+ внутренняя команда `config` для открытия вкладки настроек диалога конфигурации
* показ свойств в ТК 7.55 не обрабатывался из-за более высокого приоритета операции внутреннего выполнения
* исключение при перемещении из физической папки в виртуальную
* ошибка перезаписи файлов только для чтения
* глюк команды `save` при запуске без параметров и нажатии Нет
* изменен порядок строк информационного окна диалога конфигурации (строка 8 файла локализации)
2010-04-01 1.0.0.620
+ сокращенный формат файла состояния
+ флаг 'o' команды `save` для сохранения файла состояния полного формата
+ безопасное многопоточное перечисление файлов (список файлов формируется за один заход в критическую секцию при вызове FsFindFirst)
+ более быстрое сохранение состояния (файлы подпапок ищутся от дескрипторов папок, а не из корневого каталога)
+ более быстрые загрузка/выгрузка больших состояний (используется boost::fast_pool_allocator как аллокатор для map)
* неправильный порядок параметров команды `for`
* ошибка установки даты/времени файлов скриптов
* неверная обработка относительных путей для команды `put`
* ошибка обработки маски для команды `export`
2010-03-29 1.0.0.580
+ в переменные окружения ${Virtual Panel}Path and ${}Path записывается последний посещенный виртуальный путь
+ новые флаги для команды `add` (для замены существующего объекта и для создания промежуточных папок)
+ многопоточный доступ к виртуальной системе
+ команда `move`
+ команда `for` позволяет вставлять только имя файла вместо %~symbol
+ возможность отменить прерывание операции (внутренняя проверка удержания Esc вместо учета флага прерывания ТК)
* переход по Shift+Enter к папке файла, а не к самому файлу (после 1.0.0.550)
* Shift+Enter в ТК 7.55 не обрабатывался из-за более высокого приоритета операции внутреннего выполнения
* ошибка обработки параметров команды `for`
* некорректная интерпретация ".." в путях
* убраны запросы в командах `save` и `export` после `silent`
2010-03-24 1.0.0.550
+ изменен рекомендуемый базовый адрес модуля
+ VP может выполнять скрипты, посланные ТК посредством сообщения WM_COPYDATA
+ прилагается утилита VPBatch для выполнения в ТК внешних скриптов
* запрет одновременного запуска нескольких обработчиков событий таймера (пропуск события, если предыдущее еще выполняется)
* при выгрузке модуля таймеры отключаются и ожидается завершение работы обработчиков
* ошибка изменения пути к лог-файлу из диалога настроек
* неверная рабочая папка при запуске приложений из ссылки на физический каталог
2010-03-15 1.0.0.520
+ функция автосохранения состояния с заданным интервалом времени
+ оператор "like" для команды `ifcond`, позволяющий проверять, удовлетворяет ли имя файла маске
+ команда `exec` позволяет запрашивать параметр, если он начинается с символа '?'
+ раскрываются переменные окружения в параметрах запускаемых программ
+ команда "?" отображает справку
+ если параметр имеет вид ?:"текст", текст используется как подсказка в окне запроса параметра
* корректная обработка переменных окружения в команде cd
* обновление панели-источника после операций убрано
* не запоминался флаг удаления всех файлов только для чтения
* ошибка обработки "%%" в файлах скриптов
2010-03-08 1.0.0.500
+ поддержка внутренних ассоциаций в ТК 7.51 и более поздних
+ сохранение состояния при завершении работы Windows
+ корректный многопоточный доступ к виртуальной системе
+ немодальный диалог конфигурации
+ поддержка стандартной в ТК команды cd
2010-02-25 1.0.0.494
+ окно состояния в диалоге конфигурации и язык, значки и т.п. обновляются при изменении параметров, если нужно
+ ссылки на недоступные папки теперь ведут себя как пустые папки - так что ТК может их удалять
+ текущее время для строк лога
+ обработка символа процента в файлах скриптов так же, как в обычных командных файлах
* изменен шрифт диалогов и вид вкладок диалога настроек (на некоторых темах Windows вертикальные вкладки смотрятся криво)
* пустой текст может быть принят как новое значение параметра в диалоге конфигурации
* неправильное определение флага 'a' в команде `put`
2010-02-17 1.0.0.470
+ диалог конфигурации
+ перемещение из виртуальной панели (файл копируется, ссылка удаляется)
+ команда `put` может добавлять только файлы, только папки или всё подряд
+ флаг 'a' для команды `put`, позволяющий автоматически переименовывать добавляемые файлы, если такие уже существуют
+ флаг 'w' для команды `exec`, позволяющий дождаться завершения запущенной программы
* ошибка при физическом перемещении (файл перемещался, но ссылка оставалась)
2010-02-11 1.0.0.420
+ Shift+Enter позволяет перейти к файлу или войти в архив в новой вкладке
+ новое ключевое слово "script" для команды `ifcond` (проверяет, является ли файл скриптом)
+ `ifcond` понимает относительные пути
+ функция ограничения размер лог-файла
* исправлено сравнение дат в команде `ifcond` (ошибка преобразования к числу минут)
* проверка существования скрипта автообновления перед попыткой выполнить (спасает от некоторых ошибок)
* %0 в скриптах понимается как имя файла скрипта
* лишние пробелы после имени файла в условии команды `ifcond` игнорируются
* исправлен экспорт в кодировке ANSI командой `export` (файл писался в Юникоде, но без маркера)
2010-02-06 1.0.0.400
+ удаление физических файлов в корзину по умолчанию (напрямую - если зажата клавиша Shift или в ТК включено удаление напрямую)
+ файл состояния VP сохраняется при закрытии ТК только если содержимое VP было изменено
+ команда `load` теперь может быть запущена без параметров - для загрузки списка по умолчанию
+ команда `eas` теперь позволяет изменять имя скрипта автообновления
+ флаг 'a' для команд `save`/`export`, позволяющий сохранять в кодировке ANSI
+ новая команда `ifcond` для проверки атрибутов файла и т.п.
* убран заблокированный диалог при закрытии при неудачном сохранении настроек
* уменьшен объем текста в окне справки, теперь все команды умещаются в сообщении
* некоторые другие исправления
2010-02-03 1.0.0.370
+ поддержка передачи параметров файлам скриптов (%0 для вставки текста всего скрипта, %1-%9 для вставки параметров)
+ улучшенная команда `del`: удаление только файлов, только папок, или всех подряд
+ условные команды `ifexist`, `ifdef` и `ifok`
+ команда `for`, позволяющая запускать скрипт для каждого найденного объекта (только файлов, только папок, или всех подряд)
+ команда `cd` для изменения текущей папки в пределах скрипта
+ защита от зацикливания скриптов
* для недоступных EXE and LNK отображались неправильные значки
* сбой после ввода текста в запрашивающий диалог ТК
* другие исправления, которых и не упомнить :)
2010-02-02 1.0.0.340
+ состояние панели по умолчанию сохраняется в файле %TEMP%\VirtualPanel.lst
+ недоступные физические файлы/папки имеют специальный значок (можно задать значки в файле конфигурации)
+ команда `edit` для правки скрипта или пути к источнику
* исправлен вылет при первом запуске (с пустым файлом конфигурации)
* некоторые другие исправления
2010-01-31 1.0.0.322
+ поддержка Юникода! все базовые функции модуля в Юникоде; ANSI-функции теперь - заглушки, вызывающие Юникод-функции
+ добавление файлов из плейлистов в кодировках ANSI, UTF-8 и Unicode
+ рекурсивный экспорт списков и/или по маске
* отключено извлечение версии модуля в Windows 2000, которое вызывало исключение на этапе инициализации
2010-01-24 1.0.0.200
+ возможность удалять файлы только для чтения (кроме скриптов), добавлен флаг форсированного удаления 'f' для команды `del`
* для перемещения файлов из виртуальной папки не нужно держать Shift (подтверждение запрашивается)
* исправлено перемещение на обычную панель (убрана проверка ошибки при удачном перемещении)
* утечка дескрипторов системного поиска в функции FsFindNext (по одному на файл в виртуальной папке)
2009-12-24 1.0.0.194
+ поддержка языковых файлов интерфейса для локализации (образец в папке Language)
* неверная обработка параметров команд (например, команды `add`)
2009-12-09 1.0.0.180
* ошибка создания пустого INI-файла рядом с модулем во время инсталляции (удалите этот файл, если он был создан предыдущей версией, если вы не хотите, чтобы он использовался последующими версиями в качестве файла конфигурации)
* незначительные исправления
+ возможность переименования, когда меняется только регистр символов
+ возможность использования INI-файла рядом с модулем, если этот файл существует
+ отображение сообщения при ошибке сохранения конфигурации (например, при отсутствии разрешений на запись INI-файла)
2009-11-05 1.0.0.166
* сообщение об ошибке при входе в папку без скрипта автообновления
* ошибка копирования файла в пределах VP - файл перемещался
2009-10-26 1.0.0.162
+ новый диалог подтверждения удаления физических файлов
+ команда `del` теперь поддерживает маску, а также не удаляет файлы только для чтения
+ два автовыполняемых скрипта - после загрузки списка и при входе в виртуальную папку
+ подробный Readme-файл
* ошибка деления на нуль при копировании пустых файлов из панели VP
* переписана функция FsExtractCustomIcon, извлекает нестандартные иконки в фоне и потребляет меньше ресурсов GDI
2009-10-18 1.0.0.121
+ расширение переменных окружения в командах (в скриптах - во время выполнения)
+ сохранение/загрузка содержимого отдельных виртуальных каталогов
+ команда `put` позволяет добавлять файлы по маске, а также файлы из списков файлов (например, m3u)
+ команда `export` позволяет экспортировать только имена файлов (например, для создания плейлиста)
+ команда `load` очищает содержимое VP, только если не указана виртуальная папка для добавления файлов
+ защита файлов скриптов с атрибутом только для чтения от удаления по F8/Del
+ автоматическое обновление панелей ТК после операций
* исключение в команде `load`
* не всегда работала установка атрибутов внутренних объектов
2009-10-12 1.0.0.97
+ добавлены группы событий лога
+ корректная инициализация в старых версиях ТК (без поддержки функции FsSetDefaultParams)
+ корректно обрабатываются полные внутренние пути, начинающиеся с имени модуля (вставляемые по Ctrl+Shift+Enter)
+ команда `add` теперь поддерживает вложенные блоки скриптов в фигурных скобках
* лог отключался при перезапуске
2009-10-12 1.0.0.83
+ поддержка скриптов
+ если параметр команды равен "?", он запрашивается (для использования в скриптах)
2009-10-10 1.0.0.36
* некорректная загрузка файла-состояния, если конец строки приходился на границу буфера
2009-10-10 1.0.0.xx
! первый публичный выпуск
+ поддержка виртуальных файлов/каталогов, а также ссылок на физические файлы и каталоги
+ внутренние команды для добавления/удаления объектов, импорта/экспорта списка файлов, для установки файла состояния по умолчанию
+ корректная обработка ссылок в ТК
+ корректные операции копирования/перемещения между физическими папками
+ подтверждение удаления физических файлов при удержании клавиши Shift