public static void OpenSelectedModFolder(ModViewerItem mod) { Process.Start(mod.Source.FolderPath); }
public static void UpdateNewModsListItems() { Management.ProgramPaths.ValidateSettingsAndActiveMods(ref S3AIRActiveMods, ref Management.MainDataModel.S3AIRSettings); Instance.ModViewer.Clear(); UpdateActiveAndInactiveModLists(); foreach (ModViewerItem mod in ModsList) { Instance.ModViewer.View.Items.Add(mod); } foreach (ModViewerItem mod in ActiveModsList) { Instance.ModViewer.ActiveView.Items.Add(mod); } string CurrentFolderPath = Management.ProgramPaths.Sonic3AIRModsFolder; if (Instance.ModViewer.FolderView.SelectedItem != null) { CurrentFolderPath = (Instance.ModViewer.FolderView.SelectedItem as SubDirectoryItem).FilePath; } if (Instance.ModViewer.FolderView.SelectedIndex == 1) { UpdateViewerModsShowAll(); } else { UpdateViewerMods(); } Instance.ModViewer.Refresh(); void UpdateViewerModsShowAll() { foreach (var item in Instance.ModViewer.View.Items) { ModViewerItem mod = (ModViewerItem)item; mod.Visibility = Visibility.Visible; } } void UpdateViewerMods() { foreach (var item in Instance.ModViewer.View.Items) { ModViewerItem mod = (ModViewerItem)item; if (CurrentFolderPath != null && (Instance.ModViewer.FolderView.SelectedIndex == 0 || Instance.ModViewer.FolderView.SelectedIndex == -1) && mod.IsInRootFolder) { mod.Visibility = Visibility.Visible; } else if (!(Instance.ModViewer.FolderView.SelectedIndex == 0 || Instance.ModViewer.FolderView.SelectedIndex == -1)) { if (CurrentFolderPath != null && mod.Source.FileLocation.Contains(CurrentFolderPath)) { mod.Visibility = Visibility.Visible; } else { mod.Visibility = Visibility.Collapsed; } } else { mod.Visibility = Visibility.Collapsed; } } } }