(svn r12553) -Fix (r11547): redraw the signal GUI when the signal drag density changes in the patch settings and vice versa
authorsmatz
Thu, 03 Apr 2008 22:31:57 +0000
changeset 9306 01a397b0b8ba
parent 9305 0c214cd8b39e
child 9307 ea18838b527e
(svn r12553) -Fix (r11547): redraw the signal GUI when the signal drag density changes in the patch settings and vice versa
src/rail_gui.cpp
src/settings.cpp
--- a/src/rail_gui.cpp	Thu Apr 03 21:54:31 2008 +0000
+++ b/src/rail_gui.cpp	Thu Apr 03 22:31:57 2008 +0000
@@ -1328,11 +1328,19 @@
 					break;
 
 				case BSW_DRAG_SIGNALS_DENSITY_DECREASE:
-					if (_patches.drag_signals_density > 1) _patches.drag_signals_density--;
+					if (_patches.drag_signals_density > 1) {
+						_patches.drag_signals_density--;
+						const Window *w = FindWindowById(WC_GAME_OPTIONS, 0);
+						if (w != NULL) SetWindowDirty(w);
+					}
 					break;
 
 				case BSW_DRAG_SIGNALS_DENSITY_INCREASE:
-					if (_patches.drag_signals_density < 20) _patches.drag_signals_density++;
+					if (_patches.drag_signals_density < 20) {
+						_patches.drag_signals_density++;
+						const Window *w = FindWindowById(WC_GAME_OPTIONS, 0);
+						if (w != NULL) SetWindowDirty(w);
+					}
 					break;
 
 				default: break;
--- a/src/settings.cpp	Thu Apr 03 21:54:31 2008 +0000
+++ b/src/settings.cpp	Thu Apr 03 22:31:57 2008 +0000
@@ -1208,6 +1208,15 @@
 	return 0;
 }
 
+static int32 DragSignalsDensityChanged(int32)
+{
+	const Window *w = FindWindowById(WC_BUILD_SIGNAL, 0);
+
+	if (w != NULL) SetWindowDirty(w);
+
+	return 0;
+}
+
 /**
  * Check for right TownLayout usage in editor mode.
  * The No Road mode is not desirable since towns have to be
@@ -1404,7 +1413,7 @@
 	SDT_BOOL(Patches, signal_side,                   N,NN,  true,        STR_CONFIG_PATCHES_SIGNALSIDE,          RedrawScreen),
 	SDT_BOOL(Patches, always_small_airport,          0,NN, false,        STR_CONFIG_PATCHES_SMALL_AIRPORTS,      NULL),
 	SDT_BOOL(Patches, enable_signal_gui,             S, 0, false,        STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI,   NULL),
-	 SDT_VAR(Patches, drag_signals_density,SLE_UINT8,S, 0,  4, 1, 20, 0, STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY,NULL),
+	 SDT_VAR(Patches, drag_signals_density,SLE_UINT8,S, 0,  4, 1, 20, 0, STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY,DragSignalsDensityChanged),
 	 SDT_VAR(Patches, semaphore_build_before,SLE_INT32, S, NC, 1975, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE, ResetSignalVariant),
 	SDT_CONDVAR(Patches, town_layout, SLE_UINT8, 59, SL_MAX_VERSION, 0, MS, TL_ORIGINAL, TL_NO_ROADS, NUM_TLS - 1, 1, STR_CONFIG_PATCHES_TOWN_LAYOUT, CheckTownLayout),