Index: client/gui-gtk/dialogs.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk/dialogs.c,v retrieving revision 1.92 diff -u -r1.92 dialogs.c --- client/gui-gtk/dialogs.c 2002/04/09 15:16:21 1.92 +++ client/gui-gtk/dialogs.c 2002/05/07 07:58:00 @@ -101,7 +101,9 @@ static int city_style_get_current(void); static void create_races_dialog (void); -static void races_buttons_callback ( GtkWidget *w, gpointer data ); +static void ok_callback(GtkWidget * w, gpointer data); +static void disc_callback(GtkWidget * w, gpointer data); +static void quit_callback(GtkWidget * w, gpointer data); static void races_toggles_callback(GtkWidget * w, gpointer race_id_p); static void races_sex_toggles_callback ( GtkWidget *w, gpointer data ); static void races_name_callback ( GtkWidget *w, gpointer data ); @@ -1923,11 +1925,12 @@ GtkWidget *f, *fs, *fa; races_dialog_shell = gtk_dialog_new(); - gtk_signal_connect( GTK_OBJECT(races_dialog_shell),"delete_event", - GTK_SIGNAL_FUNC(deleted_callback),NULL ); gtk_window_set_title( GTK_WINDOW( races_dialog_shell ), _(" What Nation Will You Be?") ); + gtk_signal_connect(GTK_OBJECT(races_dialog_shell), "delete_event", + GTK_SIGNAL_FUNC(disc_callback), NULL); + f = gtk_frame_new(_("Select nation and name")); gtk_box_pack_start( GTK_BOX( GTK_DIALOG( races_dialog_shell )->vbox ), @@ -2057,14 +2060,14 @@ "selection_changed", GTK_SIGNAL_FUNC( races_name_callback ), NULL ); - gtk_signal_connect( GTK_OBJECT( races_ok_command ), "clicked", - GTK_SIGNAL_FUNC( races_buttons_callback ), NULL ); + gtk_signal_connect(GTK_OBJECT(races_ok_command), "clicked", + GTK_SIGNAL_FUNC(ok_callback), NULL); - gtk_signal_connect( GTK_OBJECT( races_disc_command ), "clicked", - GTK_SIGNAL_FUNC( races_buttons_callback ), NULL ); + gtk_signal_connect(GTK_OBJECT(races_disc_command), "clicked", + GTK_SIGNAL_FUNC(disc_callback), NULL); - gtk_signal_connect( GTK_OBJECT( races_quit_command ), "clicked", - GTK_SIGNAL_FUNC( races_buttons_callback ), NULL ); + gtk_signal_connect(GTK_OBJECT(races_quit_command), "clicked", + GTK_SIGNAL_FUNC(quit_callback), NULL); /* ------- set initial selections ------- */ @@ -2194,21 +2197,13 @@ /************************************************************************** ... **************************************************************************/ -static void races_buttons_callback( GtkWidget *w, gpointer data ) +static void ok_callback(GtkWidget * w, gpointer data) { int selected, selected_sex, selected_style; char *s; struct packet_alloc_nation packet; - if(w==races_quit_command) { - exit(EXIT_SUCCESS); - } else if(w==races_disc_command) { - popdown_races_dialog(); - disconnect_from_server(); - return; - } - if((selected=races_buttons_get_current())==-1) { append_output_window(_("You must select a nation.")); return; @@ -2242,6 +2237,22 @@ send_packet_alloc_nation(&aconnection, &packet); } +/************************************************************************** +... +**************************************************************************/ +static void disc_callback(GtkWidget * w, gpointer data) +{ + popdown_races_dialog(); + disconnect_from_server(); +} + +/************************************************************************** +... +**************************************************************************/ +static void quit_callback(GtkWidget * w, gpointer data) +{ + exit(EXIT_SUCCESS); +} /************************************************************************** Destroys its widget. Usefull for a popdown callback on pop-ups that