public static bool SaveCurrentSettingsToQuickFilter(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                Logger.log.Warn("Unable to save quick filter with blank name");
                return(false);
            }
            else if (name.Length > QuickFilter.MaxNameLength)
            {
                Logger.log.Warn($"Unable to save quick filter with a name over {QuickFilter.MaxNameLength} characters");
                return(false);
            }
            else if (InternalQuickFiltersList.Count >= NumberOfSlots)
            {
                Logger.log.Warn($"Unable to save more than {NumberOfSlots} quick filters");
                return(false);
            }

            var newQuickFilter = new QuickFilter(name, FilterList.ActiveFilters);

            InternalQuickFiltersList.Add(newQuickFilter);
            PluginConfig.SetQuickFilterData(InternalQuickFiltersList.Count, newQuickFilter.ToString());

            return(true);
        }
 public static void DeleteQuickFilter(QuickFilter quickFilter)
 {
     if (InternalQuickFiltersList.Remove(quickFilter))
     {
         SaveAllQuickFilters();
     }
 }
 /// <summary>
 /// Gets the index of the given quick filter in the global list.
 /// </summary>
 /// <param name="quickFilter">A QuickFilter instance.</param>
 /// <returns>The index of the quick filter if found. Otherwise, -1.</returns>
 public static int IndexOf(QuickFilter quickFilter)
 {
     if (quickFilter == null || InternalQuickFiltersList.Count == 0)
     {
         return(-1);
     }
     else
     {
         return(InternalQuickFiltersList.IndexOf(quickFilter));
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Change the staging values in each filter according to the settings saved to the provided QuickFilter.
        /// </summary>
        /// <param name="quickFilter">A QuickFilter containing the saved filter settings.</param>
        internal static void ApplyQuickFilter(QuickFilter quickFilter)
        {
            foreach (var filter in CurrentFilterList)
            {
                var filterSettings = quickFilter.Filters.FirstOrDefault(x => x.Name == filter.Name);

                if (filterSettings != null)
                {
                    filter.SetStagingValuesFromPairs(filterSettings.Settings);
                }
                else
                {
                    filter.SetDefaultValuesToStaging();
                }
            }
        }