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)); } }
/// <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(); } } }