TrueBranch — список из файлов текущей папки и её подпапок

Здесь можно обсудить ваш любимый плагин.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by HaRT »

Latest post of the previous page:

corwinnt wrote:
HaRT wrote:И приложить макрос, где каждый сможет кнопкосочетание подменить.
Макрос, работающий только на панели конкретного плагина? А как?
Я имел в виду вызов плагина через меню плагинов. А уж свою-то панель, думаю, он в состоянии будет узнать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by DAtaMan »

corwinnt wrote:
DAtaMan wrote:А то сейчас маски действуют и на файлы и на папки.
Неправда ваша :ha: Вот такие конструкции "*\cache\*.*,*\temp\*.*" в списке исключения работают, только что проверил.
И я проверил на свежей версии. :)
К примеру, зайдите в папку FAR\Addons вызовите плагин, и в маске исключения введите m*.*
В результате в панели нет не только файлов начинающихся на "m", но и папки "Macros".
Так же и с масками включения.
Или этого не хватает?
Можно, конечно, и фильтрами панели это решить, но разве под "Включая/исключая файлы" не подразумевается, что на папки это не распространяется ? ;)
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

HaRT wrote:Я имел в виду вызов плагина через меню плагинов.
То есть, если "не моё", то стартовать, а иначе запускать настройки? Сейчас это логично, согласен. Но я планирую оторвать заглушку, запрещающую запуск на плагинной панели (в принципе ему вполне достаточно только OPIF_REALNAMES), а тогда логика захромает... А текущий вариант через настраиваемую клавишу чем плох?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by HaRT »

corwinnt wrote:То есть, если "не моё", то стартовать, а иначе запускать настройки?
Не обязательно — ведь плагин может открывать собственное меню.
corwinnt wrote:Сейчас это логично, согласен. Но я планирую оторвать заглушку, запрещающую запуск на плагинной панели [...], а тогда логика захромает...
Во-первых, “плагинная” ещё не означает “своя”. Во-вторых, меню плагина может содержать пункт открыть/закрыть и ещё любые.
corwinnt wrote:А текущий вариант через настраиваемую клавишу чем плох?
Тем, что клавишу приходится настраивать частным образом, специфичным для конкретного плагина.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

DAtaMan wrote:в маске исключения введите m*.* В результате в панели нет не только файлов начинающихся на "m", но и папки "Macros".
А "*\m*.*"?.. Чёрт возьми, действительно облом :(

Вообще, было желание объединить эти две строки и записывать исключения через "|", как везде в FAR. Переделка там небольшая... А теперь получается, что для папок отдельную строку делать всё равно придётся.
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by DAtaMan »

corwinnt wrote:А теперь получается, что для папок отдельную строку делать всё равно придётся.
Может и не стоит возиться.
Может для начала сделать, чтобы маски распространялись только на файлы ?
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

HaRT wrote:ведь плагин может открывать собственное меню.
Именно этого мне и не хотелось. "Старый" branch лично я запускал "F11 /", а свой приходится "F11 / Enter" из-за диалога. Лишняя кнопка... Правда можно отказаться от диалога и сделать меню из трёх позиций (текущая, выделенные, дополнительно)... Можно и так, спасибо за идею.
HaRT wrote:“плагинная” ещё не означает “своя”
Это понятно. Просто сейчас он вообще на плагинной панели (в т.ч. и своей) отругается и не запустится.
HaRT wrote:клавишу приходится настраивать частным образом, специфичным для конкретного плагина.
Ну да. Настройки плагинов у нас - зоопарк ещё тот. Даже по способу хранения. У кого реестр, у кого xml, у кого вообще ini или ручная правка lng... Одним уродцем больше, одним меньше...

А если серьёзно, то если бы это не слишком криво решалось макросом, я бы этот костыль не изобретал. Триста лет не нужен этот макрос в других панелях. И персональных хоткей под каждый плагин тоже. Я сначала сам так делал, но потом просто перестал помнить, что у меня на CtrlAltX, а что на AltShiftF5.

А как решить не криво?.. Скажем, кроме HCU\Software\Far2\KeyMacros\ завести HCU\Software\Far2\KeyMacrosPlugins\ и внутри неё - ветки по именам dll. И для панели плагина (или плагинного диалога) искать сначала там, а потом в общей ветке. Тогда можно было бы макросы под каждый диалог написать, а не только под конкретный плагин.
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

DAtaMan wrote:Может для начала сделать, чтобы маски распространялись только на файлы ?
Объём работы по доработке одинаковый, что оторвать фильтр на папках, что использовать другую маску ;)
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by HaRT »

corwinnt wrote:А как решить не криво?.. Скажем, кроме HCU\Software\Far2\KeyMacros\ завести HCU\Software\Far2\KeyMacrosPlugins\ и внутри неё - ветки по именам dll. И для панели плагина (или плагинного диалога) искать сначала там, а потом в общей ветке. Тогда можно было бы макросы под каждый диалог написать, а не только под конкретный плагин.
Я бы предпочёл что-то типа reg:HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\Plugins/MyPlugin/MyPlugin.dll/, где подчёркнутое — то же, что в PluginHotkeys.
Возьмётесь записать предложение на Мантис?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by DAtaMan »

corwinnt wrote:Объём работы по доработке одинаковый, что оторвать фильтр на папках, что использовать другую маску ;)
Отлично !
Голосую за добавление отдельных масок для папок - более гибкое использование получается. :)
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

