Author: sveinung Date: Fri Aug 12 20:38:06 2016 New Revision: 33582 URL: http://svn.gna.org/viewcvs/freeciv?rev=33582&view=rev Log: Gtk clients: act sel dlg paradrop and airlift.
Support the actions "Paradrop Unit" and "Airlift Unit" in the action selection dialog. See patch #7574 Modified: trunk/client/gui-gtk-2.0/action_dialog.c trunk/client/gui-gtk-3.0/action_dialog.c trunk/client/gui-gtk-3.x/action_dialog.c Modified: trunk/client/gui-gtk-2.0/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/action_dialog.c?rev=33582&r1=33581&r2=33582&view=diff ============================================================================== --- trunk/client/gui-gtk-2.0/action_dialog.c (original) +++ trunk/client/gui-gtk-2.0/action_dialog.c Fri Aug 12 20:38:06 2016 @@ -184,6 +184,23 @@ } /**************************************************************** + User selected "Paradrop Unit" from the choice dialog +*****************************************************************/ +static void paradrop_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != index_to_tile(args->target_tile_id)) { + request_do_action(ACTION_PARADROP, args->actor_unit_id, + args->target_tile_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** User selected "Attack" from the choice dialog *****************************************************************/ static void attack_callback(GtkWidget *w, gpointer data) @@ -292,6 +309,23 @@ if (NULL != game_unit_by_number(args->actor_unit_id) && 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 "Airlift Unit" from choice dialog. +*****************************************************************/ +static void airlift_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != game_city_by_number(args->target_city_id)) { + request_do_action(ACTION_AIRLIFT, args->actor_unit_id, args->target_city_id, 0, ""); } @@ -1220,6 +1254,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_AIRLIFT] = (GCallback)airlift_callback, /* Unit acting against a unit target. */ [ACTION_SPY_BRIBE_UNIT] = (GCallback)diplomat_bribe_callback, @@ -1233,6 +1268,7 @@ /* Unit acting against a tile. */ [ACTION_FOUND_CITY] = (GCallback)found_city_callback, [ACTION_NUKE] = (GCallback)nuke_callback, + [ACTION_PARADROP] = (GCallback)paradrop_callback, [ACTION_ATTACK] = (GCallback)attack_callback, /* Unit acting with no target except itself. */ 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=33582&r1=33581&r2=33582&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/action_dialog.c (original) +++ trunk/client/gui-gtk-3.0/action_dialog.c Fri Aug 12 20:38:06 2016 @@ -194,6 +194,23 @@ } /**************************************************************** + User selected "Paradrop Unit" from the choice dialog +*****************************************************************/ +static void paradrop_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != index_to_tile(args->target_tile_id)) { + request_do_action(ACTION_PARADROP, args->actor_unit_id, + args->target_tile_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** User selected "Attack" from the choice dialog *****************************************************************/ static void attack_callback(GtkWidget *w, gpointer data) @@ -302,6 +319,23 @@ if (NULL != game_unit_by_number(args->actor_unit_id) && 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 "Airlift Unit" from choice dialog. +*****************************************************************/ +static void airlift_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != game_city_by_number(args->target_city_id)) { + request_do_action(ACTION_AIRLIFT, args->actor_unit_id, args->target_city_id, 0, ""); } @@ -1312,6 +1346,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_AIRLIFT] = (GCallback)airlift_callback, /* Unit acting against a unit target. */ [ACTION_SPY_BRIBE_UNIT] = (GCallback)diplomat_bribe_callback, @@ -1325,6 +1360,7 @@ /* Unit acting against a tile. */ [ACTION_FOUND_CITY] = (GCallback)found_city_callback, [ACTION_NUKE] = (GCallback)nuke_callback, + [ACTION_PARADROP] = (GCallback)paradrop_callback, [ACTION_ATTACK] = (GCallback)attack_callback, /* Unit acting with no target except itself. */ Modified: trunk/client/gui-gtk-3.x/action_dialog.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/action_dialog.c?rev=33582&r1=33581&r2=33582&view=diff ============================================================================== --- trunk/client/gui-gtk-3.x/action_dialog.c (original) +++ trunk/client/gui-gtk-3.x/action_dialog.c Fri Aug 12 20:38:06 2016 @@ -194,6 +194,23 @@ } /**************************************************************** + User selected "Paradrop Unit" from the choice dialog +*****************************************************************/ +static void paradrop_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != index_to_tile(args->target_tile_id)) { + request_do_action(ACTION_PARADROP, args->actor_unit_id, + args->target_tile_id, 0, ""); + } + + gtk_widget_destroy(act_sel_dialog); + free(args); +} + +/**************************************************************** User selected "Attack" from the choice dialog *****************************************************************/ static void attack_callback(GtkWidget *w, gpointer data) @@ -302,6 +319,23 @@ if (NULL != game_unit_by_number(args->actor_unit_id) && 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 "Airlift Unit" from choice dialog. +*****************************************************************/ +static void airlift_callback(GtkWidget *w, gpointer data) +{ + struct action_data *args = (struct action_data *)data; + + if (NULL != game_unit_by_number(args->actor_unit_id) + && NULL != game_city_by_number(args->target_city_id)) { + request_do_action(ACTION_AIRLIFT, args->actor_unit_id, args->target_city_id, 0, ""); } @@ -1306,6 +1340,7 @@ [ACTION_DESTROY_CITY] = (GCallback)destroy_city_callback, [ACTION_RECYCLE_UNIT] = (GCallback)recycle_unit_callback, [ACTION_HOME_CITY] = (GCallback)home_city_callback, + [ACTION_AIRLIFT] = (GCallback)airlift_callback, /* Unit acting against a unit target. */ [ACTION_SPY_BRIBE_UNIT] = (GCallback)diplomat_bribe_callback, @@ -1319,6 +1354,7 @@ /* Unit acting against a tile. */ [ACTION_FOUND_CITY] = (GCallback)found_city_callback, [ACTION_NUKE] = (GCallback)nuke_callback, + [ACTION_PARADROP] = (GCallback)paradrop_callback, [ACTION_ATTACK] = (GCallback)attack_callback, /* Unit acting with no target except itself. */ _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits