public DialogResult ShowDialog(IWin32Window owner = null) { var dialogResult = owner != null?m_saveFileDialog.ShowDialog(owner) : m_saveFileDialog.ShowDialog(); if (dialogResult != DialogResult.OK) { return(dialogResult); } FileName = m_saveFileDialog.FileName; try { m_projectExporter.ExportRolesForVoiceActors(FileName); } catch (Exception ex) { Analytics.ReportException(ex); ErrorReport.NotifyUserOfProblem(ex, string.Format(LocalizationManager.GetString("DialogBoxes.RolesForVoiceActorsSaveAsDlg.CouldNotExport", "Could not save Roles for Voice Actors data to {0}", "{0} is a file name."), FileName)); dialogResult = DialogResult.None; } string directoryName = Path.GetDirectoryName(FileName); if (directoryName != null) { m_defaultDirectory = directoryName; Settings.Default.DefaultExportDirectory = m_defaultDirectory; } try { PathUtilities.OpenFileInApplication(FileName); } catch { // Oh well, we tried. } return(dialogResult); }