Shift-F6 в панели плагина

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

Shift-F6 в панели плагина

Post by Shmuel »

Случайно нажал Shift-F6 в панели плагина Polygon (при этом в панели отображалась таблица с большим количеством записей).
Увидел, что Фар перечитывает панель, аналогично Ctrl-R.
В коде плагина это кнопкосочетание не используется. Макросы и прочие плагины отключены.
В справке Фара ничего об этом не нашёл. Старые билды Фар (вплоть до 4430) ведут себя так же.
???
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Shift-F6 в панели плагина

Post by DrKnS »

Shmuel wrote: Sat 28 Jul, 2018 20:57???
Так было еще у Рошала - панель обновляется независимо от того, что вернул плагин.
Починить можно (не проверял).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Shift-F6 в панели плагина

Post by Shmuel »

DrKnS wrote: Sun 05 Aug, 2018 16:31 панель обновляется независимо от того, что вернул плагин.
Это точно, недавно заметил на F8 - плагин возвращает false из DeleteFilesW, но Фар перечитывает панель. Тут, конечно, API плагинов у нас недоработан, потому что не разделяются варианты (1) полной неудачи, (2) частичной неудачи - удалились не все помеченные файлы и (3) отмены операции пользователем.
DrKnS wrote: Sun 05 Aug, 2018 16:31 Починить можно ... (не проверял).
Я уже побаиваюсь инициировать что-либо :)
Пока для F8 выход (для ShiftF6 тоже подойдёт) - перехватываю нажатие клавиши, вывожу запрос, в случае отмены пользователем говорю Фару, что клавиша обработана, и таким образом дело не доходит до DeleteFilesW.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Shift-F6 в панели плагина

Post by DrKnS »

Shmuel wrote: Sun 05 Aug, 2018 17:33 не разделяются варианты (1) полной неудачи, (2) частичной неудачи - удалились не все помеченные файлы и (3) отмены операции пользователем
А разве отмену пользователем нельзя считать частичной неудачей? Посткондишн как бы тот же - "удалились не все помеченные файлы".
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Shift-F6 в панели плагина

Post by Shmuel »

Отмена, на мой взгляд, это полная неудача - то есть не удалился ни один файл. В случае полной неудачи перечитывание панели - лишнее. Перечитывать панель следует при (1) удаче и (2) частичной неудаче.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Shift-F6 в панели плагина

Post by DrKnS »

Shmuel wrote: Sun 05 Aug, 2018 18:48 Отмена, на мой взгляд, это полная неудача - то есть не удалился ни один файл
А, это ситуация "плагин показал диалог [точно удалять? Да/Нет], пользователь сказал нет"? Тогда да.
Я имел в виду несколько иное - "пользователь согласился, но уже в процессе передумал и нажал Esc".
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Shift-F6 в панели плагина

Post by Shmuel »

DrKnS wrote: Sun 05 Aug, 2018 16:31 панель обновляется независимо от того, что вернул плагин
В случае с Shift-F6 плагин не может ничего вернуть, поскольку не экспортирует функцию GetFilesW. В этом случае все обновления панели по F5, Shift-F5, F6, Shift-F6 однозначно лишние.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Shift-F6 в панели плагина

Post by DrKnS »

Shmuel wrote: Mon 06 Aug, 2018 09:58В случае с Shift-F6 плагин не может ничего вернуть, поскольку не экспортирует функцию GetFilesW
В этом случае -1 возвращает заглушка внутри Far, да.
Post Reply

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