using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; namespace SourceGit.UI { /// /// Confirm to delete a remote /// public partial class DeleteRemote : UserControl { private Git.Repository repo = null; private string remote = null; /// /// Constructor. /// /// Opened repository /// Remote to be deleted public DeleteRemote(Git.Repository opened, string target) { InitializeComponent(); repo = opened; remote = target; remoteName.Content = target; } /// /// Show this dialog /// /// /// public static void Show(Git.Repository opened, string remote) { var popup = App.Launcher.GetPopupManager(opened); popup?.Show(new DeleteRemote(opened, remote)); } /// /// Delete /// /// /// private async void Sure(object sender, RoutedEventArgs e) { var popup = App.Launcher.GetPopupManager(repo); popup?.Lock(); await Task.Run(() => Git.Remote.Delete(repo, remote)); popup?.Close(true); } /// /// Cancel. /// /// /// private void Cancel(object sender, RoutedEventArgs e) { App.Launcher.GetPopupManager(repo)?.Close(); } } }