private void MergeSchemeToolStripMenuItem_Click(object sender, EventArgs e) { openToolkitFileDialog.InitialDirectory = Path.Combine(Application.StartupPath, "Toolkit"); if (openToolkitFileDialog.ShowDialog() == DialogResult.Cancel) { return; } PuzzleToolkit mergeToolkit = PuzzleToolkit.LoadFromFile(openToolkitFileDialog.FileName); Dictionary <string, PuzzleToolkitItem> dict = new Dictionary <string, PuzzleToolkitItem>(); foreach (PuzzleToolkitItem item in toolkit.Items) { if (!dict.ContainsKey(item.Name)) { dict.Add(item.Name, item); } } int count = 0; foreach (PuzzleToolkitItem item in mergeToolkit.Items) { if (!dict.ContainsKey(item.Name)) { dict.Add(item.Name, item); toolkit.Items.Add(item); count += 1; } } MessageBox.Show(string.Format(Resources.Lang.Info_AddItems, count)); InitToolkit(toolkit); UpdateToolkitListView(); }
void InitToolkit(PuzzleToolkit inputToolkit = null) { if (inputToolkit == null) { try { inputToolkit = PuzzleToolkit.LoadFromFile(Path.Combine(Application.StartupPath, "toolkit/current.toolkit")); } catch { inputToolkit = PuzzleToolkit.CreateDefaultPuzzleToolkit(); if (MessageBox.Show(Resources.Lang.Warnings_CorruptedToolkit, Resources.Lang.Warning, MessageBoxButtons.YesNo) == DialogResult.Yes) { inputToolkit.SaveToFile(Path.Combine(Application.StartupPath, "toolkit/current.toolkit")); } } } toolkit = inputToolkit; ImageList imageList = new ImageList { ColorDepth = ColorDepth.Depth32Bit, ImageSize = new Size(toolkitIconSize, toolkitIconSize) }; ToolkitListView.LargeImageList = imageList; toolkitListViewItems = new List <ListViewItem>(); foreach (PuzzleToolkitItem item in toolkit.Items) { imageList.Images.Add(item.GetImage(toolkitIconSize, toolkitIconSize)); ListViewItem listViewItem = new ListViewItem(item.Name, imageList.Images.Count - 1); listViewItem.Tag = item; listViewItem.Name = item.Name; toolkitListViewItems.Add(listViewItem); } }
private void LoadSchemeToolStripMenuItem_Click(object sender, EventArgs e) { openToolkitFileDialog.InitialDirectory = Path.Combine(Application.StartupPath, "Toolkit"); if (openToolkitFileDialog.ShowDialog() == DialogResult.Cancel) { return; } toolkit = PuzzleToolkit.LoadFromFile(openToolkitFileDialog.FileName); InitToolkit(toolkit); UpdateToolkitListView(); }