void buttonLoad_Click(object sender, EventArgs e) { using (var openDialog = new OpenFileDialog { Filter = "Thread kits (*.thread)|*.thread|Comma separated values file (*.csv)|*.csv" }) { if (openDialog.ShowDialog(this) == DialogResult.OK) { var extension = Path.GetExtension(openDialog.FileName); if (!string.IsNullOrEmpty(extension) && extension.Equals(".csv", StringComparison.OrdinalIgnoreCase)) { Palette = PaletteCsvImporter.ImportFromCsv(File.ReadAllLines(openDialog.FileName), name: Path.GetFileNameWithoutExtension(openDialog.FileName), indexName: -1); Colors = Palette.OrderByCode().ToList(); listViewPalette.VirtualListSize = Colors.Count; listViewPalette.Invalidate(); listViewPalette.Update(); } else { using (var stream = new FileStream(openDialog.FileName, FileMode.Open)) using (var reader = XmlReader.Create(stream)) { Palette = PaletteSerializer.ReadFromXml(reader); Colors = Palette.OrderByCode().ToList(); listViewPalette.VirtualListSize = Colors.Count; listViewPalette.Invalidate(); listViewPalette.Update(); } } } } }
void buttonImportPalette_Click(object sender, EventArgs e) { using (var openDialog = new OpenFileDialog { Filter = Resources.FileFilterAllPalettes }) { if (openDialog.ShowDialog(this) == DialogResult.OK) { try { CodedPalette newPalette; var extension = Path.GetExtension(openDialog.FileName); if (!string.IsNullOrEmpty(extension) && extension.Equals(".csv", StringComparison.OrdinalIgnoreCase)) { var newName = Path.GetFileNameWithoutExtension(openDialog.FileName); newPalette = PaletteCsvImporter.ImportFromCsv(File.ReadAllLines(openDialog.FileName), name: newName); newPalette.IsSystem = false; newPalette.FileName = newPalette.FileName = Path.Combine(Settings.Default.UserPalettesLocationSafe, newName + SAEResources.ThreadFileExtension); } else { using (var stream = new FileStream(openDialog.FileName, FileMode.Open)) using (var reader = XmlReader.Create(stream)) { var newName = Path.GetFileNameWithoutExtension(openDialog.FileName); newPalette = PaletteSerializer.ReadFromXml(reader); newPalette.Name = newName; newPalette.IsSystem = false; newPalette.FileName = Path.Combine(Settings.Default.UserPalettesLocationSafe, newName + SAEResources.ThreadFileExtension); } } AddNewPalette(newPalette); } catch (Exception ex) { MessageBox.Show(Resources.ErrorCannotOpenFile + Environment.NewLine + ex.Message); } } } }