private static bool AcceptFile(EmulatorFile whichFile, string path) { var acceptFile = !string.IsNullOrWhiteSpace(path) && System.IO.File.Exists(path); if (acceptFile) { switch (whichFile) { case EmulatorFile.JzIntv: acceptFile = string.Compare(System.IO.Path.GetExtension(path), INTV.Shared.Utility.PathUtils.ProgramSuffix, true) == 0; break; case EmulatorFile.Ecs: case EmulatorFile.Exec: case EmulatorFile.Grom: acceptFile = ConfigurationCommandGroup.IsRomPathValid(path); break; case EmulatorFile.KeyboardConfig: case EmulatorFile.Cgc0Config: case EmulatorFile.Cgc1Config: break; default: acceptFile = false; // don't know what file this is for break; } } return(acceptFile); }
private static void OnClearEmulatorFile(object parameter, EmulatorFile whichFile) { CommandLineArgumentHelpers.CheckCommandLineArgumentStrings(); var viewModel = parameter as JzIntvSettingsPageViewModel; switch (whichFile) { case EmulatorFile.JzIntv: viewModel.EmulatorPath = null; break; case EmulatorFile.Exec: viewModel.ExecRomPath = null; break; case EmulatorFile.Grom: viewModel.GromRomPath = null; break; case EmulatorFile.Ecs: viewModel.EcsRomPath = null; break; case EmulatorFile.KeyboardConfig: viewModel.DefaultKeyboardConfigPath = null; break; case EmulatorFile.Cgc0Config: viewModel.JzIntvCgc1ConfigPath = null; break; case EmulatorFile.Cgc1Config: viewModel.JzIntvCgc1ConfigPath = null; break; default: OSMessageBox.Show(string.Format(Resources.Strings.ConfigurationFile_UnknownEmulatorFile_Error_Message_Format, whichFile), Resources.Strings.ConfigurationFile_UnknownEmulatorFile_Error_Title); break; } }
private static void OnSelectEmulatorFile(object parameter, EmulatorFile whichFile) { var viewModel = parameter as JzIntvSettingsPageViewModel; var selectionPrompt = string.Empty; switch (whichFile) { case EmulatorFile.JzIntv: selectionPrompt = Resources.Strings.Locate_jzIntv_Prompt; break; case EmulatorFile.Exec: selectionPrompt = Resources.Strings.Locate_EXEC_Prompt; break; case EmulatorFile.Grom: selectionPrompt = Resources.Strings.Locate_GROM_Prompt; break; case EmulatorFile.Ecs: selectionPrompt = Resources.Strings.Locate_ECS_Prompt; break; case EmulatorFile.KeyboardConfig: selectionPrompt = Resources.Strings.Select_Hackfile_Prompt; break; case EmulatorFile.Cgc0Config: selectionPrompt = Resources.Strings.Select_CGC_Console_Prompt; break; case EmulatorFile.Cgc1Config: selectionPrompt = Resources.Strings.Select_CGC_ECS_Prompt; break; default: break; } if (!string.IsNullOrEmpty(selectionPrompt)) { var browser = FileDialogHelpers.Create(); browser.EnsureFileExists = true; browser.Title = selectionPrompt; if ((whichFile == EmulatorFile.JzIntv) && !string.IsNullOrEmpty(PathUtils.ProgramSuffix)) { browser.AddFilter("jzIntv", new[] { PathUtils.ProgramSuffix }); } var result = browser.ShowDialog(); if (result == FileBrowserDialogResult.Ok) { var path = PathUtils.ResolvePathForSettings(browser.FileNames.First()); switch (whichFile) { case EmulatorFile.JzIntv: viewModel.EmulatorPath = path; break; case EmulatorFile.Exec: viewModel.ExecRomPath = path; break; case EmulatorFile.Grom: viewModel.GromRomPath = path; break; case EmulatorFile.Ecs: viewModel.EcsRomPath = path; break; case EmulatorFile.KeyboardConfig: viewModel.DefaultKeyboardConfigPath = path; break; case EmulatorFile.Cgc0Config: viewModel.JzIntvCgc0ConfigPath = path; break; case EmulatorFile.Cgc1Config: viewModel.JzIntvCgc1ConfigPath = path; break; default: break; } } } else { OSMessageBox.Show(string.Format(Resources.Strings.ConfigurationFile_UnknownSelection_Error_Message_Format, whichFile), Resources.Strings.ConfigurationFile_UnknownSelection_Error_Title); } }