Author: sveinung Date: Mon Mar 20 11:34:19 2017 New Revision: 35133 URL: http://svn.gna.org/viewcvs/freeciv?rev=35133&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: trunk/client/gui-gtk-3.0/action_dialog.c trunk/client/gui-gtk-3.22/action_dialog.c Modified: trunk/client/gui-gtk-3.0/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/action_dialog.c?rev=35133&r1=35132&r2=35133&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/action_dialog.c (original) +++ trunk/client/gui-gtk-3.0/action_dialog.c Mon Mar 20 11:34:19 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: trunk/client/gui-gtk-3.22/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.22/action_dialog.c?rev=35133&r1=35132&r2=35133&view=diff ============================================================================== --- trunk/client/gui-gtk-3.22/action_dialog.c (original) +++ trunk/client/gui-gtk-3.22/action_dialog.c Mon Mar 20 11:34:19 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