private static void SetCancelButton(string cancel, MessageDialog messageDialog) { var buttonsBox = messageDialog.GetDescendants() .OfType <HButtonBox>() .FirstOrDefault(); if (buttonsBox == null) { return; } var cancelButton = buttonsBox.GetDescendants() .OfType <Gtk.Button>() .FirstOrDefault(); if (cancelButton == null) { return; } if (string.IsNullOrEmpty(cancel)) { cancelButton.Hide(); } else { cancelButton.Label = cancel; } }
private static void SetButtonText(string text, ButtonsType type, MessageDialog messageDialog) { string gtkLabel = string.Empty; switch (type) { case ButtonsType.Ok: gtkLabel = "gtk-ok"; break; case ButtonsType.Cancel: gtkLabel = "gtk-cancel"; break; } var buttonsBox = messageDialog.GetDescendants() .OfType <HButtonBox>() .FirstOrDefault(); if (buttonsBox == null) { return; } var targetButton = buttonsBox.GetDescendants() .OfType <Gtk.Button>() .FirstOrDefault(x => x.Label == gtkLabel); if (targetButton == null) { return; } if (string.IsNullOrEmpty(text)) { targetButton.Hide(); } else { targetButton.Label = text; } }