Enter vs CtrlPgDn

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Post Reply
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Enter vs CtrlPgDn

Post by Skirda »

Объясните, pls, зачем плагину нужно знать каким образом пользователь ввалился в "файл", который этот плагин обслуживает? (FAR позвал функцию плагина OpenFilePlugin())
We are the Borg. You will be assimilated.
So Say We All!
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Enter vs CtrlPgDn

Post by DrKnS »

Где-то вроде такое уже обсуждалось.

Например:
1) есть два плагина, претендующих на файл, пользователь хочет по Enter открывать одним, по CtrlPgDn - другим. В одном плагине "отключается" Enter, в другом -CtrlPgDn, все довольны.

2) есть эти же два плагина и Underscore, по CtrlPgDn пользователь хочет меню из 2 пунктов, по Enter - всегда что-то одно. В одном из плагинов "отключается" Enter, все довольны.
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Re: Enter vs CtrlPgDn

Post by CrOm »

а где это отключается у плагинов?
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Enter vs CtrlPgDn

Post by DrKnS »

Нигде. Это гипотетически, при наличии того самого "знания" из первого поста.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Enter vs CtrlPgDn

Post by Skirda »

(мысли вслух)
Т.к. у нас для сабжа вызывается OpenFilePlugin, то наверное нужно делать нечто вроде FCTL_GETOPENFILEPLUGINMODE.

Здесь два пути:
1. (простой) FCTL_GETOPENFILEPLUGINMODE вернет моду последнего захода (одна переменная на весь ФАР)
2. (сложнее) FCTL_GETOPENFILEPLUGINMODE вернет моду из таблицы соответствия HandleПлагина<->Мода

первое реализуется быстро.

Но! :oops: Если обсуждать про АПИ 1.8, то здесь OpenFilePlugin может и сам это сделать. :crazy:
We are the Borg. You will be assimilated.
So Say We All!
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Re: Enter vs CtrlPgDn

Post by CrOm »

считаю так, если так захотелось мутить отличие во входе, то для 1.8 можно переколбасить функу и добавить туда флаги входа, примерно как в OpenPlugin.

кстати, если пошла такая пьянка с этими функами, то может прикрутить расширение макроязыка?
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Enter vs CtrlPgDn

Post by Skirda »

CrOm wrote:кстати, если пошла такая пьянка с этими функами, то может прикрутить расширение макроязыка?
Это на мантисе есть?
We are the Borg. You will be assimilated.
So Say We All!
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Enter vs CtrlPgDn

Post by DrKnS »

Сабж - только цветочки.
Трогать OpenFilePluginW в 1.8 надо бы и на предмет внедрения той самой фичи, о которой так долго говорили большевики: пройтись по всем плагинам с вопросом "а ты будешь открывать этот файл?", из ответивших утвердительно построить меню.
Почва уже подготовлена - "int OpMode".
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: Enter vs CtrlPgDn

Post by WARP ItSelf »

Меню делается легко. Но тут всплывает еще одна фича "о которой говорили большевики": а какуй строку в этом меню показывать? И еще, некоторые плагины привыкли по OpenFilePlugin рисовать что-то. От этого надо будет злобно отучать.
Никто не знал, а я...
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Enter vs CtrlPgDn

Post by DrKnS »

WARP ItSelf wrote:а какуй строку в этом меню показывать?
PluginInfo:
+ const wchar_t * const *OpenPluginMenuStrings;
некоторые плагины привыкли по OpenFilePlugin рисовать что-то. От этого надо будет злобно отучать.
Привыкшие работают через враппер и их это не коснётся :)
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: Enter vs CtrlPgDn

Post by WARP ItSelf »

Привыкшие работают через враппер и их это не коснётся :)
Хм, и чего будет, когда я нажму Ctrl-PgDn на файле, на который претендуют 2 анси плагина и 4 юникодных? Уж если будет меню - оно показывать будет всех. В принципе таких "неверных" плагинов не так много, это не самая большая проблема. Но от "неверных" придется просто отказаться.
Никто не знал, а я...
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Enter vs CtrlPgDn

Post by DrKnS »

WARP ItSelf wrote:Уж если будет меню - оно показывать будет всех.
Хотелось бы, ага, но строки брать неокуда, от рисования чего-то по OpenFilePlugin не отучены, красиво не получится.
Можно так:

Code: Select all

╔════ Открыть с помощью...════╗
║  Модуль работы с архивами   ║
║  Поддержка архивов (newarc) ║
║  Плагин 7-Zip               ║
╟─────────────────────────────╢
║  ANSI - плагины...          ║
╚═════════════════════════════╝
Последний пункт - опционален, при выборе зовётся первый анси-плагин, сказавший "моё". Теоретически, им может являться и The Underscore, в этом случае будет меню и для анси-плагинов.
User avatar
Px
Posts: 826
Joined: Fri 08 Sep, 2006 15:52
Location: Вишнёвый (под Киевом)
Contact:

Re: Enter vs CtrlPgDn

Post by Px »

От себя, как обычного пользователя - по Enter выполняем "Действие/Плагин по-умолчанию", по CtrlPgDn выводим меню возможных плагинов для данного файла :)
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Enter vs CtrlPgDn

Post by Max Rusov »

Px wrote:От себя, как обычного пользователя - по Enter выполняем "Действие/Плагин по-умолчанию", по CtrlPgDn выводим меню возможных плагинов для данного файла :)
В котором будет CheckBox "Использовать по умолчанию для данного типа файлов"...
Post Reply

Return to “Предложения и идеи”