Фильтры

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Re: Фильтры

Post by John Doe » Thu 24 Jul, 2014 11:21

Latest post of the previous page:

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

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

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Re: Фильтры

Post by John Doe » Thu 24 Jul, 2014 12:59

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

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

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

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

Судя по всему причина этого неудобного поведения кроется именно в обсуждаемой особенности фильтров: D- и D? никогда не применяются к папкам.

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Re: Фильтры

Post by John Doe » Fri 25 Jul, 2014 10:50

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

Пробовал фильтр исключения (-) для папок "D+" по маске "*|*Plugins".
Не работает:
- файлы из ".\Plugins\" проходят, это правильно
- файлы из ".\Profile\Plugins\" не проходят, это неправильно
- проходят также все файлы из ".\", это неправильно

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Фильтры

Post by John Doe » Sun 21 Dec, 2014 18:33

Баг?

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

Update: http://bugs.farmanager.com/view.php?id=2898

kobri
Posts: 15
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri » Fri 26 Dec, 2014 23:13

Если в маске у фильтра встречается символ "/" фaр выдает ошибку "Некорректная маска файлов", на диске таких файлов действительно не может быть, но на плагиновых панелях они вполне себе попадаются. Хотелось бы чтобы там можно было слеш использовать

User avatar
zg
zero-gravity
Posts: 5652
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 115 times
Contact:

Фильтры

Post by zg » Sat 27 Dec, 2014 00:51

kobri wrote:Если в маске у фильтра встречается символ "/" фaр выдает ошибку "Некорректная маска файлов", на диске таких файлов действительно не может быть, но на плагиновых панелях они вполне себе попадаются.
это не потому, что '/' не может в имени файла встречаться, а потому, что для фара 'a/a' эквивалентно 'a,/a'. а маска начинающаяся с '/' — это regexp.
kobri wrote:Хотелось бы чтобы там можно было слеш использовать
пишите сразу в виде регэкспа.

kobri
Posts: 15
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri » Sat 27 Dec, 2014 01:52

Да, спасибо, с регекспом работает. Но было бы удобнее, если бы можно было слеш прописывать в виде "[/]", как другие спецсимволы

kobri
Posts: 15
Joined: Fri 15 Nov, 2013 14:42
Been thanked: 1 time

Фильтры

Post by kobri » Sat 07 Feb, 2015 22:45

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

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Фильтры

Post by John Doe » Mon 24 Jun, 2019 12:40

Code: Select all

drkns 21.06.2019 20:40:14 +0100 - build 5416
...
2. Атрибуты в диалогах фильтров & групп раскраски/сортировки вынесены в отдельный диалог, т.к. в основной пихать уже некуда.
...
Атрибут Directory теперь труднодоступен, при том что с ним и так нелегко.
(почему нелегко см. выше по теме, и viewtopic.php?p=153831#p153831)

buniak_a_h
Posts: 1239
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 78 times
Contact:

Фильтры

Post by buniak_a_h » Sat 19 Oct, 2019 22:56

Я очень сильно извиняюсь, если мои предложения здесь уже были. Но 39 страниц переписки перечитать у меня здоровья не хватит. Просто если я повторил, то напишите, что "это уже было, но не будет делаться" или "это в планах"
1. Фильтры каталогов. (а) для каталогов и так правила фильтрации другие (например, если в атрибутах -D, то это не значит, что не показывать каталоги). (б) Кроме того хотелось бы иметь специфические для каталогов критерии фильтрации: по количеству файлов, по наличию файла-описания (DirInfo, например).
2. Предлагается организовать фильтрацию "локально" аналогично пользовательскому меню: при наличии Filters.db (хотя лучше бы FarFilters.ini) в текущей папке (или по аналогии с FarMenu.ini - в родительской) фильтры брать оттуда. Причем, запоминать также состояние критериев (вкл/выкл).
3. Сохранение фильтров делать, например, по клавише F2 или Ctrl+S. Соответственно по кнопке Shift+F2 (например) будет сохраняться локальная настройка фильтра, описанная в п.2 .
--
P/S. Я знаю про макрос, сохраняющий/восстанавливающий фильтрацию в папке, но, поскольку нет события смены папки, этот макрос имеет ограниченное применение: он не учитывает ни переход даббл-кликом, ни командой cd (не говоря уже, что есть переход макросом и всякими плагинами типа NamedFolders)
Last edited by buniak_a_h on Sat 19 Oct, 2019 22:58, edited 2 times in total.

User avatar
John Doe
Бюрократ
Posts: 12531
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 235 times

Фильтры

Post by John Doe » Sun 20 Oct, 2019 08:04

1б. С Lua было бы мощно
2. Возможно проще было бы добавить в маски обработку путей. Это не только для фильтров было бы полезно.
buniak_a_h wrote:
Sat 19 Oct, 2019 22:56
Но 39 страниц переписки перечитать у меня здоровья не хватит
Ещё багтрекер есть.
buniak_a_h wrote:
Sat 19 Oct, 2019 22:56
Я знаю про макрос, сохраняющий/восстанавливающий фильтрацию в папке,
Что за макрос?

buniak_a_h
Posts: 1239
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 78 times
Contact:

Фильтры

Post by buniak_a_h » Sun 20 Oct, 2019 09:03

John Doe wrote:
Sun 20 Oct, 2019 08:04
Что за макрос?
Уже не вспомню. Скачивал, смотрел в надежде, что я не знаю о событии смены каталога. Оказалось, что там всё банально - на Enter, PgDn и PgUp повешено. Что-то типа Persistent Filter..

Post Reply

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