From ec473545dd5ead7544c4c831ab1c72fc229c5a2f Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Sat, 12 Sep 2026 20:28:42 +0300
Subject: [PATCH 27/27] Qt: Support "Spy Attack" at the choice dialog

See RM #2200

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 client/gui-qt/dialogs.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/client/gui-qt/dialogs.cpp b/client/gui-qt/dialogs.cpp
index d393c464a2..9ebc3d21ab 100644
--- a/client/gui-qt/dialogs.cpp
+++ b/client/gui-qt/dialogs.cpp
@@ -111,6 +111,7 @@ static void diplomat_investigate(QVariant data1, QVariant data2);
 static void diplomat_sabotage(QVariant data1, QVariant data2);
 static void diplomat_sabotage_esc(QVariant data1, QVariant data2);
 static void diplomat_bribe(QVariant data1, QVariant data2);
+static void spy_attack(QVariant data1, QVariant data2);
 static void caravan_marketplace(QVariant data1, QVariant data2);
 static void caravan_establish_trade(QVariant data1, QVariant data2);
 static void caravan_help_build(QVariant data1, QVariant data2);
@@ -303,6 +304,7 @@ static const QHash<action_id, pfcn_void> af_map_init(void)
   action_function[ACTION_BOMBARD_LETHAL2] = bombard_lethal2;
   action_function[ACTION_NUKE_UNITS] = nuke_units;
   action_function[ACTION_COLLECT_RANSOM] = collect_ransom;
+  action_function[ACTION_SPY_ATTACK] = spy_attack;
 
   // Unit acting against a tile.
   action_function[ACTION_FOUND_CITY] = found_city;
@@ -2926,6 +2928,18 @@ static void collect_ransom(QVariant data1, QVariant data2)
                     target_id, 0, "");
 }
 
+/**********************************************************************//**
+  Action "Spy Attack" for choice dialog
+***************************************************************************/
+static void spy_attack(QVariant data1, QVariant data2)
+{
+  int actor_id = data1.toInt();
+  int target_id = data2.toInt();
+
+  request_do_action(ACTION_SPY_ATTACK, actor_id,
+                    target_id, 0, "");
+}
+
 /**********************************************************************//**
   Action "Wipe Units" for choice dialog
 ***************************************************************************/
-- 
2.53.0

