Author: sveinung
Date: Wed Mar 22 12:02:10 2017
New Revision: 35144

URL: http://svn.gna.org/viewcvs/freeciv?rev=35144&view=rev
Log:
Qt client: add "Upgrade Unit" to act sel dlg.

Add a button for the "Upgrade Unit" action to the action selection dialog.
This makes the Qt client's action selection dialog cover all actions.

See hrm Feature #646168

Modified:
    trunk/client/gui-qt/dialogs.cpp

Modified: trunk/client/gui-qt/dialogs.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/dialogs.cpp?rev=35144&r1=35143&r2=35144&view=diff
==============================================================================
--- trunk/client/gui-qt/dialogs.cpp     (original)
+++ trunk/client/gui-qt/dialogs.cpp     Wed Mar 22 12:02:10 2017
@@ -107,6 +107,7 @@
 static void disband_unit(QVariant data1, QVariant data2);
 static void join_city(QVariant data1, QVariant data2);
 static void unit_home_city(QVariant data1, QVariant data2);
+static void unit_upgrade(QVariant data1, QVariant data2);
 static void airlift(QVariant data1, QVariant data2);
 static void conquer_city(QVariant data1, QVariant data2);
 static void heal_unit(QVariant data1, QVariant data2);
@@ -162,6 +163,7 @@
   action_function[ACTION_DESTROY_CITY] = destroy_city;
   action_function[ACTION_RECYCLE_UNIT] = unit_recycle;
   action_function[ACTION_HOME_CITY] = unit_home_city;
+  action_function[ACTION_UPGRADE_UNIT] = unit_upgrade;
   action_function[ACTION_AIRLIFT] = airlift;
   action_function[ACTION_CONQUER_CITY] = conquer_city;
 
@@ -1558,6 +1560,27 @@
 }
 
 /***************************************************************************
+  Action "Upgrade Unit" for choice dialog
+***************************************************************************/
+static void unit_upgrade(QVariant data1, QVariant data2)
+{
+  struct unit *punit;
+
+  int actor_id = data1.toInt();
+  int tgt_city_id = data2.toInt();
+
+  if ((punit = game_unit_by_number(actor_id))
+      && NULL != game_city_by_number(tgt_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);
+  }
+}
+
+/***************************************************************************
   Action "Airlift Unit" for choice dialog
 ***************************************************************************/
 static void airlift(QVariant data1, QVariant data2)


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

Reply via email to