HaRT wrote:Я бы предпочёл что-то типа reg:HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\Plugins/MyPlugin/MyPlugin.dll/, где подчёркнутое — то же, что в PluginHotkeys.
Тогда бы не только Shell, но и Common, Search, а по хорошему и Dialog... Меня немного смущает то, что искать тяжело будет. MyPlugin/MyPlugin.dll вклинится между F6, F8 и Multiply, RAlt например. Стоп! А если папка плагина будет называться Multiply или Esc? Esc, кстати, реальный плагин, правда не панельный... В отдельной ветке таких проблем не будет.

И может быть всё таки не MyPlugin/MyPlugin.dll, а просто MyPlugin.dll? Если плагин перенести в другую папку, макросы слетят. А шансов, что в системе два плагина с одним именем, практически нет. Правда хоткеи плагинов FAR хранит с учётом пути... Но по большому счёту это шашечки, а нам ехать нужно ;)
HaRT wrote:Возьмётесь записать предложение на Мантис?
Запишу. Осталось только вспомнить пароль туда... :oops:
DAtaMan wrote:Голосую за добавление отдельных масок для папок
Уже почти сделано:

Code: Select all

╔═ Ветвь: C:\...r\branch\final.32W.vc ═╗╔═ ...oftware\Far\KeyMa
║и   Имя     │    Имя     │    Имя     ║║и   Имя     │    Имя
║/..         │            │            ║║/~AltF7     │/Ctrl"
║/obj        │            │            ║║/~ShiftEnter│/Ctrl~
║ farlist.bat│            │            ║║/Add        │/Ctrl=
║ T
║¿T   ╔═════════════ Ветвь папки: Дополнительно ══════════════╗
║¿T   ║ [x] Показывать папки в панели плагина                 ║
║¿T   ║ [ ] Показывать полный путь к файлу                    ║
║¿T   ╟───────────────────────────────────────────────────────╢
║ T   ║ Включая только файлы                                  ║
║ T   ║ *.*|*\o*\*.*                                         ↓║
║ T   ║ Включая только папки                                  ║
║     ║ *.*                                                  ↓║
║     ╟───────────────────────────────────────────────────────╢
║     ║                  [ OK ]  [ Отмена ]                   ║
║     ╚═══════════════════════════════════════════════════════╝
Папка "obj" отображается, а все файлы внутри неё - нет. Осталось отразить это дело в хелпе и вечером завтра можно будет выложить в народ... Завтра потому, что сегодня у жены ДР, а я, скотина такая, до сих пор на работе :shock:

Заодно и про использование "\" в масках дописать в хелп не помешало бы. И, наверное, строку ввода для маски папок нужно дизэйблить, если галочка "Показывать папки в панели плагина" снята. Всё равно толку от неё тогда нет никакого. И reg для прибития ненужных теперь ключей в реестре (FilesExclude и FilesInclude) приложить нужно (теперь вместо них FilesMask и FoldersMask). И начальный диалог на меню заменить, добавив проверку на то, не является ли активная панель панелью ветви. Так что может и послезавтра.
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by DAtaMan »

corwinnt wrote:Заодно и про использование "\" в масках дописать в хелп не помешало бы.
Да, и дописать, что регулярные выражения в масках не работают. :(

UPD: Это в FAR2, конечно. А хотелось бы, чтобы работали. :)
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

Выложил шестой билд. На подходе седьмой, в котором я всё же оторву об греха подальше эту самую клавишу, определяемую пользователем. Всё равно плагин F7 для своих целей использует...
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by DAtaMan »

Спасибо за новую версию, всё отлично. Почти. :)
Пара предложений:
  1. чтобы фильтр папок работал не для отображения, а для сканирования. То есть так, как работают маски в стандартном поиске.
    Возможно и с дополнительным чекбоксом для такого режима.
  2. при сканировании отмеченных папок и вызове F7, по Del исключать папку с её содержимым из панели, но не удалять папку из меню, а только снимать галочку. Чтобы потом по Ins снова можно было включить.
Можно такое сделать ?
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
corwinnt
Posts: 92
Joined: Wed 03 Feb, 2010 14:31
Location: Днепропетровск, Украина
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by corwinnt »

DAtaMan wrote:чтобы фильтр папок работал не для отображения, а для сканирования. То есть так, как работают маски в стандартном поиске.
Собственно плагин сейчас использует FSF.FarRecursiveSearch(), так что стандартнее некуда :) А что не устраивает? То, что при маске "*|*\temp\*" всё равно тратится время на бессмысленное сканирование папки temp и её вложенных? Можно отказаться от FSF и написать свой велосипед, но я не уверен, что разбор списка, разделённого запятыми, на предмет поиска "...\*" и "...\*.*" и их особого анализа реально ускорит сканирование... По свободе попробую. Тем более, что есть одна идея по ускорению стандартной FSF.FarRecursiveSearch().
DAtaMan wrote:при сканировании отмеченных папок и вызове F7, по Del исключать папку с её содержимым из панели, но не удалять папку из меню, а только снимать галочку
Build 8. Del работает как раньше, а Пробел/Ins переключают активность элемента.
User avatar
Вадим Захаренко
Posts: 922
Joined: Fri 18 Mar, 2005 08:59
Location: Беларусь, Мозырь
Has thanked: 7 times
Contact:

Re: TrueBranch — список из файлов текущей папки и её подпапок

Post by Вадим Захаренко »

А можно отдельно выложить сюда файл-проекта для 64бит?
Попытаюсь собрать сам

VS2008Exp - стоит, но в в связи с тем что дикая нехватка времени. разобраться как там сменить компиляцию с 32 на 64 не в состоянии

Кстати - нехватка времени в т.ч. и из за отсутствия плагина :( .
Уже подумываю что бы поставить себе ФАР32
Post Reply

Return to “Обсуждение плагинов”