Страница 2 из 2

Добавлено: Сб сен 19, 2009 12:40
D1P
sa писал(а):Ну восстановить-то фильтр нетрудно: Ctrl-Shift-S.
А вот за это - спасибо, не знал. Фактически это решает начальную проблему, остаётся только проблема с логикой поведения Escape.

Добавлено: Сб сен 19, 2009 21:47
sa
D1P писал(а):остаётся только проблема с логикой поведения Escape.
Видимо концепция быстрого фильтра заключается в том, что он в самом деле должен быстрым и не предполагает каких-то длительных операций, которые нельзя прерывать по Escape, то есть он работает по принципу - или всё сразу, или ничего. Для других целей есть обычные фильтры. Но и с ними не всё одинаково: при включенном фильтре "Только выделенные файлы" команда "Подсчёт размеров подкаталогов текущего каталога" работает для отфильтрованных каталогов, а команда "Показать все файлы без подкаталогов" не учитывает фильтр...

Добавлено: Пт окт 16, 2009 16:29
sa
Для вызова последнего использованного фильтра, минуя клавиатуру, завёл себе кнопку на панели задач.
Ввиду отсутствия соответствующей внутренней команды, использовал сценарий (файл: Send_Ctrl-Shift-S.vbs):

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

'=========================================================== 
' Посылает комбинацию клавиш Ctrl+Shift+S  
'=========================================================== 
Dim WSH
Set WSH = WScript.CreateObject("WScript.Shell")
WSH.SendKeys "^+S"
Set WSH = Nothing
Wscript.Quit
Сценарий повесил на кнопку:

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

TOTALCMD#BAR#DATA
Диск:\путь\к\файлу\Send_Ctrl-Shift-S.vbs

Totalcmd.exe,26
Вывести диалог быстрой фильтрации/поиска и применить последний использованный фильтр

0
-1
Диск и путь к файлу Send_Ctrl-Shift-S.vbs нужно заменить на свои.
Может, кому пригодится...

Добавлено: Чт апр 10, 2014 09:47
sa
Приспособил такую кнопку для упрощения работы с фильтром быстрого поиска:

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

TOTALCMD#BAR#DATA
cd *.*

wcmicons.dll,13
Показать все файлы (при активном фильтре быстрого поиска - с его учётом)


-1
Применяю её, в том числе и при активном фильтре быстрого поиска, когда нужно показать все файлы, если некоторые из них оказались скрытыми после применения фильтров типа "Программы", "Только выделенные объекты", "Файлы не старше 1 часа" и т.п. Дело в том, что внутренняя команда cm_SrcAllFiles (Ctrl+F10) отключает фильтр быстрого поиска и приходится применять его заново.
По такому же принципу завёл и пользовательскую команду, которую использую вместо cm_SrcAllFiles в случаях, когда нужно сохранить активность фильтра.

Add
Порой требуется ввести быстрый фильтр поверх уже имеющегося (то есть новый фильтр применить к отфильтрованным объектам).
Кнопка с использованием утилиты TCFS2:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3301) tcm(2023) tcm(524) send(`^+S`) send(`{BS 100}`)"
%COMMANDER_PATH%\Totalcmd.exe,26
Ввести быстрый фильтр (при уже активном - поверх него)


-1
Без утилиты TCFS2 примерным аналогом в TC будет связка команд 3301,2023,524,2915.
Внимание! Поскольку задействованный в кнопке режим показа только выделенных файлов сильно зависит от изменений в файловой системе (и даже от переключения на другую программу с последующим возвратом в TC), то последний активный фильтр в панели в итоге (после изменений в файловой системе, например) может оказаться применённым ко всем объектам, а не к предварительно отфильтрованным. Увидеть до этого отобранные файлы всё же можно - с помощью команды "Восстановить выделение".

Добавлено: Пт апр 18, 2014 11:39
sa
Тихо сам с собою, я веду беседу. :)
sa писал(а):Увидеть до этого отобранные файлы всё же можно - с помощью команды "Восстановить выделение".
Либо с помощью такой кнопки:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(529) tcm(2023) tcm(3304) tcm(3305) send(`^+S`)"
wcmicons.dll,42
Восстановить выделение и применить последний использованный фильтр быстрого поиска


-1
Она пригодится для восстановления выделения и быстрого фильтра (созданного с иcпользованием предложенной выше кнопки "Ввести быстрый фильтр…") в том числе и в ранее посещённой вкладке, где фильтр автоматически сбрасывается при переключении на другие вкладки панели.
Осторожно: внутреннее сохранение выделения происходит не только по воле пользователя, но и автоматически при обращении к большинству файловых операций в TC.