protected override bool RunDefault() { var alertDialog = new GtkAlertDialog(data.Message); alertDialog.FocusButton(data.Message.DefaultButton); MessageService.ShowCustomDialog(alertDialog, data.TransientFor); if (alertDialog.ApplyToAll) { data.ApplyToAll = true; } data.ResultButton = alertDialog.ResultButton; if (data.ResultButton == null) { // If the dialog is closed clicking the close window button we may have no result. // In that case, try to find a cancelling button if (data.Buttons.Contains(AlertButton.Cancel)) { data.ResultButton = AlertButton.Cancel; } else if (data.Buttons.Contains(AlertButton.No)) { data.ResultButton = AlertButton.No; } else if (data.Buttons.Contains(AlertButton.Close)) { data.ResultButton = AlertButton.Close; } } return(true); }
protected override bool RunDefault() { var alertDialog = new GtkAlertDialog(data.Message); alertDialog.FocusButton(data.Message.DefaultButton); MessageService.ShowCustomDialog(alertDialog, data.TransientFor); if (alertDialog.ApplyToAll) { data.ApplyToAll = true; } data.ResultButton = alertDialog.ResultButton; return(true); }
protected override bool RunDefault() { var alertDialog = new GtkAlertDialog(data.Message); alertDialog.FocusButton(data.Message.DefaultButton); if (data.Message.CancellationToken.CanBeCanceled) { data.Message.CancellationToken.Register(delegate { Gtk.Application.Invoke((o, args) => { if (alertDialog != null) { alertDialog.Respond(Gtk.ResponseType.DeleteEvent); } }); }); } if (!data.Message.CancellationToken.IsCancellationRequested) { using (alertDialog) { MessageService.ShowCustomDialog(alertDialog, data.TransientFor); if (alertDialog.ApplyToAll) { data.ApplyToAll = true; } data.ResultButton = alertDialog.ResultButton; } } alertDialog = null; if (data.ResultButton == null || data.Message.CancellationToken.IsCancellationRequested) { data.SetResultToCancelled(); } return(true); }