private void tsmiAddDeckNew_Click(object sender, EventArgs e) { var deckViewItem = new DeckViewItem(); lvDecks.Items.Add(deckViewItem); HandleDeckManagement(deckViewItem); _changeMade = true; }
private void LoadDecks() { var deckViewItemsList = new List <DeckViewItem>(); if (!File.Exists(Config.DeckInformationFilePath)) { foreach (var dataFilePath in Directory.GetFiles(Config.ApplicationPath, "*.dat")) { var deck = new Deck { Name = Path.GetFileNameWithoutExtension(dataFilePath), FilePath = dataFilePath }; deckViewItemsList.Add(new DeckViewItem(deck)); _changeMade = true; } lvDecks.Items.AddRange(deckViewItemsList.ToArray()); return; } var content = File.ReadAllText(Config.DeckInformationFilePath); foreach (var deck in JsonConvert.DeserializeObject <Deck[]>(content)) { deckViewItemsList.Add(new DeckViewItem(deck)); } lvDecks.Items.AddRange(deckViewItemsList.ToArray()); if (string.IsNullOrWhiteSpace(_lastOpenedDeckName)) { return; } DeckViewItem lastOpenedDeckViewItem = null; foreach (DeckViewItem deckViewItem in lvDecks.Items) { if (deckViewItem.Deck.Name == _lastOpenedDeckName) { lastOpenedDeckViewItem = deckViewItem; break; } } if (lastOpenedDeckViewItem != null) { HandleDeckManagement(lastOpenedDeckViewItem); } }
private void HandleDeckManagement(DeckViewItem deckViewItem) { using (var deckManagementDialog = new DeckManagementForm(deckViewItem.Deck)) { deckManagementDialog.SetDependencies(_ankiProvider, _cambridgeProvider, _htmlFormatter, _simpleTextFormatter, _textFormatter, _comparer); Hide(); var dialogResult = deckManagementDialog.ShowDialog(); Show(); if (dialogResult != DialogResult.OK) { return; } _changeMade = true; _lastOpenedDeckName = deckManagementDialog.Deck.Name; deckViewItem.Deck = deckManagementDialog.Deck; } }
private void tsmiAddDeckFromFile_Click(object sender, EventArgs e) { using (var dialog = new OpenFileDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } var deck = new Deck { Name = Path.GetFileNameWithoutExtension(dialog.FileName), FilePath = dialog.FileName }; var deckViewItem = new DeckViewItem(deck); lvDecks.Items.Add(deckViewItem); HandleDeckManagement(deckViewItem); _changeMade = true; } }