コード例 #1
0
        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();
                            }
                    }
                }
            }
        }
コード例 #2
0
        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);
                    }
                }
            }
        }