[WFX] VirtualPanel - временная панель для ТК (Unicode)

Обсуждение только плагинов и утилит для Total Commander.

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

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

По желаниям трудящихся выкладываю обновленную версию. :)

VirtualPanel 1.0.0.380:
+ удаление физических файлов в корзину по умолчанию (напрямую - если зажата клавиша Shift или в ТК включено удаление напрямую)
+ файл состояния VP сохраняется при закрытии ТК только если содержимое VP было изменено
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV
Привет!
Прекрасно, что появились команды цикла и условные команды. Вот только условий уж больно мало. А для чего применять ifdef "<parameter>", я вообще не смог придумать.
Предлагаю добавить в ВП команду
if "<функция> <оператор сравнения> <условие>" {<script_if_yes>} [{<else_script_if_no>}],
где фунция будет возвращать размер файла, дату, атрибуты, признак удаленности файла и т.д.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

lsched, привет и тебе. Встречный вопрос - это действительно нужно? Возможности скриптов не очень велики - из файловых операций только удаление.

Может, я и добавлю команду проверки состояния, но увеличивать число параметров не буду - просто условие будет строковым. Типа, <ifcond "size>=1000 @ \text1.txt" {<ifok "Большой файл, однако" {}} - думаю, такое условие будет несложно писать и парсить. Хотя, может, можно сделать и красивее - если есть конкретные предложения, обсудим.

Командой ifdef, вообще, можно проверять, задан ли параметр. Мне делать было нечего, вот и добавил ее. :D
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV писал(а):Возможности скриптов не очень велики - из файловых операций только удаление.
У меня и есть задумка автоматом удалять ссылки на несуществующие файлы. Это можно сделать по нулевому размеру. Хорошо бы еще придумать, как удалять и отсутствующие папки тоже.
Думаю, что может понадобиться и удаление ссылок на старые файлы. Я в основном работаю с документами, а они могут лежать в самых разных местах сети и в больших количествах. Очень удобно держать все в одной папочке в ВП, а когда фантазия окончательно исчерпалась - просто убиваешь ее, или, по ситуации - только старые версии. Вот тут дата бы и пригодилась. Да и атрибуты может кому-нибудь понадобятся.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

В принципе, можно использовать поиск в ТК по дате. :)

Хотя, наверное, удобно, когда при входе в папку старые ссылки удаляются автоматом (я про автовыполняемый скрипт).

Что ты подразумеваешь под отсутствующими папками? Папки, в которых нет ни одной ссылки на существующие файлы? Думаю, можно удалить пустую папку таким скриптом:

Код: Выделить всё

<for /d %d \ \test1 { <ifexist "%d\*" {} { <del /d! "%d" } }
(само собой, в файле скрипта вместо %d надо %%d)
Но пока не работает - т.к. поиск находит каталоги "." и ".." в любой папке. Буду их игнорить, тогда будет работать.
lsched
Сообщения: 74
Зарегистрирован: Вт окт 20, 2009 08:53
Откуда: Россия, Саратов

Сообщение lsched »

MVV писал(а):Что ты подразумеваешь под отсутствующими папками? Папки, в которых нет ни одной ссылки на существующие файлы?
Да.

Мне еще что подумалось. Бывает, что с разных папок нужны одноименные файлы. Приходится при копировании переименовывать ссылки вручную. Нельзя ли сделать автоматическое переименование при совпадении имен, как в ТК?
И хорошо бы еще вcплывающие подсказки с реальным путем файлов и прочей инфой, чтобы не заводить дополнительные колонки. Сейчас подсказка появляется только если имя файла обрезано, и показывает только имя ссылки, а не реального файла.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Всплывающие не могу - ТК сам их показывает или не показывает. В пределах модуля файловой системы - не показывает. А мне чтобы показать подсказку, нужно знать, на какой файл указывает мышь, получать полный путь и т.п. - головная боль обеспечена, причем, никак не имеющая отношение к реализации действий, характерных для WFX.
С автопереименованием пока повременим, надо продумать, как и в каком месте предлагать юзеру его включать - то ли бежать вперед паровоза и показывать своё сообщение до того как ТК покажет своё - я-то узнаю, что файл существует, раньше ТК. И как именно переименовывать - дописывать число в скобках?
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

VirtualPanel 1.0.0.380:
+ удаление физических файлов в корзину по умолчанию (напрямую - если зажата клавиша Shift или в ТК включено удаление напрямую)
Жму Shift+Del - файл физически не удаляется
TC 9.51 | Win10 1903
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Не ты первый на это напарываешься. Ответ - в справке или в статье. Вкратце - надо знать, в какой именно момент давить Shift.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Mr.Merak писал(а):
VirtualPanel 1.0.0.380:
+ удаление физических файлов в корзину по умолчанию (напрямую - если зажата клавиша Shift или в ТК включено удаление напрямую)
Жму Shift+Del - файл физически не удаляется
Вообще, удаление с Shift работало во всех версиях - это планировалось при разработке идеи. А в последних добавилась возможность удалять в корзину.

А про то, что с Shift не удаляется, напишу еще раз. Код модуля вызывается только после того как пользователь подтвердит желание удалить файл, поэтому определить, была ли зажата клавиша Shift непосредственно в момент нажатия клавиши Delete невозможно, поэтому ожидается, что клавиша будет зажата в момент вызова функции VP, т.е. сразу после того, как пользователь нажмет Да в диалоге подтверждения удаления. А чтобы было проще поймать момент - просто не отпускайте клавишу Shift, пока не появится подтверждение удаления физических файлов. :)
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

MVV
Вы сами считаете эту реализацию нормальной?
TC 9.51 | Win10 1903
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Mr.Merak писал(а):MVV
Вы сами считаете эту реализацию нормальной?
Я считаю, что лучше иметь возможность удержать клавишу Shift в момент подтверждения удаления, чем вообще не иметь возможности удалять файлы физически (или лицезреть диалог подтверждения по каждому удаляемому файлу, как в Temporary Drive). Если у кого-то есть идея более удобной реализации - я буду рад ее выслушать.

Кстати, в инструменте синхронизации ТК при удалении файлов через контекстное меню клавишу Shift зажимать нужно также в момент подтверждения, а не при выборе пункта меню.
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

MVV
Тогда еще два вопроса.
1. Когда Ваш плагин "заговорит" по-русски?
2. Когда (примерно) ждать человеческий диалог настроек?
TC 9.51 | Win10 1903
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Mr.Merak писал(а):MVV
Тогда еще два вопроса.
1. Когда Ваш плагин "заговорит" по-русски?
2. Когда (примерно) ждать человеческий диалог настроек?
Вообще, он "говорил" по-русски изначально, но только на системах с русскими региональными настройками (русской локалью), кроме того, можно подключить любой файл языка. Хорошо, к следующей версии я приложу и файл русского языка.

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

Код: Выделить всё

<add "\Settings\>Задать опции лога" { <log ? }
<add "\Settings\>Задать параметры автовыполнения" { <eas ? }
...
Как будет нечего делать - сделаю. :)
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

MVV писал(а): Хорошо, к следующей версии я приложу и файл русского языка.
Спасибо.
MVV писал(а): Те несколько настроек, которые можно настроить, без проблем можно настроить вручную в конфигурационном файле, а те, которые нужно изменять часто - посредством внутренних команд.
Это все гемор. Удобно оно может быть только для автора и заядлых программистов.

Хотелось бы в диалоге настроек видеть нормальный About с номером версии, строку для DefFileList, выбор языка, пути к иконкам VirtualFolderIcon и т.д. и т.п.
TC 9.51 | Win10 1903
Ответить