private void Remedy(SettingsCheck selected) { selected.Fix(); if (!selected.IsError) { olvDuplicates.RemoveObject(selected); set.Remove(selected); } }
private void olvDuplicates_CellRightClick(object sender, CellRightClickEventArgs e) { if (e.Model is null) { return; } possibleMergedEpisodeRightClickMenu.Items.Clear(); if (olvDuplicates.SelectedObjects.Count == 1) { SettingsCheck mlastSelected = (SettingsCheck)e.Model; if (mlastSelected is MovieCheck mcheck) { MovieConfiguration si = mcheck.Movie; AddRcMenuItem("Force Refresh", (o, args) => mainUi.ForceMovieRefresh(new List <MovieConfiguration> { si }, false)); AddRcMenuItem("Edit Movie", (o, args) => mainUi.EditMovie(si)); possibleMergedEpisodeRightClickMenu.Items.Add(new ToolStripSeparator()); foreach (string?f in si.Locations) { AddRcMenuItem("Visit " + f, (o, args) => Helpers.OpenFolder(f)); } } else if (mlastSelected is TvShowCheck tcheck) { ShowConfiguration si = tcheck.Show; AddRcMenuItem("Force Refresh", (o, args) => mainUi.ForceRefresh(new List <ShowConfiguration> { si }, false)); AddRcMenuItem("Edit TV Show", (o, args) => mainUi.EditShow(si)); } possibleMergedEpisodeRightClickMenu.Items.Add(new ToolStripSeparator()); AddRcMenuItem("Fix Issue", (o, args) => Remedy(mlastSelected)); } else { AddRcMenuItem("Fix Issues", (o, args) => { foreach (SettingsCheck?selected in olvDuplicates.SelectedObjects.OfType <SettingsCheck>()) { Remedy(selected); } mDoc.SetDirty(); }); } }