private void MoveUpFilter(object sender, System.Windows.RoutedEventArgs e) { ItemFilterRegexList list = null; if (SelectedFilter.Parent == null) { list = ItemFilter.FilterList; } else { list = SelectedFilter.Parent.RegexList; } int currentIndex = list.FindIndex(f => f == SelectedFilter); if (currentIndex > 0 && list.Count > currentIndex + 1) { ItemFilterRegex current = list[currentIndex]; for (int i = list.Count - 1; i >= 0; i--) { if (i == currentIndex) { list[currentIndex] = list[currentIndex - 1]; } else if (i == currentIndex - 1) { list[currentIndex - 1] = current; } else { list[i] = list[i]; } } } }
private void LoadItemFilterEnabledOverride(ItemFilterEnabledOverride filterOverride, ItemFilterRegexList list, ref bool triggerEvent) { foreach (ItemFilterRegex itemFilter in list) { if (itemFilter.Name == filterOverride.Name) { if (itemFilter.Enabled != filterOverride.Enabled) { itemFilter.Enabled = filterOverride.Enabled; triggerEvent = true; } if (filterOverride.SubFilterOverride != null && filterOverride.SubFilterOverride.Count > 0) { foreach (var subOverride in filterOverride.SubFilterOverride) { if (subOverride.Name != "Other") { LoadItemFilterEnabledOverride(subOverride, itemFilter.RegexList, ref triggerEvent); } else { if (itemFilter.OtherRegexEnabled != subOverride.Enabled) { itemFilter.OtherRegexEnabled = (bool)subOverride.Enabled; triggerEvent = true; } } } } return; } } }