View Issue Details

IDProjectCategoryView StatusLast Update
0002594Far ManagerPlugins API.Dialogpublic2014-02-03 09:28
ReporterJohnDoe Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version3.0 
Summary0002594: DM_LISTFINDSTRING не всегда работает со значением полученным через DM_GETTEXT/DM_LISTGETITEM
DescriptionВ случае если для элемента вручную назначен хоткей DM_GETTEXT и DM_LISTGETITEM возвращают строку вида "&a Align block".

Если указать эту строку параметром при DM_LISTFINDSTRING, то получим nil

Чтобы с помощью DM_LISTFINDSTRING найти элемент с хоткеем приходится предварительно убирать из строки "&".

Предлагаю сделать так, чтобы при DM_LISTFINDSTRING случай с амперсендом обрабатывался самим фаром.

Ещё лучше было бы исключить амперссенд ещё внутри DM_GETTEXT/DM_LISTGETITEM, т.к. он не несёт никакой дополнительной информации.
Steps To ReproduceMacro{area="Dialog Menu"; key="F1"; action=function()
  local hDlg = far.AdvControl(F.ACTL_GETWINDOWINFO).Id
  local mask = far.SendDlgMessage (hDlg, F.DM_GETTEXT, 1)
  local pos = far.SendDlgMessage (hDlg, F.DM_LISTFINDSTRING, 1, {Pattern=mask})
  far.Show(mask,pos)
end
}

Открыть меню плагинов F11, по F1 сравнить значения получаемые при выбранном пункте с хоткеем и без хоткея.
TagsNo tags attached.
Build

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2014-02-03 09:28 JohnDoe New Issue