Сохранение / восстановление файловых фильтров

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Накарябал пару-тройку связанных макросов. Один запоминает текущий фильтр панели, другой восстанавливает, третий в текущий фильтр добавляет тип файла (таковой может отсутствовать на панели). Писал чисто для себя, но попросили опубликовать. Так что звиняйте, если чо…

Версия 1.1.8
  1. Доделано то, что в п.2 предыдущей версии
  2. Исправлена ошибка: при аддитивной загрузке фильтров, если в сохранённом фильтре был отмечен только элемент «0. Папки», то при аддитивном режиме восстановления фильтра вообще не происходило.
Версия 1.1.9
Исправлена ошибочка преобразования фильтра пассивной панели в таблицу. Изменения только в модуле FileFilterTools
SaveRestFilter.1_1_9.7z
(9.3 KiB) Downloaded 83 times



сорри, вложение куда-то делось…
Last edited by buniak_a_h on Sun 31 Jan, 2021 05:17, edited 14 times in total.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Сохранение / восстановление файловых фильтров

Post by Ann »

Latest post of the previous page:

buniak_a_h wrote: Thu 28 Jan, 2021 23:41
Ann wrote: Thu 28 Jan, 2021 23:14
buniak_a_h wrote: Thu 28 Jan, 2021 20:09Он сам так просил.
Так ведь телепаются только настройки строки "0. Папки". Со всеми остальными строками фильтра всё вполне нормально.
Как это - "нормально"? Вы же сами писали:
Ann wrote: Thu 28 Jan, 2021 09:20 В нём в т.ч. отмечена позиция [ + ] *.pdf,
В моём сообщении, из которого Вы процитировали про [ + ] *.pdf, речь шла о сбое, который я наблюдал в своём рабочем Фаре, запускаемом мною из-под КонЭму. И я, к сожалению, не могу поручиться за то, что там не влияли некие внешние, от скрипта не зависящие обстоятельства. Поэтому то я и перешёл к тестированию скрипта в ночной сборке. Позже я обязательно вернусь в рабочий Фар, чтобы постараться найти причину внешнего воздействия на сабжевый скрипт.

Так вот там появление строки с [ + ] *.pdf ни как не объяснимо, т.к. её не было ни в исходном фильтре, ни в подгружаемом конфиге. И откуда она бралась непонятно. Больше похоже на то, что скрипт по какой-то причине восстанавливал фильтр не из загружаемой настройки, а какой-то значительно ранее запомненный. И там это повторялось независимо от того, какую настройку я пытался загрузить. Всегда восстанавливался один и тот же фильтр, к загружаемым настройкам отношения не имевший.

А сейчас, в настоящий момент, речь идёт о неадекватном поведении настроек строки, наблюдаемом мною в ночной сборке. И эта неадекватность относится только к строке "0. Папки". И Вы про это поняли правильно. Все же остальные строки восстанавливаются в соответствии с запомненной настройкой в файле-конфиге. Т.е. если в загружаемой настройке есть строка с [ + ] *.pdf, то она загружается правильно, сколько бы раз не повторялась попытка загрузить соответствующую настройку. А вот отметка в строке "0. Папки" постоянно изменяется, вне зависимости от того, какую настройку и сколько раз подряд я загружаю.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Версия 1.1.7
  1. В стандартном МЕНЮ настройки фильтров выводится подсказка по горячим клавишам для дозаполнения неотмеченных пунктов.
  2. Исправлена ошибка, проявлявшаяся при активации фильтра в позиции 0. Папки (0. Folders) в случае, если (а) позиция была отмечена и (б) выбран любой аддитивный режим.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Сохранение / восстановление файловых фильтров

Post by Ann »

buniak_a_h wrote: Fri 29 Jan, 2021 00:58Исправлена ошибка, проявлявшаяся при активации фильтра в позиции 0. Папки (0. Folders) в случае, если (а) позиция была отмечена и (б) выбран любой аддитивный режим.
Увы, нет. После повторного импорта настроек из файла и выполнения макроса восстановления фильтра теперь слетают пометки уже и с позиции 0. Папки, и с позиции 1. Файлы панели. При следующем повторе восстанавливаются, потом снова слетают, потом восстанавливаются и так далее.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Ann, чёрт! Забыл, что по пробелу указатель ещё и спускается вниз. Пять минут …
Для ускорения процесса, если Вы прямо сейчас можете проверить, замените Keys('Space '.. на Keys('Space Up '.. (в одном месте такое)
P/S. На самом деле ещё в одном месте. Если помечен только 0., то фильтр вообще не восстанавливался при аддитивных режимах
Last edited by buniak_a_h on Fri 29 Jan, 2021 06:19, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Ann, вроде, поправил. Версия 1.1.8
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Сохранение / восстановление файловых фильтров

Post by Ann »

buniak_a_h wrote: Fri 29 Jan, 2021 06:27 Annвроде, поправил
Да, теперь повторная загрузка настроек фильтра работает как надо.
Остальное ещё посмотрю-погоняю.

И, мне, похоже, надо оперативно посмотреть что мешает работе скрипта в моём рабочем Фаре. А то стабильно повторяется, изложенное здесь:
Ann wrote: Thu 28 Jan, 2021 09:20Стойко получаю мёртвое зависание Фара после попытки выполнить макрос CtrlF-H "Дозаполнение фильтра" из Меню фильтров. Из панелей же данный макрос работает нормально.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Сохранение / восстановление файловых фильтров

Post by Ann »

buniak_a_h,

Работе сабжевого скрипта мешал скрипт Макросы для фильтров меню/списков MenuAutoFilter.lua (автор John Doe). После закомментирования в нём строки 26: ["5B87B32E-494A-4982-AF55-DAFFCD251383"] = "FiltersMenuId", помеха исчезла.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Ann, no comments
Можно, я не буду изучать этот вопрос? Вы можете повтыкать win.OutputDebugString-и в макрос и попробовать поймать место зацикливания. Но я не буду ставить указанный макрос.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Сохранение / восстановление файловых фильтров

Post by Ann »

buniak_a_h,

Дело хозяйское. А у меня вот опыта применения win.OutputDebugString пока что нет. Но если будут время и возможность отвлечься от рутинных дел (среди коих, прежде всего, служебные), то я бы, наверное, попытался. И если что интересное получится, дам знать.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Сохранение / восстановление файловых фильтров

Post by buniak_a_h »

Версия 1.1.9
Исправлена ошибочка преобразования фильтра пассивной панели в таблицу. Изменения только в модуле FileFilterTools
Post Reply

Return to “Обсуждение макросов”