/// <summary> /// Saves a given mod tuple to the hard disk. /// </summary> public void SaveMod(ImageModPathTuple oldModTuple) { if (oldModTuple == null) { return; } if (EnabledAppIds != null) { oldModTuple.ModConfig.SupportedAppId = EnabledAppIds.Where(x => x.Enabled).Select(x => x.Generic.AppId).ToArray(); } oldModTuple.Save(); }
/// <summary> /// Saves the old mod tuple about to be swapped out by the UI and updates the UI /// with the details of the new tuple. /// </summary> public void SwapMods(ImageModPathTuple oldModTuple, ImageModPathTuple newModTuple) { // Save old collection. if (oldModTuple != null) { SaveMod(oldModTuple); } // Make new collection. if (newModTuple == null) { return; } var supportedAppIds = newModTuple.ModConfig.SupportedAppId; var tuples = _mainPageViewModel.Applications.Select(x => new BooleanGenericTuple <ApplicationConfig>(supportedAppIds.Contains(x.Config.AppId), x.Config)); EnabledAppIds = new ObservableCollection <BooleanGenericTuple <ApplicationConfig> >(tuples); }
private void ListView_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (ViewModel.SelectedModTuple != null) { ViewModel.Icon = Imaging.BitmapFromUri(new Uri(ViewModel.SelectedModTuple.Image)); } // Tell viewmodel to swap ModId compatibility chart. ImageModPathTuple oldModTuple = null; ImageModPathTuple newModTuple = null; if (e.RemovedItems.Count > 0) { oldModTuple = e.RemovedItems[0] as ImageModPathTuple; } if (e.AddedItems.Count > 0) { newModTuple = e.AddedItems[0] as ImageModPathTuple; } ViewModel.SwapMods(oldModTuple, newModTuple); e.Handled = true; }
private BooleanGenericTuple <ImageModPathTuple> MakeSaveSubscribedGenericTuple(bool isEnabled, ImageModPathTuple item) { // Make BooleanGenericTuple that saves application on Enabled change. var tuple = new BooleanGenericTuple <ImageModPathTuple>(isEnabled, item); tuple.PropertyChanged += SaveOnEnabledPropertyChanged; return(tuple); }