gtk_dialog_add_button() is available in GTK 2.14 and later - I don't
think we need to worry about older GTK than that at this point so I did
not bother with version guards there.
---
 gtkgame.c       | 29 +++++++++++++----------------
 gtkrelational.c | 16 +++++++++++-----
 2 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/gtkgame.c b/gtkgame.c
index 772c2c2e..575868fe 100644
--- a/gtkgame.c
+++ b/gtkgame.c
@@ -4544,7 +4544,7 @@ extern int
 GtkTutor(char *sz)
 {
     int f = FALSE;
-    GtkWidget *pwTutorDialog, *pwOK, *pwCancel, *pwEndTutor, *pwButtons, 
*pwPrompt, *pwHint;
+    GtkWidget *pwTutorDialog, *pwOK, *pwCancel, *pwEndTutor, *pwPrompt, 
*pwHint;
 
     pwTutorDialog = GTKCreateDialog(_("GNU Backgammon - Tutor"),
                                     DT_CUSTOM, NULL, DIALOG_FLAG_MODAL, 
G_CALLBACK(OK), (void *) &f);
@@ -4552,18 +4552,15 @@ GtkTutor(char *sz)
     pwOK = DialogArea(pwTutorDialog, DA_OK);
     gtk_button_set_label(GTK_BUTTON(pwOK), _("Play Anyway"));
 
-    pwCancel = gtk_button_new_with_label(_("Rethink"));
-    pwEndTutor = gtk_button_new_with_label(_("End Tutor Mode"));
-    pwHint = gtk_button_new_with_label(_("Hint"));
-    pwButtons = DialogArea(pwTutorDialog, DA_BUTTONS);
+    pwCancel = gtk_dialog_add_button(
+        GTK_DIALOG(pwTutorDialog), _("Rethink"), 1);
+    pwEndTutor = gtk_dialog_add_button(
+        GTK_DIALOG(pwTutorDialog), _("End Tutor Mode"), 2);
+    pwHint = gtk_dialog_add_button(
+        GTK_DIALOG(pwTutorDialog), _("Hint"), 3);
 
-    gtk_container_add(GTK_CONTAINER(pwButtons), pwCancel);
     g_signal_connect(G_OBJECT(pwCancel), "clicked", G_CALLBACK(TutorRethink), 
(void *) &f);
-
-    gtk_container_add(GTK_CONTAINER(pwButtons), pwEndTutor);
     g_signal_connect(G_OBJECT(pwEndTutor), "clicked", G_CALLBACK(TutorEnd), 
(void *) &f);
-
-    gtk_container_add(GTK_CONTAINER(pwButtons), pwHint);
     g_signal_connect(G_OBJECT(pwHint), "clicked", G_CALLBACK(TutorHint), (void 
*) &f);
 
     pwPrompt = gtk_label_new(sz);
@@ -5704,12 +5701,12 @@ SetRollouts(gpointer UNUSED(p), guint UNUSED(n), 
GtkWidget * UNUSED(pwIgnore))
         pwDialog = GTKCreateDialog(_("GNU Backgammon - Rollouts"), DT_QUESTION,
                                    NULL, DIALOG_FLAG_MODAL, 
G_CALLBACK(SetRolloutsOK), &rw);
 
-        gtk_container_add(GTK_CONTAINER(DialogArea(pwDialog, DA_BUTTONS)),
-                          saveAsButton = gtk_button_new_with_label(_("Save 
As")));
+        saveAsButton = gtk_dialog_add_button(
+            GTK_DIALOG(pwDialog), _("Save As"), 1);
         g_signal_connect(saveAsButton, "clicked", 
G_CALLBACK(save_rollout_as_clicked), &rw);
 
-        gtk_container_add(GTK_CONTAINER(DialogArea(pwDialog, DA_BUTTONS)),
-                          loadRSButton = gtk_button_new_with_label(_("Load")));
+        loadRSButton = gtk_dialog_add_button(
+            GTK_DIALOG(pwDialog), _("Save As"), 2);
         g_signal_connect(loadRSButton, "clicked", G_CALLBACK(load_rs_clicked), 
&rw);
 
         gtk_container_add(GTK_CONTAINER(DialogArea(pwDialog, DA_MAIN)), 
rw.RolloutNotebook = gtk_notebook_new());
@@ -7668,8 +7665,8 @@ GTKDumpStatcontext(int game)
     // pwStatDialog = GTKCreateDialog("", DT_INFO, NULL, DIALOG_FLAG_NONE, 
G_CALLBACK(gtk_widget_destroy), NULL);
 
     if (!fAutoDB) {
-        gtk_container_add(GTK_CONTAINER(DialogArea(pwStatDialog, DA_BUTTONS)),
-                        addToDbButton = gtk_button_new_with_label(_("Add to 
DB")));
+        addToDbButton = gtk_dialog_add_button(
+            GTK_DIALOG(pwStatDialog), _("Add to DB"), 1);
         g_signal_connect(addToDbButton, "clicked", 
G_CALLBACK(GtkRelationalAddMatch), pwStatDialog);
     }
 
diff --git a/gtkrelational.c b/gtkrelational.c
index 6b32550d..f43ffaf2 100644
--- a/gtkrelational.c
+++ b/gtkrelational.c
@@ -525,11 +525,17 @@ static void CreateHistoryWindow (void)  //GtkWidget* 
pwParent) {
 
     g_signal_connect(G_OBJECT(window), "destroy", 
G_CALLBACK(gtk_widget_destroy), NULL);
 
-    gtk_container_add(GTK_CONTAINER(DialogArea(window, DA_BUTTONS)),
-                     helpButton = 
gtk_button_new_with_label(_("Explanations")));
-    gtk_widget_set_tooltip_text(helpButton,
-                               _("Click to obtain more explanations on this 
History plot"));
-    g_signal_connect(helpButton, "clicked", G_CALLBACK(HistoryPlotInfo), 
window);
+    helpButton = gtk_button_new_with_label(_("Explanations"));
+
+    gtk_widget_set_tooltip_text(
+        helpButton,
+        _("Click to obtain more explanations on this History plot"));
+
+    gtk_dialog_add_action_widget(
+        GTK_DIALOG(window), helpButton, GTK_RESPONSE_NONE);
+
+    g_signal_connect(
+        helpButton, "clicked", G_CALLBACK(HistoryPlotInfo), window);
 
     da = gtk_drawing_area_new();
     gtk_container_add(GTK_CONTAINER(DialogArea(window, DA_MAIN)), da);
-- 
2.54.0


Reply via email to