Author: sveinung Date: Mon Mar 20 11:37:52 2017 New Revision: 35138 URL: http://svn.gna.org/viewcvs/freeciv?rev=35138&view=rev Log: Gtk clients: add "Upgrade Unit" to act sel dlg.
Add a button for the "Upgrade Unit" action to the action selection dialog. This makes the GTK clients' action selection dialog cover all actions. See hrm Feature #645832 Modified: branches/S3_0/client/gui-gtk-2.0/action_dialog.c branches/S3_0/client/gui-gtk-3.0/action_dialog.c branches/S3_0/client/gui-gtk-3.22/action_dialog.c Modified: branches/S3_0/client/gui-gtk-2.0/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-gtk-2.0/action_dialog.c?rev=35138&r1=35137&r2=35138&view=diff ============================================================================== --- branches/S3_0/client/gui-gtk-2.0/action_dialog.c (original) +++ branches/S3_0/client/gui-gtk-2.0/action_dialog.c Mon Mar 20 11:37:52 2017 @@ -310,6 +310,29 @@ && NULL != game_city_by_number(args->target_city_id)) { request_do_action(ACTION_HOME_CITY, args->actor_unit_id, args->target_city_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** + User selected "Upgrade Unit" from choice dialog. +*****************************************************************/ +static void upgrade_callback(GtkWidget *w, gpointer data) +{ + struct unit *punit; + + struct action_data *args = (struct action_data *)data; + + if ((punit = game_unit_by_number(args->actor_unit_id)) + && NULL != game_city_by_number(args->target_city_id)) { + struct unit_list *as_list; + + as_list = unit_list_new(); + unit_list_append(as_list, punit); + popup_upgrade_dialog(as_list); + unit_list_destroy(as_list); } gtk_widget_destroy(act_sel_dialog); @@ -1286,6 +1309,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_UPGRADE_UNIT] = (GCallback)upgrade_callback, [ACTION_AIRLIFT] = (GCallback)airlift_callback, [ACTION_CONQUER_CITY] = (GCallback)conquer_city_callback, Modified: branches/S3_0/client/gui-gtk-3.0/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-gtk-3.0/action_dialog.c?rev=35138&r1=35137&r2=35138&view=diff ============================================================================== --- branches/S3_0/client/gui-gtk-3.0/action_dialog.c (original) +++ branches/S3_0/client/gui-gtk-3.0/action_dialog.c Mon Mar 20 11:37:52 2017 @@ -320,6 +320,29 @@ && NULL != game_city_by_number(args->target_city_id)) { request_do_action(ACTION_HOME_CITY, args->actor_unit_id, args->target_city_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** + User selected "Upgrade Unit" from choice dialog. +*****************************************************************/ +static void upgrade_callback(GtkWidget *w, gpointer data) +{ + struct unit *punit; + + struct action_data *args = (struct action_data *)data; + + if ((punit = game_unit_by_number(args->actor_unit_id)) + && NULL != game_city_by_number(args->target_city_id)) { + struct unit_list *as_list; + + as_list = unit_list_new(); + unit_list_append(as_list, punit); + popup_upgrade_dialog(as_list); + unit_list_destroy(as_list); } gtk_widget_destroy(act_sel_dialog); @@ -1380,6 +1403,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_UPGRADE_UNIT] = (GCallback)upgrade_callback, [ACTION_AIRLIFT] = (GCallback)airlift_callback, [ACTION_CONQUER_CITY] = (GCallback)conquer_city_callback, Modified: branches/S3_0/client/gui-gtk-3.22/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/branches/S3_0/client/gui-gtk-3.22/action_dialog.c?rev=35138&r1=35137&r2=35138&view=diff ============================================================================== --- branches/S3_0/client/gui-gtk-3.22/action_dialog.c (original) +++ branches/S3_0/client/gui-gtk-3.22/action_dialog.c Mon Mar 20 11:37:52 2017 @@ -320,6 +320,29 @@ && NULL != game_city_by_number(args->target_city_id)) { request_do_action(ACTION_HOME_CITY, args->actor_unit_id, args->target_city_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** + User selected "Upgrade Unit" from choice dialog. +*****************************************************************/ +static void upgrade_callback(GtkWidget *w, gpointer data) +{ + struct unit *punit; + + struct action_data *args = (struct action_data *)data; + + if ((punit = game_unit_by_number(args->actor_unit_id)) + && NULL != game_city_by_number(args->target_city_id)) { + struct unit_list *as_list; + + as_list = unit_list_new(); + unit_list_append(as_list, punit); + popup_upgrade_dialog(as_list); + unit_list_destroy(as_list); } gtk_widget_destroy(act_sel_dialog); @@ -1374,6 +1397,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_UPGRADE_UNIT] = (GCallback)upgrade_callback, [ACTION_AIRLIFT] = (GCallback)airlift_callback, [ACTION_CONQUER_CITY] = (GCallback)conquer_city_callback, _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits