Latest post of the previous page:
Code: Select all
local F = far.Flags
local hDlg,ID
Macro { description="Reset filters";
area="Dialog Menu MainMenu UserMenu Disks"; key="Esc F10";
uid="3DE219F0-7B83-453B-A1FA-E780640F7093";
condition=function()
hDlg = far.AdvControl"ACTL_GETWINDOWINFO".Id
ID = Area.Dialog and Dlg.CurPos or 1
if Area.Dialog and Dlg.ItemType~=F.DI_LISTBOX then return end
return hDlg:send(F.DM_LISTINFO,ID).ItemsNumber~=Object.ItemCount
end;
action=function()
if Menu.Filter(0)==1 then Menu.Filter(0,0); return end
hDlg:send(F.DM_ENABLEREDRAW,0)
for i,item in ipairs(far.GetDlgItem(hDlg,ID)[6]) do--[6] Selected/ListItems: integer/table
if band(item.Flags,F.LIF_HIDDEN)~=0 then
hDlg:send(F.DM_LISTUPDATE,ID,{Index=i,Text=item.Text,Flags=band(item.Flags,bnot(F.LIF_HIDDEN))})
end
end
Menu.Filter(4) --подправить высоту списка под количество элементов
hDlg:send(F.DM_ENABLEREDRAW,1)
end;
}