public ChannelFilterModel GetFilter(string pattern)
 {
     string prefix = "Filters/Channel/" + pattern + "/";
     ChannelFilterModel filter = new ChannelFilterModel();
     if (_UserConfig[prefix + "Pattern"] == null) {
         // filter does not exist
         return null;
     }
     filter.Pattern     = (string) _UserConfig[prefix + "Pattern"];
     filter.FilterJoins = (bool) _UserConfig[prefix + "FilterJoins"];
     filter.FilterParts = (bool) _UserConfig[prefix + "FilterParts"];
     filter.FilterQuits = (bool) _UserConfig[prefix + "FilterQuits"];
     return filter;
 }
        public void AddFilter(ChannelFilterModel filter)
        {
            string prefix = "Filters/Channel/" + filter.Pattern + "/";
            _UserConfig[prefix + "Pattern"] = filter.Pattern;
            _UserConfig[prefix + "FilterJoins"] = filter.FilterJoins;
            _UserConfig[prefix + "FilterParts"] = filter.FilterParts;
            _UserConfig[prefix + "FilterQuits"] = filter.FilterQuits;

            string[] channels = (string[]) _UserConfig["Filters/Channel/Patterns"];
            if (channels == null) {
                channels = new string[] {};
            }
            List<string> channelList = new List<string>(channels);
            channelList.Add(filter.Pattern);
            _UserConfig["Filters/Channel/Patterns"] = channelList.ToArray();
        }
 public void SetFilter(ChannelFilterModel filter)
 {
     string prefix = "Filters/Channel/" + filter.Pattern + "/";
     _UserConfig[prefix + "Pattern"] = filter.Pattern;
     _UserConfig[prefix + "FilterJoins"] = filter.FilterJoins;
     _UserConfig[prefix + "FilterParts"] = filter.FilterParts;
     _UserConfig[prefix + "FilterQuits"] = filter.FilterQuits;
 }