Поскольку никто из активных разработчиков фара и плагинов не использует описания, не видать нам АПИ как своих ушей.Alexey Samlyukov wrote:при наличии АПИ под дескрипшины - сделаю, иначе - увы...
API для описаний файлов (descript.ion)?
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
API для описаний файлов (descript.ion)?
Re: VisRen: Visual renaming — визуальное переименование файл
Из разработчиков плагинов описания использую я
Только меня в АПИ не пустят
Только меня в АПИ не пустят
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: VisRen: Visual renaming — визуальное переименование файл
Ну почему же так категорично.
Описания всё равно в фаре и некоторых стандартных плагинах обрабатываются, и никто пока выбрасывать их не собирается.
Вряд ли фартим будет возражать против унификации этого дела.
И даже наоборот: унификация обработки описаний файлов позволит вынести весь код их обновления из фара в спец. плагин.
Думаю никто из фартим не будет возражать против того чтобы выкинуть обновление описаний из ядра фара
Update
DrKnS сам не так давно предлагал идею API.
Описания всё равно в фаре и некоторых стандартных плагинах обрабатываются, и никто пока выбрасывать их не собирается.
Вряд ли фартим будет возражать против унификации этого дела.
И даже наоборот: унификация обработки описаний файлов позволит вынести весь код их обновления из фара в спец. плагин.
Думаю никто из фартим не будет возражать против того чтобы выкинуть обновление описаний из ядра фара
Update
DrKnS сам не так давно предлагал идею API.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: VisRen: Visual renaming — визуальное переименование файл
- Это позволит реализовать альтернативные методы хранения описаний, помимо морально устаревших files.bbs/descript.ion.
- С помощью такого АПИ фар мог бы выводить в колонке описаний вообще всё что угодно. Собственно именно этим когда-то занимался плагин Description Manager
- Тут недавно просили историю действий в фаре, как раз помогло бы подобное АПИ.
Last edited by John Doe on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: API колонок и API описаний не стоит смешивать
Reason: API колонок и API описаний не стоит смешивать
Re: API для описаний файлов (descript.ion)?
Помнится мне, как-то уже заходил разговор про АПИ для пользовательских колонок.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: API для описаний файлов (descript.ion)?
Заходил, но как-то мельком (см. Custom колонки плагинов). Или ещё где-то было?
А вообще согласен - идея правильная: убрать колонку описаний как класс, а вместо неё дать плагинам API для пользовательских колонок.
Но это уже отдельная тема.
Что касается API для обновления описаний, как я понимаю, от фара нужно 2 вещи:
А вообще согласен - идея правильная: убрать колонку описаний как класс, а вместо неё дать плагинам API для пользовательских колонок.
Но это уже отдельная тема.
Что касается API для обновления описаний, как я понимаю, от фара нужно 2 вещи:
- Уведомлять плагин_реализующий_описания об изменении/копировании/переименовании/перемещении файлов и директорий (реальных или виртуальных).
- Какие файлы фар сам двигает он знает, а сторонние плагины должны будут как-то уведомлять фар об изменениях.
Re: API для описаний файлов (descript.ion)?
Для начала нужно определиться с задачей.
[*] Убирать из ядра фара описания для выноса в плагин (для ясности назовем его dizman)?
[*] Заложиться на то, что колонок может быть более одной? То есть не только Description, но например Version (для PE), Bitrate (для mp3), Author для документов, "статус" для исходников из SVN, и т.п.
[*] Может ли быть более одного плагина рулящего описаниями? Или достаточно будет "модулей" для этого dizman?
[*] Как именовать эти колонки для настройки режимов панелей? Наиболее простое - Z оставить для Description, а Z1,Z2,... отвести для дополнительных колонок. В настройке же dizman дать возможность пользователю выбрать для каждого Z что именно отображать в колонке (шаблоны).
[*] Наверное (как минимум) должно остаться поле?
То есть dizman не должен перекрывать Description, предоставляемый открытым на панели плагином?
Пока мысли такие. Когда концепция устаканится (общими силами , и если не последует возражений от фартима - можно будет заняться.
[*] Убирать из ядра фара описания для выноса в плагин (для ясности назовем его dizman)?
[*] Заложиться на то, что колонок может быть более одной? То есть не только Description, но например Version (для PE), Bitrate (для mp3), Author для документов, "статус" для исходников из SVN, и т.п.
[*] Может ли быть более одного плагина рулящего описаниями? Или достаточно будет "модулей" для этого dizman?
[*] Как именовать эти колонки для настройки режимов панелей? Наиболее простое - Z оставить для Description, а Z1,Z2,... отвести для дополнительных колонок. В настройке же dizman дать возможность пользователю выбрать для каждого Z что именно отображать в колонке (шаблоны).
[*] Наверное (как минимум) должно остаться поле?
Code: Select all
struct PluginPanelItem
{...
wchar_t *Description;
...};
Пока мысли такие. Когда концепция устаканится (общими силами , и если не последует возражений от фартима - можно будет заняться.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: API для описаний файлов (descript.ion)?
Если будет АПИ, то зачем они в ядре?[*] Убирать из ядра фара описания для выноса в плагин (для ясности назовем его dizman)?
Конечно >1.[*] Заложиться на то, что колонок может быть более одной?
Но это имеет значении только при отображении, поскольку custom-колонки в идеале это вообще отдельная сущность.
А при самом обновлении описаний плагин может и не делиться этой информацией - она никому не нужна.
Да, почему бы и нет. Может быть наоборот - в субплагинах не будет особого смысла, поскольку будет слишком мало общего.[*] Может ли быть более одного плагина рулящего описаниями? Или достаточно будет "модулей" для этого dizman?
Только почему именно "описаниями"? Как насчёт плагина ведущего историю действий, с возможностью отмены?
P.S.
В пользу хостплагина/субплагинов: возможность комбинировать всю информацию в 1 колонку, по шаблону.
Re: API для описаний файлов (descript.ion)?
Это имеет значение в принципе, а не только при отображении. От этого будет зависеть новая архитектура.John Doe wrote:Конечно >1.[*] Заложиться на то, что колонок может быть более одной?
Но это имеет значении только при отображении,
Custom-колонки не трогаем, ибо они предоставляются плагином держащим текущую панель.поскольку custom-колонки в идеале это вообще отдельная сущность.
Ну, попробуй описать ситуацию, которую нельзя решить субплагином? У всех субплагинов будет одно общее - они должны предоставить некоторую информацию по запрошенному файлу.John Doe wrote:Да, почему бы и нет. Может быть наоборот - в субплагинах не будет особого смысла, поскольку будет слишком мало общего.[*] Может ли быть более одного плагина рулящего описаниями? Или достаточно будет "модулей" для этого dizman?
В пользу единственного плагина то, что так можно настроить режимы панелей пользователю.
Если же давать возможность нескольким плагинам (уровня фара) рулить колонками описаний - становится не понятно как можно настроить режим отображения панелей (Z,Z1..Z9 уже не прокатят).
Во избежание путаницы. Колонки описаний будут совсем не то, что custom-колонки, предоставляемые плагином, открытым на панели.John Doe wrote:Только почему именно "описаниями"?
Что-то я не понял, с какого перепугу в теме про колонки появился "плагин ведущего историю действий"John Doe wrote:Как насчёт плагина ведущего историю действий, с возможностью отмены?
Это уж как пользователю захочется... С другой стороны станет непонятно, как редактировать такое "описание" по Ctrl-ZJohn Doe wrote:В пользу хостплагина/субплагинов: возможность комбинировать всю информацию в 1 колонку, по шаблону.
Видимо, независимо от шаблона отображения - редактирование полей, предоставляемых субплагинами (если субплагин позволяет редактирование).
Кстати, таким образом можно будет редактировать тэги mp3-ек, например.
P.S., я не туда смотрю, или в хелпе по настройке режимов панелей нет упоминания по C0...C9?
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: API для описаний файлов (descript.ion)?
Речь не о тех который держит текущий плагин, а об универсальных, которых ещё в природе нету, и только обсуждались (см. линк выше)Maximus5 wrote:Custom-колонки не трогаем, ибо они предоставляются плагином держащим текущую панель.
Да, непросто. Думаю нужны будут не буквенные обозначения, а нормальные имена.Maximus5 wrote:Если же давать возможность нескольким плагинам (уровня фара) рулить колонками описаний - становится не понятно как можно настроить режим отображения панелей (Z,Z1..Z9 уже не прокатят).
См. ссылку выше. Предлагается вообще уйти от колонки описаний, в пользу универсальных кустомных колонок.Maximus5 wrote:Во избежание путаницы. Колонки описаний будут совсем не то, что custom-колонки, предоставляемые плагином, открытым на панели.John Doe wrote:Только почему именно "описаниями"?
Обсуждаемое АПИ покрывает потребности этого гипотетического плагина, так что почему бы и нет?Maximus5 wrote:Что-то я не понял, с какого перепугу в теме про колонки появился "плагин ведущего историю действий"John Doe wrote:Как насчёт плагина ведущего историю действий, с возможностью отмены?
Примерно.Maximus5 wrote:Кстати, таким образом можно будет редактировать тэги mp3-ек, например.
И кстати сам шорткат Ctrl-Z уже не обязан быть командой фара.
Т.е. в случае нескольких плагинов это могут быть вообще разные шорткаты. Или например меню со списком всех "контентных" плагинов...
Re: API для описаний файлов (descript.ion)?
Вопрос спорный.John Doe wrote:Да, непросто. Думаю нужны будут не буквенные обозначения, а нормальные имена.Maximus5 wrote:Если же давать возможность нескольким плагинам (уровня фара) рулить колонками описаний - становится не понятно как можно настроить режим отображения панелей (Z,Z1..Z9 уже не прокатят).
"номальные" имена сложнее обработать в фаре,
для "нормальных" имен не настроишь шаблон - т.к. это уже будет ссылка на колонку (а если давать в интерфейсе dizman именовать колонки - это уже перебор будет).
С одной стороны - да. А с другой... межплагинового взаимодействия у нас (пока?) нет, так что для того чтобы порулить описаниями из плагина (переименование в VisRen) - нужно бы дернуть функцию фара типаJohn Doe wrote:Примерно.Maximus5 wrote:Кстати, таким образом можно будет редактировать тэги mp3-ек, например.
И кстати сам шорткат Ctrl-Z уже не обязан быть командой фара.
FSF.MoveDescriptions ( const wchar_t* SrcFile, const wchar_t* DstFile ).
И мне кажется, что все-таки фар должен обрабатывать CtrlZ (просто дернуть функцию плагина).
Можно конечно сделать макрос, но он "из коробки" будет отсутствовать?
мне идея с несколькими плагинами не нравится. настраивать неудобно будет.John Doe wrote:Т.е. в случае нескольких плагинов это могут быть вообще разные шорткаты.
Re: API для описаний файлов (descript.ion)?
Ну, как вариант, можно и несколько плагинов сделать (не субплагинов). Только тогда весь функционал по обработке колонок (в смысле вычитывания, настройки, диалогов редактирования) будет в самом FAR.
Иначе будет зоопарк?
Сейчас как - нажал Ctrl-Z, отредактировал, закрыл.
Если куча плагинов - нажал F11, думаешь какой-же все-таки плагин отвечает за колонку, которую ты хочешь отредактировать, выбираешь его, редактируешь, закрываешь. А если нужно поправить сразу несколько колонок, предоставляемых разными плагинами?
Иначе будет зоопарк?
Сейчас как - нажал Ctrl-Z, отредактировал, закрыл.
Если куча плагинов - нажал F11, думаешь какой-же все-таки плагин отвечает за колонку, которую ты хочешь отредактировать, выбираешь его, редактируешь, закрываешь. А если нужно поправить сразу несколько колонок, предоставляемых разными плагинами?
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: API для описаний файлов (descript.ion)?
Не пойму в чём проблема?Maximus5 wrote:(а если давать в интерфейсе dizman именовать колонки - это уже перебор будет).
Я подозреваю что и сам плагин из коробки будет отсутствовать.Maximus5 wrote:Можно конечно сделать макрос, но он "из коробки" будет отсутствовать?
Имхо вопрос вообще непринципиальный. Тем более неясно что делать в случае нескольких плагинов.Maximus5 wrote:И мне кажется, что все-таки фар должен обрабатывать CtrlZ (просто дернуть функцию плагина).
Как я писал выше, у предполагаемого АПИ могут быть 2 стороны: VisRen оповещает фар об изменении имён, а фар уже дёргает по очереди все подписанные на изменения плагины.Maximus5 wrote:межплагинового взаимодействия у нас (пока?) нет, так что для того чтобы порулить описаниями из плагина (переименование в VisRen) - нужно бы дернуть функцию фара типа
FSF.MoveDescriptions ( const wchar_t* SrcFile, const wchar_t* DstFile ).
И если учитывать универсальность АПИ, то слово Descriptions слишком конкретное. Лучше что-нибудь в сторону MoveNotification.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: API для описаний файлов (descript.ion)?
Не понял. В фаре уже сейчас есть настройка какие колонки в каком режиме отображать, и в каком порядке.Maximus5 wrote:Ну, как вариант, можно и несколько плагинов сделать (не субплагинов). Только тогда весь функционал по обработке колонок (в смысле вычитывания, настройки, диалогов редактирования) будет в самом FAR.
А чтобы удобнее было - можно будет настраивать это плагином. Например, этот функционал впишется в PlugMenu.
Против субплагинов я естественно тоже ничего принципиально против не имею. И даже скорее за.
Просто кого-то может не устроить АПИ хост-плагина. Это раз.
И два: какие-то плагины просто не будут нуждаються в хосте, т.к. не отображают колонки.
А какие-то наоборот - колонки отображают, но описания не меняют.
Re: API для описаний файлов (descript.ion)?
Замечательно. Каким образом ты предлагаешь пользователю вместо "N,Z" вводить информацию, что он хочет видеть: <FileName>, <Descript.ion>, <MP3 bitrate>Не понял. В фаре уже сейчас есть настройка какие колонки в каком режиме отображать, и в каком порядке.
для примера?
С таким же успехом другого "кого-то" не устроит АПИ фара. Так что это не аргумент.Просто кого-то может не устроить АПИ хост-плагина. Это раз.
Ты похоже совсем запутался. Я говорю про "универсальные" колонки, а не про "custom-колонки", которые уже есть в АПИ.И два: какие-то плагины просто не будут нуждаються в хосте, т.к. не отображают колонки.