private void ApplyFilter()
{
SortOrder so = lstProtos.Sorting;
if (!chkFilter.Checked)
{
lstProtos.ModelFilter = null;
return;
}
else
{
this.lstProtos.ModelFilter = new ModelFilter(delegate(object x)
{
ItemProto Prot = (ItemProto)x;
if (FilterFlags != 0)
{
foreach (KeyValuePair<string, string> kvp in CustomInterface.CustomFlags)
{
uint Flag = (uint)Data.Defines[kvp.Value];
if (FOCommon.Utils.IsFlagSet(FilterFlags, Flag) && !FOCommon.Utils.IsFlagSet(Prot.Flags, Flag))
return false;
}
}
if (!IsFilterTypeChecked(FOCommon.Utils.GetKeyByValue(Data.ItemTypes, Prot.Type)))
return false;
if (txtSearch.Text != "")
return TextInProto(Prot, txtSearch.Text);
return true;
});
}
lstProtos.Sorting = so;
}