/// <summary> /// Shows a warning to decide which patches to clear. /// </summary> /// <param name="atLeastOnePatchUsedAsReference"></param> /// <param name="clearUnusedPatches"></param> /// <param name="clearUsedPatches"></param> /// <returns>True for cancelling</returns> private bool CheckPatchesToClearAfterWarning(bool atLeastOnePatchUsedAsReference, ref bool clearUnusedPatches, ref bool clearUsedPatches) { if (!atLeastOnePatchUsedAsReference) { clearUnusedPatches = true; return(false); } WindowUtils.EMessageBoxResult result = _pcgViewModel.ShowMessageBox( Strings.ClearWarning, Strings.PcgTools, WindowUtils.EMessageBoxButton.YesNoCancel, WindowUtils.EMessageBoxImage.Warning, WindowUtils.EMessageBoxResult.Cancel); switch (result) { case WindowUtils.EMessageBoxResult.Cancel: return(true); case WindowUtils.EMessageBoxResult.No: clearUnusedPatches = true; break; case WindowUtils.EMessageBoxResult.Yes: clearUsedPatches = true; clearUnusedPatches = true; break; default: throw new ApplicationException("Illegal case"); } return(false); }
/// <summary> /// /// </summary> /// <param name="checkAutoLoadMasterFileSetting"></param> /// <param name="loadedPcgFileName"></param> private static void LoadMasterFileIfRequested(bool checkAutoLoadMasterFileSetting, string loadedPcgFileName) { if (checkAutoLoadMasterFileSetting) { // Get master file name. MasterFile masterFile = MasterFiles.MasterFiles.Instances.FindMasterFile(_mainViewModel.SelectedMemory.Model); if ((masterFile != null) && (masterFile.FileState == MasterFile.EFileState.Unloaded)) { switch ((MasterFiles.MasterFiles.AutoLoadMasterFiles)(Settings.Default.MasterFiles_AutoLoad)) { case MasterFiles.MasterFiles.AutoLoadMasterFiles.Always: if (masterFile.FileName != loadedPcgFileName) { LoadFileAndMasterFile(_mainViewModel, masterFile.FileName, false); } break; case MasterFiles.MasterFiles.AutoLoadMasterFiles.Ask: if (masterFile.FileName != loadedPcgFileName) { WindowUtils.EMessageBoxResult result = _mainViewModel.ShowMessageBox( string.Format(Strings.AskForMasterFile, masterFile.FileName), Strings.PcgTools, WindowUtils.EMessageBoxButton.YesNo, WindowUtils.EMessageBoxImage.Information, WindowUtils.EMessageBoxResult.Yes); if (result == WindowUtils.EMessageBoxResult.Yes) { LoadFileAndMasterFile(_mainViewModel, masterFile.FileName, false); } } break; case MasterFiles.MasterFiles.AutoLoadMasterFiles.Never: // Do nothing. break; default: throw new ApplicationException("Illegal case"); } } } }