Фильтры

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: Фильтры

Post by Alexey Samlyukov »

Latest post of the previous page:

если по простому - пока юзер не сделает фильтр на папку "не показывать", то папки будут всегда. потому как то, что было ранее, вообще убиться.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Фильтры

Post by John Doe »

То что происходит сейчас - тут принято ругать неприличным словом "ИИ": фар самостоятельно (и не всегда успешно) пытается определить когда я хочу фильтровать папки, а когда нет.

Уверен (и помню), что раньше было хуже. Но надеюсь что всё-таки можно лучше.
Вероятно, стоит проиллюстрировать необходимость именно такой логике на паре-тройке примеров.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: Фильтры

Post by ccaid »

Shmuel wrote:
John Doe wrote:А если указать [x] Directories, а сам фильтр сделать с "-"?
Тогда папки не пропускаются, как и должно быть.
если я ничего не путаю, не пропускаются не только папки, но и файлы, которые находятся внутри этих папок. то есть в текущей реализации атрибут Directories предназначен для выкусывания из поиска папок с всем нижележащим хозяйством — к примеру, .svn, а не для удаления файловых объектов с атрибутом "Папка" из результатов поиска.
Фар делают добрые люди
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Фильтры

Post by John Doe »

А в чём разница?
Разве можно как-то "отфильтровать" папку не отфильтровав при этом и её содержимое?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Фильтры

Post by Max Rusov »

ccaid wrote:а не для удаления файловых объектов с атрибутом "Папка" из результатов поиска.
Для этого в поиске есть опция "Search for folders", если я правильно понял.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: Фильтры

Post by ccaid »

John Doe wrote:А в чём разница?
Разве можно как-то "отфильтровать" папку не отфильтровав при этом и её содержимое?
в этом и проблема, что сейчас нельзя. если я хочу найти все файлы за последний день, то мне в результаты поиска вместе с файлами вывалится куча имен папок, которые мне не нужны. но убрать их из результатов поиска я не имею возможности, я могу лишь отключить поиск в папках, а это не то, чего я добиваюсь.
Фар делают добрые люди
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: Фильтры

Post by ccaid »

Max Rusov wrote:
ccaid wrote:а не для удаления файловых объектов с атрибутом "Папка" из результатов поиска.
Для этого в поиске есть опция "Search for folders", если я правильно понял.
да походу да. выполняет функцию аналогичную Фильтрам, но расположена отдельно, и отдельно включается.
Фар делают добрые люди
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Фильтры

Post by Acerbic »

прочитал тему с 31й страницы, но так и не понял, зачем собсвтвенно нужно, для какого юзкейса, чтобы атрибут D- в фильтре работал неправильно. Всё-таки баг или фича, кто знает - объясните пожалуйста.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Фильтры

Post by John Doe »

Acerbic wrote:зачем собсвтвенно нужно, для какого юзкейса, чтобы атрибут D- в фильтре работал неправильно.
Подозреваю, что всё дело в том, что функция фильтров используется ещё и в панелях, по CtrlI.
"D-" означает искать файлы.
Если по такому фильтру папки на панели исключить, то у пользователя не будет возможности перейти в подпапки.

Поразмыслив, не могу не согласится, что для API такой подход неприемлем.
Вероятно API надо выпрямить, а при фильтрации панелей CtrlI обрабатывать папки отдельно.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Фильтры

Post by John Doe »

John Doe wrote:
Acerbic wrote:зачем собсвтвенно нужно, для какого юзкейса, чтобы атрибут D- в фильтре работал неправильно.
Подозреваю, что всё дело в том, что функция фильтров используется ещё и в панелях, по CtrlI.
"D-" означает искать файлы.
Если по такому фильтру папки на панели исключить, то у пользователя не будет возможности перейти в подпапки.

Поразмыслив, не могу не согласится, что для API такой подход неприемлем.
Вероятно API надо выпрямить, а при фильтрации панелей CtrlI обрабатывать папки отдельно.
На мантис уже репортилось (0002423), но критиковалась прежде всего нелогичность и недокументированность этого поведения.

Но вот попался пример, иллюстрирующий конкретный и практический вред от текущего поведения: 0001942.

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

Судя по всему причина этого неудобного поведения кроется именно в обсуждаемой особенности фильтров: D- и D? никогда не применяются к папкам.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Фильтры

Post by John Doe »

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

Пробовал фильтр исключения (-) для папок "D+" по маске "*|*Plugins".
Не работает:
- файлы из ".\Plugins\" проходят, это правильно
- файлы из ".\Profile\Plugins\" не проходят, это неправильно
- проходят также все файлы из ".\", это неправильно
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Фильтры

Post by John Doe »

Баг?

Устанавливаю фильтр на левой панели.
Перехожу на правую панель и удаляю только что созданный фильтр.
Ожидаю, что удалённый фильтр перестанет действовать, но этого не происходит.
Чтобы снять такой удалённый фильтр необходимо перейти на левую панель и нажать CtrlR.
Что интересно, FCTL_REDRAWPANEL и FCTL_UPDATEPANEL не помогают.

Update: http://bugs.farmanager.com/view.php?id=2898
kobri
Posts: 19
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri »

Если в маске у фильтра встречается символ "/" фaр выдает ошибку "Некорректная маска файлов", на диске таких файлов действительно не может быть, но на плагиновых панелях они вполне себе попадаются. Хотелось бы чтобы там можно было слеш использовать
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Фильтры

Post by zg »

kobri wrote:Если в маске у фильтра встречается символ "/" фaр выдает ошибку "Некорректная маска файлов", на диске таких файлов действительно не может быть, но на плагиновых панелях они вполне себе попадаются.
это не потому, что '/' не может в имени файла встречаться, а потому, что для фара 'a/a' эквивалентно 'a,/a'. а маска начинающаяся с '/' — это regexp.
kobri wrote:Хотелось бы чтобы там можно было слеш использовать
пишите сразу в виде регэкспа.
kobri
Posts: 19
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri »

Да, спасибо, с регекспом работает. Но было бы удобнее, если бы можно было слеш прописывать в виде "[/]", как другие спецсимволы
kobri
Posts: 19
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri »

Сейчас в фаре каждое изменение фильтра приводит к повторному перечитыванию списка файлов, для сетевых папок это может быть не дешевой операцией, у меня в некоторых папках фильтрующий макрос довольно сильно подтормаживает. И ещё одно неудобство - сейчас, если применить какой-нибудь фильтр, а потом его убрать, сбросится выделение с элементов, которые под фильтр не попали.
Хорошо бы переделать алгоритм фильтрации, чтобы список файлов читался один раз, а фильтр просто скрывал то, что сейчас не должно отображаться.
Post Reply

Return to “Обсуждение Far Manager”