diff -rup ../gnocatan-original/ChangeLog ./ChangeLog --- ../gnocatan-original/ChangeLog 2003-08-17 21:22:53.000000000 -0400 +++ ./ChangeLog 2003-08-17 21:23:50.000000000 -0400 @@ -1,5 +1,13 @@ 2003-08-17 Jason Long + * client/admin-gtk.c, client/connect.c, client/discard.c, + client/gameover.c, client/gui.c, client/histogram.c, + client/legend.c, client/monopoly.c, client/name.c, + client/plenty.c, client/settingscreen.c: use GtkDialog + instead of deprecated GnomeDialog + +2003-08-17 Jason Long + THIS IS THE GTK2 UPGRADE * configure.in: remove references to macros directory and diff -rup ../gnocatan-original/client/admin-gtk.c ./client/admin-gtk.c --- ../gnocatan-original/client/admin-gtk.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/admin-gtk.c 2003-08-17 21:23:09.000000000 -0400 @@ -178,9 +178,10 @@ static void start_clicked_cb(GtkWidget * void show_admin_interface() { GtkWidget *admin_if; - GnomeDialog *dialog; + GtkDialog *dialog; - dialog = gnome_dialog_new( "Administration" ); + dialog = gtk_dialog_new(); + gtk_window_set_title( "Administration" ); admin_if = build_admin_interface( dialog->vbox ); gtk_widget_show_all( dialog ); admin_open_session(); diff -rup ../gnocatan-original/client/connect.c ./client/connect.c --- ../gnocatan-original/client/connect.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/connect.c 2003-08-17 21:23:09.000000000 -0400 @@ -94,10 +94,13 @@ static void show_waiting_box(GtkWidget * { GtkWidget *label, *vbox; - server_waiting_dlg = gnome_dialog_new(_("Receiving Data"), NULL); - gnome_dialog_set_parent(GNOME_DIALOG(server_waiting_dlg), GTK_WINDOW(parent)); + server_waiting_dlg = gtk_dialog_new(); + gtk_window_set_title(GTK_WINDOW(server_waiting_dlg), + _("Receiving Data")); + gtk_window_set_transient_for(GTK_WINDOW(server_waiting_dlg), + GTK_WINDOW(parent)); gtk_widget_realize(server_waiting_dlg); - vbox = GNOME_DIALOG(server_waiting_dlg)->vbox; + vbox = GTK_DIALOG(server_waiting_dlg)->vbox; gtk_widget_show(vbox); gtk_container_border_width(GTK_CONTAINER(vbox), 5); label = gtk_label_new(_("Receiving data from meta server...")); @@ -605,15 +608,18 @@ static void create_server_dlg(GtkWidget GtkWidget *dlg_vbox; GtkWidget *vbox; - cserver_dlg = gnome_dialog_new(_("Create New Gnocatan Server"), - GNOME_STOCK_BUTTON_CANCEL, - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(cserver_dlg), GTK_WINDOW(parent)); + cserver_dlg = gtk_dialog_new_with_buttons( + _("Create New Gnocatan Server"), + GTK_WINDOW(parent), + 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_signal_connect(GTK_OBJECT(cserver_dlg), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &cserver_dlg); gtk_widget_realize(cserver_dlg); - dlg_vbox = GNOME_DIALOG(cserver_dlg)->vbox; + dlg_vbox = GTK_DIALOG(cserver_dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = build_create_interface(); @@ -621,9 +627,18 @@ static void create_server_dlg(GtkWidget gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); gtk_container_border_width(GTK_CONTAINER(vbox), 5); - gnome_dialog_button_connect(GNOME_DIALOG(cserver_dlg), 1, - start_clicked_cb, NULL); - gnome_dialog_set_close(GNOME_DIALOG(cserver_dlg), TRUE); + g_signal_connect(gui_get_dialog_button(GTK_DIALOG(cserver_dlg), 1), + "clicked", G_CALLBACK(start_clicked_cb), NULL); + + /* destroy dialog box if either button gets clicked */ + g_signal_connect_swapped( + gui_get_dialog_button(GTK_DIALOG(cserver_dlg), 0), + "clicked", + G_CALLBACK(gtk_widget_destroy), cserver_dlg); + g_signal_connect_swapped( + gui_get_dialog_button(GTK_DIALOG(cserver_dlg), 1), + "clicked", + G_CALLBACK(gtk_widget_destroy), cserver_dlg); gtk_widget_show(cserver_dlg); } @@ -678,14 +693,20 @@ static void create_meta_dlg(GtkWidget *w titles[8] = _("Map Name"); } - meta_dlg = gnome_dialog_new(_("Current Gnocatan Servers"), - GNOME_STOCK_BUTTON_CLOSE, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(meta_dlg), GTK_WINDOW(parent)); + meta_dlg = gtk_dialog_new_with_buttons( + _("Current Gnocatan Servers"), + GTK_WINDOW(parent), + 0, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, + NULL); + g_signal_connect_swapped(GTK_OBJECT(meta_dlg), "response", + G_CALLBACK(gtk_widget_destroy), + meta_dlg); gtk_signal_connect(GTK_OBJECT(meta_dlg), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &meta_dlg); gtk_widget_realize(meta_dlg); - dlg_vbox = GNOME_DIALOG(meta_dlg)->vbox; + dlg_vbox = GTK_DIALOG(meta_dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 3); @@ -719,8 +740,6 @@ static void create_meta_dlg(GtkWidget *w gtk_signal_connect(GTK_OBJECT(server_clist), "select_row", GTK_SIGNAL_FUNC(select_server_cb), NULL); - gnome_dialog_set_close(GNOME_DIALOG(meta_dlg), TRUE); - meta_create_button = gtk_button_new_with_label(_("Create New Server")); gtk_signal_connect(GTK_OBJECT(meta_create_button), "clicked", GTK_SIGNAL_FUNC(create_server_dlg), meta_dlg); @@ -820,7 +839,7 @@ static void host_list_select_cb(GtkWidge static void connect_destroyed_cb(void *widget, gpointer user_data) { if (meta_dlg != NULL) - gnome_dialog_close(GNOME_DIALOG(meta_dlg)); + gtk_widget_destroy(meta_dlg); } GtkWidget *connect_create_dlg() @@ -863,16 +882,21 @@ GtkWidget *connect_create_dlg() saved_name = g_strdup(g_get_user_name()); } - dlg = gnome_dialog_new(_("Connect to Gnocatan server"), - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(dlg), GTK_WINDOW(app_window)); - gtk_signal_connect(GTK_OBJECT(dlg), "destroy", - GTK_SIGNAL_FUNC(connect_destroyed_cb), NULL); + dlg = gtk_dialog_new_with_buttons( + _("Connect to Gnocatan server"), + GTK_WINDOW(app_window), + 0, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dlg), GTK_RESPONSE_OK); + gtk_signal_connect(GTK_OBJECT(dlg), "destroy", + GTK_SIGNAL_FUNC(connect_destroyed_cb), NULL); + gtk_widget_realize(dlg); gdk_window_set_functions(dlg->window, GDK_FUNC_MOVE | GDK_FUNC_CLOSE); - dlg_vbox = GNOME_DIALOG(dlg)->vbox; + dlg_vbox = GTK_DIALOG(dlg)->vbox; gtk_widget_show(dlg_vbox); table = gtk_table_new(7, 2, FALSE); @@ -922,8 +946,8 @@ GtkWidget *connect_create_dlg() server_entry = gtk_entry_new(); gtk_signal_connect_after(GTK_OBJECT(server_entry), "changed", GTK_SIGNAL_FUNC(client_changed_cb), NULL); - gtk_signal_connect(GTK_OBJECT(server_entry), "destroy", - GTK_SIGNAL_FUNC(gtk_widget_destroyed), &server_entry); + gtk_signal_connect(GTK_OBJECT(server_entry), "destroy", + GTK_SIGNAL_FUNC(gtk_widget_destroyed), &server_entry); gtk_widget_show(server_entry); gtk_table_attach(GTK_TABLE(table), server_entry, 1, 2, 3, 4, (GtkAttachOptions)GTK_EXPAND | GTK_FILL, @@ -1020,23 +1044,22 @@ GtkWidget *connect_create_dlg() (GtkAttachOptions)GTK_EXPAND, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); - gnome_dialog_editable_enters(GNOME_DIALOG(dlg), - GTK_EDITABLE(server_entry)); - gnome_dialog_editable_enters(GNOME_DIALOG(dlg), - GTK_EDITABLE(port_entry)); - gnome_dialog_editable_enters(GNOME_DIALOG(dlg), - GTK_EDITABLE(name_entry)); - gnome_dialog_editable_enters(GNOME_DIALOG(dlg), - GTK_EDITABLE(meta_server_entry)); + gtk_entry_set_activates_default(GTK_ENTRY(server_entry), TRUE); + gtk_entry_set_activates_default(GTK_ENTRY(port_entry), TRUE); + gtk_entry_set_activates_default(GTK_ENTRY(name_entry), TRUE); + gtk_entry_set_activates_default(GTK_ENTRY(meta_server_entry), TRUE); - gnome_dialog_set_close(GNOME_DIALOG(dlg), TRUE); - - client_gui(gnome_dialog_get_button(GNOME_DIALOG(dlg), 0), + client_gui(gui_get_dialog_button(GTK_DIALOG(dlg), 0), GUI_CONNECT_TRY, "clicked"); client_gui_destroy(dlg, GUI_CONNECT_CANCEL); gtk_widget_show(dlg); gtk_widget_grab_focus(server_entry); + /* destroy dialog when OK button gets clicked */ + g_signal_connect_swapped(gui_get_dialog_button(GTK_DIALOG(dlg), 0), + "clicked", + G_CALLBACK(gtk_widget_destroy), GTK_OBJECT(dlg)); + g_free(saved_name); g_free(saved_port); g_free(saved_server); diff -rup ../gnocatan-original/client/discard.c ./client/discard.c --- ../gnocatan-original/client/discard.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/discard.c 2003-08-17 21:23:09.000000000 -0400 @@ -179,10 +179,12 @@ static GtkWidget *discard_create_dlg(gin char buff[128]; discard.target = num; - discard.dlg = gnome_dialog_new(_("Discard resources"), - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(discard.dlg), - GTK_WINDOW(app_window)); + discard.dlg = gtk_dialog_new_with_buttons( + _("Discard resources"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_signal_connect(GTK_OBJECT(discard.dlg), "close", GTK_SIGNAL_FUNC(ignore_close), NULL); gtk_signal_connect(GTK_OBJECT(discard.dlg), "destroy", @@ -190,7 +192,7 @@ static GtkWidget *discard_create_dlg(gin gtk_widget_realize(discard.dlg); gdk_window_set_functions(discard.dlg->window, GDK_FUNC_MOVE); - dlg_vbox = GNOME_DIALOG(discard.dlg)->vbox; + dlg_vbox = GTK_DIALOG(discard.dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 5); @@ -246,7 +248,7 @@ static GtkWidget *discard_create_dlg(gin gtk_widget_set_usize(discard.total_entry, 30, -1); gtk_entry_set_editable(GTK_ENTRY(discard.total_entry), FALSE); - client_gui(gnome_dialog_get_button(GNOME_DIALOG(discard.dlg), 0), + client_gui(gui_get_dialog_button(GTK_DIALOG(discard.dlg), 0), GUI_DISCARD, "clicked"); gtk_widget_show(discard.dlg); check_total(); @@ -285,7 +287,7 @@ void discard_player_did(gint player_num, if (player_num == my_player_num()) { gtk_signal_disconnect_by_func(GTK_OBJECT(discard.dlg), GTK_SIGNAL_FUNC(ignore_close), NULL); - gnome_dialog_close(GNOME_DIALOG(discard.dlg)); + gtk_widget_destroy(discard.dlg); discard.dlg = NULL; } } diff -rup ../gnocatan-original/client/gameover.c ./client/gameover.c --- ../gnocatan-original/client/gameover.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/gameover.c 2003-08-17 21:23:09.000000000 -0400 @@ -25,13 +25,16 @@ GtkWidget *gameover_create_dlg(gint play GtkWidget *lbl; char buff[512]; - dlg = gnome_dialog_new(_("Game over"), - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(dlg), GTK_WINDOW(app_window)); + dlg = gtk_dialog_new_with_buttons( + _("Game over"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_widget_realize(dlg); gdk_window_set_functions(dlg->window, GDK_FUNC_MOVE | GDK_FUNC_CLOSE); - dlg_vbox = GNOME_DIALOG(dlg)->vbox; + dlg_vbox = GTK_DIALOG(dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 50); @@ -54,7 +57,8 @@ GtkWidget *gameover_create_dlg(gint play gtk_box_pack_start(GTK_BOX(vbox), lbl, FALSE, TRUE, 0); gtk_widget_show(dlg); - gnome_dialog_set_close(GNOME_DIALOG(dlg), TRUE); + g_signal_connect(dlg, "response", + G_CALLBACK(gtk_widget_destroy), NULL); return dlg; } diff -rup ../gnocatan-original/client/gui.c ./client/gui.c --- ../gnocatan-original/client/gui.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/gui.c 2003-08-17 21:23:09.000000000 -0400 @@ -75,13 +75,19 @@ static GtkWidget *check_color_summary; static GtkWidget *check_legend_page; -GtkWidget *gnome_dialog_get_button(GnomeDialog *dlg, gint button) +GtkWidget *gui_get_dialog_button(GtkDialog *dlg, gint button) { + GtkBox *hbox; GList *list; - list = g_list_nth(dlg->buttons, button); - if (list != NULL) - return list->data; + g_return_val_if_fail(dlg != NULL, NULL); + g_assert(dlg->action_area != NULL); + + list = g_list_nth(GTK_BOX(dlg->action_area)->children, button); + if (list != NULL) { + g_assert(list->data != NULL); + return ((GtkBoxChild *) list->data)->widget; + } return NULL; } diff -rup ../gnocatan-original/client/gui.h ./client/gui.h --- ../gnocatan-original/client/gui.h 2003-08-17 21:22:53.000000000 -0400 +++ ./client/gui.h 2003-08-17 21:23:09.000000000 -0400 @@ -33,7 +33,7 @@ typedef enum { MODE_GAME_OVER /* game is over */ } GuiMode; -GtkWidget *gnome_dialog_get_button(GnomeDialog *dlg, gint button); +GtkWidget *gui_get_dialog_button(GtkDialog *dlg, gint button); void gui_set_instructions(gchar *fmt, ...); void gui_set_vp_target_value( gint vp ); diff -rup ../gnocatan-original/client/histogram.c ./client/histogram.c --- ../gnocatan-original/client/histogram.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/histogram.c 2003-08-17 21:23:09.000000000 -0400 @@ -232,14 +232,16 @@ GtkWidget *histogram_create_dlg() return histogram_dlg; } - histogram_dlg = gnome_dialog_new(_("Dice Histogram"), - GNOME_STOCK_BUTTON_CLOSE, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(histogram_dlg), - GTK_WINDOW(app_window)); + histogram_dlg = gtk_dialog_new_with_buttons( + _("Dice Histogram"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, + NULL); gtk_signal_connect(GTK_OBJECT(histogram_dlg), "destroy", GTK_SIGNAL_FUNC(histogram_destroyed_cb), &histogram_dlg); - dlg_vbox = GNOME_DIALOG(histogram_dlg)->vbox; + dlg_vbox = GTK_DIALOG(histogram_dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 5); @@ -254,7 +256,8 @@ GtkWidget *histogram_create_dlg() histogram_update(); gtk_widget_show(histogram_dlg); - gnome_dialog_set_close(GNOME_DIALOG(histogram_dlg), TRUE); + g_signal_connect(histogram_dlg, "response", + G_CALLBACK(gtk_widget_destroy), NULL); return histogram_dlg; } diff -rup ../gnocatan-original/client/legend.c ./client/legend.c --- ../gnocatan-original/client/legend.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/legend.c 2003-08-17 21:23:09.000000000 -0400 @@ -190,21 +190,26 @@ GtkWidget *legend_create_dlg() if (legend_dlg != NULL) return legend_dlg; - legend_dlg = gnome_dialog_new(_("Legend"), - GNOME_STOCK_BUTTON_CLOSE, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(legend_dlg), - GTK_WINDOW(app_window)); + legend_dlg = gtk_dialog_new_with_buttons( + _("Legend"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_signal_connect(GTK_OBJECT(legend_dlg), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &legend_dlg); - dlg_vbox = GNOME_DIALOG(legend_dlg)->vbox; + dlg_vbox = GTK_DIALOG(legend_dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = legend_create_content(); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); gtk_widget_show(legend_dlg); - gnome_dialog_set_close(GNOME_DIALOG(legend_dlg), TRUE); + + /* destroy dialog when OK is clicked */ + g_signal_connect(legend_dlg, "response", + G_CALLBACK(gtk_widget_destroy), NULL); return legend_dlg; } diff -rup ../gnocatan-original/client/monopoly.c ./client/monopoly.c --- ../gnocatan-original/client/monopoly.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/monopoly.c 2003-08-17 21:23:09.000000000 -0400 @@ -70,10 +70,12 @@ GtkWidget *monopoly_create_dlg() GtkWidget *frame; GSList *monop_grp = NULL; - monop_dlg = gnome_dialog_new(_("Monopoly"), - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(monop_dlg), - GTK_WINDOW(app_window)); + monop_dlg = gtk_dialog_new_with_buttons( + _("Monopoly"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_signal_connect(GTK_OBJECT(monop_dlg), "close", GTK_SIGNAL_FUNC(ignore_close), NULL); gtk_signal_connect(GTK_OBJECT(monop_dlg), "destroy", @@ -81,7 +83,7 @@ GtkWidget *monopoly_create_dlg() gtk_widget_realize(monop_dlg); gdk_window_set_functions(monop_dlg->window, GDK_FUNC_MOVE); - dlg_vbox = GNOME_DIALOG(monop_dlg)->vbox; + dlg_vbox = GTK_DIALOG(monop_dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 5); @@ -113,7 +115,7 @@ GtkWidget *monopoly_create_dlg() monop_grp = add_resource_btn(vbox, monop_grp, WOOL_RESOURCE); monop_grp = add_resource_btn(vbox, monop_grp, LUMBER_RESOURCE); - client_gui(gnome_dialog_get_button(GNOME_DIALOG(monop_dlg), 0), + client_gui(gui_get_dialog_button(GTK_DIALOG(monop_dlg), 0), GUI_MONOPOLY, "clicked"); gtk_widget_show(monop_dlg); return monop_dlg; @@ -126,7 +128,7 @@ void monopoly_destroy_dlg() gtk_signal_disconnect_by_func(GTK_OBJECT(monop_dlg), GTK_SIGNAL_FUNC(ignore_close), NULL); - gnome_dialog_close(GNOME_DIALOG(monop_dlg)); + gtk_widget_destroy(monop_dlg); monop_dlg = NULL; } diff -rup ../gnocatan-original/client/name.c ./client/name.c --- ../gnocatan-original/client/name.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/name.c 2003-08-17 21:23:09.000000000 -0400 @@ -18,9 +18,13 @@ static GtkWidget *name_entry; static GtkWidget *dlg; -static void change_name_cb(void *widget, gpointer user_data) +static void change_name_cb(GtkDialog *dlg, int response_id, gpointer user_data) { - client_change_my_name(gtk_entry_get_text(GTK_ENTRY(name_entry))); + if (response_id == GTK_RESPONSE_OK) { + client_change_my_name( + gtk_entry_get_text(GTK_ENTRY(name_entry))); + } + gtk_widget_destroy(GTK_WIDGET(dlg)); } GtkWidget *name_create_dlg() @@ -31,16 +35,21 @@ GtkWidget *name_create_dlg() if (dlg != NULL) return dlg; - dlg = gnome_dialog_new(_("Change player name"), - GNOME_STOCK_BUTTON_OK, NULL); + dlg = gtk_dialog_new_with_buttons( + _("Change player name"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dlg), GTK_RESPONSE_OK); gtk_signal_connect(GTK_OBJECT(dlg), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &dlg); - gnome_dialog_set_parent(GNOME_DIALOG(dlg), GTK_WINDOW(app_window)); gtk_widget_realize(dlg); gdk_window_set_functions(dlg->window, GDK_FUNC_MOVE | GDK_FUNC_CLOSE); - dlg_vbox = GNOME_DIALOG(dlg)->vbox; + dlg_vbox = GTK_DIALOG(dlg)->vbox; gtk_widget_show(dlg_vbox); hbox = gtk_hbox_new(FALSE, 5); @@ -59,12 +68,11 @@ GtkWidget *name_create_dlg() gtk_box_pack_start(GTK_BOX(hbox), name_entry, FALSE, TRUE, 0); gtk_widget_set_usize(name_entry, 60, -1); - gnome_dialog_editable_enters(GNOME_DIALOG(dlg), - GTK_EDITABLE(name_entry)); + gtk_entry_set_activates_default(GTK_ENTRY(name_entry), TRUE); - gnome_dialog_set_close(GNOME_DIALOG(dlg), TRUE); - gnome_dialog_button_connect(GNOME_DIALOG(dlg), 0, - GTK_SIGNAL_FUNC(change_name_cb), NULL); + /* destroy dialog when OK button gets clicked */ + g_signal_connect(dlg, "response", + G_CALLBACK(change_name_cb), NULL); gtk_widget_show(dlg); gtk_widget_grab_focus(name_entry); diff -rup ../gnocatan-original/client/plenty.c ./client/plenty.c --- ../gnocatan-original/client/plenty.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/plenty.c 2003-08-17 21:23:09.000000000 -0400 @@ -65,8 +65,9 @@ static void check_total() info->num < info->bank && total < limit); } - gnome_dialog_set_sensitive(GNOME_DIALOG(plenty.dlg), 0, - total == limit); + gtk_widget_set_sensitive( + gui_get_dialog_button(GTK_DIALOG(plenty.dlg), 0), + total == limit); } static void less_resource_cb(void *widget, PlentyInfo *info) @@ -157,10 +158,12 @@ GtkWidget *plenty_create_dlg(gint *bank) GtkWidget *table; int idx; - plenty.dlg = gnome_dialog_new(_("Year of Plenty"), - GNOME_STOCK_BUTTON_OK, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(plenty.dlg), - GTK_WINDOW(app_window)); + plenty.dlg = gtk_dialog_new_with_buttons( + _("Year of Plenty"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); gtk_signal_connect(GTK_OBJECT(plenty.dlg), "close", GTK_SIGNAL_FUNC(ignore_close), NULL); gtk_signal_connect(GTK_OBJECT(plenty.dlg), "destroy", @@ -168,7 +171,7 @@ GtkWidget *plenty_create_dlg(gint *bank) gtk_widget_realize(plenty.dlg); gdk_window_set_functions(plenty.dlg->window, GDK_FUNC_MOVE); - dlg_vbox = GNOME_DIALOG(plenty.dlg)->vbox; + dlg_vbox = GTK_DIALOG(plenty.dlg)->vbox; gtk_widget_show(dlg_vbox); vbox = gtk_vbox_new(FALSE, 5); @@ -231,7 +234,7 @@ GtkWidget *plenty_create_dlg(gint *bank) gtk_widget_set_usize(plenty.total_entry, 30, -1); gtk_entry_set_editable(GTK_ENTRY(plenty.total_entry), FALSE); - client_gui(gnome_dialog_get_button(GNOME_DIALOG(plenty.dlg), 0), + client_gui(gui_get_dialog_button(GTK_DIALOG(plenty.dlg), 0), GUI_PLENTY, "clicked"); gtk_widget_show(plenty.dlg); @@ -246,6 +249,6 @@ void plenty_destroy_dlg() return; gtk_signal_disconnect_by_func(GTK_OBJECT(plenty.dlg), GTK_SIGNAL_FUNC(ignore_close), NULL); - gnome_dialog_close(GNOME_DIALOG(plenty.dlg)); + gtk_widget_destroy(plenty.dlg); plenty.dlg = NULL; } diff -rup ../gnocatan-original/client/settingscreen.c ./client/settingscreen.c --- ../gnocatan-original/client/settingscreen.c 2003-08-17 21:22:53.000000000 -0400 +++ ./client/settingscreen.c 2003-08-17 21:23:09.000000000 -0400 @@ -85,23 +85,27 @@ GtkWidget *settings_create_dlg() if (settings_dlg != NULL) return settings_dlg; - settings_dlg = gnome_dialog_new(_("Current Game Settings"), - GNOME_STOCK_BUTTON_CLOSE, NULL); - gnome_dialog_set_parent(GNOME_DIALOG(settings_dlg), - GTK_WINDOW(app_window)); + settings_dlg = gtk_dialog_new_with_buttons( + _("Current Game Settings"), + GTK_WINDOW(app_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, + NULL); gtk_signal_connect(GTK_OBJECT(settings_dlg), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &settings_dlg); - dlg_vbox = GNOME_DIALOG(settings_dlg)->vbox; + dlg_vbox = GTK_DIALOG(settings_dlg)->vbox; gtk_widget_show(dlg_vbox); + g_signal_connect(settings_dlg, "response", + G_CALLBACK(gtk_widget_destroy), NULL); + if( game_params == NULL ) { label = gtk_label_new(_("No game in progress...")); gtk_box_pack_start(GTK_BOX(dlg_vbox), label, TRUE, TRUE, 0); gtk_widget_show(label); gtk_widget_show(settings_dlg); - gnome_dialog_set_close(GNOME_DIALOG(settings_dlg), TRUE); return settings_dlg; } @@ -209,7 +213,6 @@ GtkWidget *settings_create_dlg() add_setting_val(table, 8, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_SOLDIER], NULL); gtk_widget_show(settings_dlg); - gnome_dialog_set_close(GNOME_DIALOG(settings_dlg), TRUE); return settings_dlg; }