private void Browse_Click(object sender, EventArgs e) { using (var dlg = new SaveFileDialog()) { dlg.Title = LocalizationManager.GetString("DialogBoxes.ExportDlg.SaveFileDialog.Title", "Choose File Location"); dlg.OverwritePrompt = false; dlg.InitialDirectory = m_viewModel.CurrentBaseFolder; dlg.FileName = Path.GetFileName(m_lblFileName.Text); dlg.Filter = string.Format("{0} ({1})|{1}|{2} ({3})|{3}|{4} ({5})|{5}", LocalizationManager.GetString("DialogBoxes.ExportDlg.ExcelFileTypeLabel", "Excel files"), "*" + Constants.kExcelFileExtension, LocalizationManager.GetString("DialogBoxes.ExportDlg.TabDelimitedFileTypeLabel", "Tab-delimited files"), "*" + ProjectExporter.kTabDelimitedFileExtension, LocalizationManager.GetString("DialogBoxes.FileDlg.AllFilesLabel", "All Files"), "*.*"); dlg.DefaultExt = Constants.kExcelFileExtension; if (dlg.ShowDialog(this) == DialogResult.OK) { switch (dlg.FilterIndex) { //1-indexed case 2: //.txt m_viewModel.SelectedFileType = ExportFileType.TabSeparated; break; default: m_viewModel.SelectedFileType = ExportFileType.Excel; break; } var newName = dlg.FileName; string expectedFileExtension = ProjectExporter.GetFileExtension(m_viewModel.SelectedFileType); if (!newName.EndsWith(expectedFileExtension)) { newName += expectedFileExtension; } m_viewModel.FullFileName = newName; UpdateDisplay(); } } }
public ExportDlg(ProjectExporter projectExporter) { m_projectExporter = projectExporter; InitializeComponent(); HandleStringsLocalized(); LocalizeItemDlg.StringsLocalized += HandleStringsLocalized; m_defaultDirectory = Settings.Default.DefaultExportDirectory; if (string.IsNullOrWhiteSpace(m_defaultDirectory)) { m_defaultDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); } string defaultFileName = m_projectExporter.Project.PublicationName + " " + LocalizationManager.GetString("DialogBoxes.ExportDlg.RecordingScriptFileNameDefaultSuffix", "Recording Script") + ProjectExporter.GetFileExtension(m_selectedFileType); m_lblFileName.Text = Path.Combine(m_defaultDirectory, defaultFileName); UpdateDisplay(); }