private void AddFavoritesFolderMenuItem_Click(object?sender, EventArgs e) { using FavoriteFolderCreatorDialog dialog = new FavoriteFolderCreatorDialog(); if (dialog.ShowDialog() == DialogResult.OK) { AddFavorite(dialog.ToFavoriteFolder()); } }
private void EditFavoriteContextMenuItem_Click(object?sender, EventArgs e) { if (_favoriteRepos is null) { LOG.Error($"{nameof( EditFavoriteContextMenuItem_Click )} - Favorite repos is null"); return; } if (sender is not ToolStripMenuItem contextMenuItem || contextMenuItem.Owner.Tag is not Favorite favorite) { return; } Favorite?newFavorite = null; if (favorite is FavoriteFolder folder) { using FavoriteFolderCreatorDialog dialog = FavoriteFolderCreatorDialog.FromFavoriteFolder(folder); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteFolder(); } } else if (favorite is FavoriteRepo repo) { using FavoriteRepoCreatorDialog dialog = FavoriteRepoCreatorDialog.FromFavoriteRepo(repo); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteRepo(); } } else if (favorite is FavoriteReposDirectory directory) { using FavoriteReposDirectoryCreatorDialog dialog = FavoriteReposDirectoryCreatorDialog.FromFavoriteReposDirectory(directory); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteReposDirectory(); } } else { LOG.Error($"{nameof( EditFavoriteContextMenuItem_Click )} - Unknown favorite type: {favorite}"); } if (newFavorite != null) { if (!_favoriteRepos.Replace(favorite, newFavorite)) { LOG.Error($"{nameof( EditFavoriteContextMenuItem_Click )} - Failed to replace old favorite: {favorite} - {newFavorite}"); return; } Settings.Default.FavoriteRepos = _favoriteRepos !; Settings.Default.Save(); } }
private void EditFavoriteMenuItem_Click(object?sender, EventArgs e) { if (_selectedFavoriteItem == null) { LOG.Error($"{nameof( EditFavoriteMenuItem_Click )} - Selected favorite is null"); return; } Favorite?newFavorite = null; if (_selectedFavoriteItem is FavoriteFolder folder) { using FavoriteFolderCreatorDialog dialog = FavoriteFolderCreatorDialog.FromFavoriteFolder(folder); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteFolder(); } } else if (_selectedFavoriteItem is FavoriteRepo repo) { using FavoriteRepoCreatorDialog dialog = FavoriteRepoCreatorDialog.FromFavoriteRepo(repo); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteRepo(); } } else if (_selectedFavoriteItem is FavoriteReposDirectory directory) { using FavoriteReposDirectoryCreatorDialog dialog = FavoriteReposDirectoryCreatorDialog.FromFavoriteReposDirectory(directory); if (dialog.ShowDialog() == DialogResult.OK) { newFavorite = dialog.ToFavoriteReposDirectory(); } } else { LOG.Error($"{nameof( EditFavoriteMenuItem_Click )} - Unknown favorite type: {_selectedFavoriteItem}"); } if (newFavorite != null) { if (!Favorites.Replace(_selectedFavoriteItem, newFavorite)) { LOG.Error($"{nameof( EditFavoriteMenuItem_Click )} - Failed to replace old favorite: {_selectedFavoriteItem} - {newFavorite}"); return; } UpdateFavoritesTree(newFavorite); } }