<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40730 >

The attached patch implements a client option to disable
the automatic caravan action popup when a caravan arrives
at a city where it can either establish a traderoute or
help build a wonder. With the option enabled, the user
must manually make the traderoute with 'r', or help build
a wonder with 'b'.


-----------------------------------------------------------------------
それらの駱駝を抑えろ!
commit f9b4e487eabb9938e518db3ea4f575f4a43739fd
Author: Madeline Book <madeline.b...@gmail.com>
Date:   Wed Feb 11 20:41:20 2009 -0500

    Option to disable caravan popup.

diff --git a/client/options.c b/client/options.c
index 63c735a..4c7e6a8 100644
--- a/client/options.c
+++ b/client/options.c
@@ -85,6 +85,7 @@ bool map_scrollbars = FALSE;
 bool dialogs_on_top = TRUE;
 bool ask_city_name = TRUE;
 bool popup_new_cities = TRUE;
+bool popup_caravan_arrival = TRUE;
 bool keyboardless_goto = TRUE;
 bool show_task_icons = TRUE;
 bool enable_cursor_changes = TRUE;
@@ -246,6 +247,16 @@ static client_option common_options[] = {
 		  N_("Setting this option will pop up a newly-founded "
 		     "city's city dialog automatically."),
 		  COC_INTERFACE),
+  GEN_BOOL_OPTION(popup_caravan_arrival, N_("Pop up caravan actions"),
+                  N_("If this option is enabled, when caravans arrive "
+                     "at a city where they can establish a traderoute "
+                     "or help build a wonder, a window will popup asking "
+                     "which action should be performed. Disabling this "
+                     "option means you will have to do the action "
+                     "manually by pressing either 'r' (for a traderoute) "
+                     "or 'b' (for building a wonder) when the caravan "
+                     "is in the city."),
+                  COC_INTERFACE),
   GEN_BOOL_OPTION(enable_cursor_changes, N_("Enable cursor changing"),
                   N_("This option controls whether the client should "
                      "try to change the mouse cursor depending on what "
diff --git a/client/options.h b/client/options.h
index 6ebf9ba..41967c2 100644
--- a/client/options.h
+++ b/client/options.h
@@ -48,6 +48,7 @@ extern bool map_scrollbars;
 extern bool dialogs_on_top;
 extern bool ask_city_name;
 extern bool popup_new_cities;
+extern bool popup_caravan_arrival;
 extern bool update_city_text_in_refresh_tile;
 extern bool keyboardless_goto;
 extern bool show_task_icons;
diff --git a/client/packhand.c b/client/packhand.c
index baa6db6..b28dcf6 100644
--- a/client/packhand.c
+++ b/client/packhand.c
@@ -1229,6 +1229,7 @@ static bool handle_unit_packet_common(struct unit *packet_unit)
 	   && unit_owner(punit) == game.player_ptr
 	   && !unit_has_orders(punit)
 	   && can_client_issue_orders()
+	   && popup_caravan_arrival
 	   && (unit_can_help_build_wonder_here(punit)
 	       || unit_can_est_traderoute_here(punit))) {
 	  process_caravan_arrival(punit);
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to