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);
        }