История: как убрать группировку по датам?
История: как убрать группировку по датам?
Подскажите, как отключить показ дат (группировку по датам) в списках с историями фара?
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
История в выпадающих списах
Установить следующий макрос:
Code: Select all
local HideOnly = true --hide or remove
local isHistoryList = {
[win.Uuid"4406C688-209F-4378-8B7B-465BF16205FF"]="SelectFromEditHistoryId",
[win.Uuid"E770E044-23A8-4F4D-B268-0E602B98CCF9"]="HistoryEditViewId",
[win.Uuid"FC3384A8-6608-4C9B-8D6B-EE105F4C5A54"]="HistoryFolderId",
[win.Uuid"880968A6-6258-43E0-9BDC-F2B8678EC278"]="HistoryCmdId",
}
local F = far.Flags
Event {
description="Remove date separators from history list";
group="DialogEvent";
uid="95525607-A291-48C2-8110-FA9150AF7A7E";
action=function(Event,param)
if param.Msg==F.DN_INITDIALOG and Event == F.DE_DLGPROCINIT then
local hDlg = param.hDlg
local info = hDlg:send(F.DM_GETDIALOGINFO)
if not (info and isHistoryList[info.Id]) then return end
local Item = hDlg:send(F.DM_GETDLGITEM,1)
if Item and Item[1]==F.DI_LISTBOX then
local list = Item[6]
for i=#list,1,-1 do
local v = list[i]
if bit64.band(v.Flags,F.LIF_SEPARATOR)~=0 then
if HideOnly then
v.Index = i
v.Flags = bit64.bor(v.Flags,F.LIF_HIDDEN)
hDlg:send(F.DM_LISTUPDATE,1,v)
else --Remove
hDlg:send(F.DM_LISTDELETE,1,{StartIndex=i,Count=1})
end
end
end
end
end
end
}
- HaRT
- Moderator
- Posts: 10806
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 220 times
- Been thanked: 357 times
История: как убрать группировку по датам?
John Doe, спасибо!
И обнаружилась блоха: если в диалоге (скажем, из панелей
И обнаружилась блоха: если в диалоге (скажем, из панелей
[b]ShiftF5[/b]
) открыть историю текстового поля и там по [b]ShiftDel[/b]
удалить из списка какой-то элемент, то разделители с датой возвращаются до переоткрытия списка.Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
История: как убрать группировку по датам?
А тут интересно: при удалении элемента обработчикам приходит DN_CLOSE, т.е. диалог как бы закрывается (вероятно особенность реализации).
Однако за этим не следует DN_INITDIALOG, как можно было бы ожидать.
Если это не баг, значит эту особенность необходимо документировать.
(Но непонятно как тогда плагин должен узнать об окончательном закрытии диалога?).
Edit:
Оказывается DN_CLOSE подобным образом может приходить и в других случаях: http://forum.farmanager.com/viewtopic.php?f=8&t=9478
Однако за этим не следует DN_INITDIALOG, как можно было бы ожидать.
Если это не баг, значит эту особенность необходимо документировать.
(Но непонятно как тогда плагин должен узнать об окончательном закрытии диалога?).
Edit:
Оказывается DN_CLOSE подобным образом может приходить и в других случаях: http://forum.farmanager.com/viewtopic.php?f=8&t=9478
- HaRT
- Moderator
- Posts: 10806
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 220 times
- Been thanked: 357 times
История: как убрать группировку по датам?
Как только начинаю вводить фильтр, разделители снова появляются. Сложно ли это исправить?
Far 3.0 build 4363 x86
Far 3.0 build 4363 x86
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
История: как убрать группировку по датам?
Есть на мантисе http://bugs.farmanager.com/view.php?id=2554
Исправить можно, но лично я пользуюсь этой особенностью как фичей.
Исправить можно, но лично я пользуюсь этой особенностью как фичей.
- HaRT
- Moderator
- Posts: 10806
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 220 times
- Been thanked: 357 times
История: как убрать группировку по датам?
ПишуJohn Doe wrote:можно
HideOnly = false
— история открывается с разделителями. Какая требуется сборка Фара?Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10806
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 220 times
- Been thanked: 357 times