Author: sveinung
Date: Fri Aug 12 20:37:37 2016
New Revision: 33581

URL: http://svn.gna.org/viewcvs/freeciv?rev=33581&view=rev
Log:
Gtk clients: ask for target for "Do...".

Change "Do..." to always ask the player for a target tile. A 2nd call (like
pressing "d" twice) will call the old "Do..." against own tile.

This gives the player a way to select the actor unit's target tile. A 2.6
ruleset can allow a unit without any movement left to act against a neighbor
tile. In 3.0 the actions "Paradrop Unit" and "Airlift Unit" targets tiles
that are far away.

Pressing "d" twice doesn't slow down acting against a target on the same
tile as the actor too much. No mouse is required.

A user with an existing habit of pressing "d" to act against (a target on)
the tile the actor is likely to press it again if the first key press don't
work. If he selected the menu item he will notice that the mouse pointer
turns into a selector.

See patch #7573

Modified:
    trunk/client/gui-gtk-2.0/menu.c
    trunk/client/gui-gtk-3.0/menu.c
    trunk/client/gui-gtk-3.x/menu.c

Modified: trunk/client/gui-gtk-2.0/menu.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/menu.c?rev=33581&r1=33580&r2=33581&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/menu.c     (original)
+++ trunk/client/gui-gtk-2.0/menu.c     Fri Aug 12 20:37:37 2016
@@ -1270,7 +1270,7 @@
 *****************************************************************/
 static void diplomat_action_callback(GtkAction *action, gpointer data)
 {
-  key_unit_action_select();
+  key_unit_action_select_tgt();
 }
 
 /****************************************************************
@@ -2311,7 +2311,7 @@
   menus_set_sensitive(unit_group, "CONNECT_IRRIGATION", conn_possible);
 
   menus_set_sensitive(unit_group, "DIPLOMAT_ACTION",
-                      can_units_act_against_own_tile(punits));
+                      units_can_do_action(punits, ACTION_ANY, TRUE));
   menus_set_sensitive(unit_group, "EXPLODE_NUKE",
                       units_can_do_action(punits, ACTION_NUKE, TRUE));
 

Modified: trunk/client/gui-gtk-3.0/menu.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/menu.c?rev=33581&r1=33580&r2=33581&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/menu.c     (original)
+++ trunk/client/gui-gtk-3.0/menu.c     Fri Aug 12 20:37:37 2016
@@ -1709,7 +1709,7 @@
 *****************************************************************/
 static void diplomat_action_callback(GtkMenuItem *action, gpointer data)
 {
-  key_unit_action_select();
+  key_unit_action_select_tgt();
 }
 
 /****************************************************************
@@ -2309,7 +2309,8 @@
   menu_entry_set_sensitive("CONNECT_IRRIGATION", conn_possible);
 
   menu_entry_set_sensitive("DIPLOMAT_ACTION",
-                           can_units_act_against_own_tile(punits));
+                           units_can_do_action(punits, ACTION_ANY, TRUE));
+
   menu_entry_set_sensitive("EXPLODE_NUKE",
                            units_can_do_action(punits, ACTION_NUKE, TRUE));
 

Modified: trunk/client/gui-gtk-3.x/menu.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/menu.c?rev=33581&r1=33580&r2=33581&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.x/menu.c     (original)
+++ trunk/client/gui-gtk-3.x/menu.c     Fri Aug 12 20:37:37 2016
@@ -1708,7 +1708,7 @@
 *****************************************************************/
 static void diplomat_action_callback(GtkMenuItem *action, gpointer data)
 {
-  key_unit_action_select();
+  key_unit_action_select_tgt();
 }
 
 /****************************************************************
@@ -2308,7 +2308,8 @@
   menu_entry_set_sensitive("CONNECT_IRRIGATION", conn_possible);
 
   menu_entry_set_sensitive("DIPLOMAT_ACTION",
-                           can_units_act_against_own_tile(punits));
+                           units_can_do_action(punits, ACTION_ANY, TRUE));
+
   menu_entry_set_sensitive("EXPLODE_NUKE",
                            units_can_do_action(punits, ACTION_NUKE, TRUE));
 


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to