View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001281 | Wishes | Macro | public | 2010-02-16 09:35 | 2014-02-08 19:48 |
Reporter | corwinnt | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Product Version | 2.0 | ||||
Summary | 0001281: Макрокоманды, работающие только для конкретного плагина | ||||
Description | Для возможности создания макрокоманд, работающих только для конкретного плагина (в его панели, диалоге и т.д.) предлагаю помимо ветки реестра HCU\Software\Far2\KeyMacros завести ветку HCU\Software\Far2\KeyMacrosPlugins. То есть для панели плагина MyPlugin.dll проверять вначале наличие клавиатурных макрокоманд в HCU\Software\Far2\KeyMacrosPlugins\MyPlugin.dll\Common и HCU\Software\Far2\KeyMacrosPlugins\MyPlugin.dll\Shell (для диалога: HCU\Software\Far2\KeyMacrosPlugins\MyPlugin.dll\Dialog и т.д.) и только потом проверять общие макросы. Это даст возможность использовать макросы, актуальные только для специфики конкретного плагина и ненужные (или неработоспособные) в реальных панелях (диалогах и т.д.) или отменять действие общих макросов, если они не работают с конкретным плагином. В качестве имени ветви реестра можно использовать не имя dll плагина, а имя с относительным путём к ней (по аналогии со способом хранения горячих клавиш в HCU\Software\Far2\PluginHotkeys). | ||||
Tags | No tags attached. | ||||
Build | |||||
|
1. предлагается не основываться на имени dll, а дождаться "слома" апи (когда GUID`ы будут доступны ;-)) 2. с появлением гуидов этот тикет можно видоизменить путем добавки каждому плагину еще одного поля - что-то типа "target", в котором через разделитель будут перечислены GUID`ы, для которых актуален макрос. |
|
Тикет необходимо переформулировать с учётом современного состояния системы макросов. Предлагаю добавить в спецификацию макроса отдельное поле - фильтр по плагину. Актуально для панелей, меню и диалогов (Dlg.OwnerId). Кроме того, поскольку меню и диалоги могут иметь собственный гуид, актуален и фильтр по Dlg.Id/Menu.Id |