Shift-F2

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
Shmuel
Posts: 6035
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 27 times
Been thanked: 295 times

Shift-F2

Post by Shmuel »

- Есть плагин A, позволяющий добавлять и извлекать файлы из базы SQLite.
- Есть плагин B, позволяющий просматривать содержимое баз SQLite.
- При нажатии ShiftF2 на файле базы данных Фар выводит меню выбора между плагинами A и B.

Поскольку плагин B не экспортирует GetFilesW, он в принципе не может исполнить операцию извлечения.
Предлагаю не включать в меню выбора плагина по ShiftF2 плагины, не экспортирующие GetFilesW.

Shmuel
Posts: 6035
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 27 times
Been thanked: 295 times

Shift-F2

Post by Shmuel »

Поскольку возражений пока нет, воспринимаю молчание как знак согласия.
В таком случае, при нажатии ShiftF2 не следует вызывать AnalyseW у плагинов, не экспортирующих GetFilesW. Тогда эти плагины и до меню выбора не доберутся.

Shmuel
Posts: 6035
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 27 times
Been thanked: 295 times

Shift-F2

Post by Shmuel »

Почитал энциклопедию, нашёл в OpMode бит OPM_TOPLEVEL, думаю вот оно, сейчас для плагина B запрещу обработку OPM_TOPLEVEL и заживём. Но оказалось, что при вызове AnalyseW, OpMode не содержит этого бита ни для одного из нажатий ShiftF1/2/3, что весьма противоречит энциклопедии.

(В случае отсутствия откликов, это последний мой пост в этой теме. Не очень интересно разговаривать с самим собой.)

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

Shift-F2

Post by zg »

я вижу упоминания OPM_TOPLEVEL в описаниях GetFilesInfo и ProcessHostFileInfo. по факту в GetFindData ещё приходит. в Analize — не приходит. возможно и надо, пока никому нужно не было. для решения вашей проблемы тут надо добавить условие && (OFP_EXTRACT != Type || i->has(iGetFiles)).
Shmuel wrote:
Tue 14 Jan, 2020 19:56
(В случае отсутствия откликов, это последний мой пост в этой теме. Не очень интересно разговаривать с самим собой.)
а что так-то? тема узкая, сомнительно что кто-то вот так сходу что-то скажет. соответственно надо тратить время, разбираться. ну ок, вы меня завинили, я сел, разобрался. посплю сегодня не 4 часа, а 3.5. ничего ж страшного, да?

Shmuel
Posts: 6035
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 27 times
Been thanked: 295 times

Shift-F2

Post by Shmuel »

zg, прежде всего, эти как бы не моя личная проблема, и мне казалось, что вопрос должен быть небезразличен и вам, к примеру. Никого конкретно я не "завинял", но хотелось сдвинуть это с мёртвой точки, для начала обсудить (а вдруг я чего-то недопонимаю и т.п.). Опять-таки, не предполагалось, что кто-то сразу бросится чинить, хотя надежда была, была и некоторая мысль сделать это самому, но сейчас сильно увлечён новым плагином и не хотелось бы переключаться. Насколько я понимаю, все необходимые фиксы не являются особо сложными, но мне разобраться в существующем коде будет подольше, чем, например вам или DrKnS.

А по поводу OPM_TOPLEVEL, энциклопедия говорит
Все файлы в плагине будут обработаны. Этот флаг устанавливается во время обработки команд Shift+F2 и Shift+F3 вне базового файла плагина.
P.S. Да, тема узкая, это не тема о количестве байт в строке статуса. Но полное отсутствие реакции в течение нескольких дней всё равно обескураживает, типа это никому не надо.
Кстати, ProcessHostFileW пока для меня тёмная лошадка, до сих пор ни разу не применял.
Last edited by Shmuel on Wed 15 Jan, 2020 00:00, edited 1 time in total.

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

Shift-F2

Post by zg »

Shmuel wrote:
Tue 14 Jan, 2020 23:19
А по поводу OPM_TOPLEVEL, энциклопедия говорит
Все файлы в плагине будут обработаны. Этот флаг устанавливается во время обработки команд Shift+F2 и Shift+F3 вне базового файла плагина.
так он и устанавливается для GetFiles и ProcessHostFile, о чём написано в описании соответствующих структур.
Shmuel wrote:
Tue 14 Jan, 2020 23:19
P.S. Да, тема узкая, это не тема о количестве байт в строке статуса.
про строку статуса можно ответить с телефона, а тут надо быть за компьютером, на котором есть исходники фара.

Post Reply

Return to “Разработка плагинов”