Changeset - r22007:58dd28c3d424
[Not reviewed]
master
0 6 0
frosch - 10 years ago 2015-02-22 15:26:27
frosch@openttd.org
(svn r27163) -Fix [FS#6204]: Toolbars were not invalidated when changing max-vehicles settings. (adf88)
6 files changed with 51 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/airport_gui.cpp
Show inline comments
 
@@ -82,6 +82,18 @@ struct BuildAirToolbarWindow : Window {
 
		if (_settings_client.gui.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0, false);
 
	}
 

	
 
	/**
 
	 * Some data on this window has become invalid.
 
	 * @param data Information about the changed data.
 
	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
 
	 */
 
	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 
	{
 
		if (!gui_scope) return;
 

	
 
		if (!CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) delete this;
 
	}
 

	
 
	virtual void OnClick(Point pt, int widget, int click_count)
 
	{
 
		switch (widget) {
src/dock_gui.cpp
Show inline comments
 
@@ -116,11 +116,17 @@ struct BuildDocksToolbarWindow : Window 
 
	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 
	{
 
		if (!gui_scope) return;
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP),
 

	
 
		bool can_build = CanBuildVehicleInfrastructure(VEH_SHIP);
 
		this->SetWidgetsDisabledState(!can_build,
 
			WID_DT_DEPOT,
 
			WID_DT_STATION,
 
			WID_DT_BUOY,
 
			WIDGET_LIST_END);
 
		if (!can_build) {
 
			DeleteWindowById(WC_BUILD_STATION, TRANSPORT_WATER);
 
			DeleteWindowById(WC_BUILD_DEPOT, TRANSPORT_WATER);
 
		}
 
	}
 

	
 
	virtual void OnClick(Point pt, int widget, int click_count)
src/rail_gui.cpp
Show inline comments
 
@@ -435,6 +435,18 @@ struct BuildRailToolbarWindow : Window {
 
	}
 

	
 
	/**
 
	 * Some data on this window has become invalid.
 
	 * @param data Information about the changed data.
 
	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
 
	 */
 
	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 
	{
 
		if (!gui_scope) return;
 

	
 
		if (!CanBuildVehicleInfrastructure(VEH_TRAIN)) delete this;
 
	}
 

	
 
	/**
 
	 * Configures the rail toolbar for railtype given
 
	 * @param railtype the railtype to display
 
	 */
src/road_gui.cpp
Show inline comments
 
@@ -338,11 +338,18 @@ struct BuildRoadToolbarWindow : Window {
 
	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 
	{
 
		if (!gui_scope) return;
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_ROAD),
 

	
 
		bool can_build = CanBuildVehicleInfrastructure(VEH_ROAD);
 
		this->SetWidgetsDisabledState(!can_build,
 
				WID_ROT_DEPOT,
 
				WID_ROT_BUS_STATION,
 
				WID_ROT_TRUCK_STATION,
 
				WIDGET_LIST_END);
 
		if (!can_build) {
 
			DeleteWindowById(WC_BUILD_DEPOT, TRANSPORT_ROAD);
 
			DeleteWindowById(WC_BUS_STATION, TRANSPORT_ROAD);
 
			DeleteWindowById(WC_TRUCK_STATION, TRANSPORT_ROAD);
 
		}
 
	}
 

	
 
	/**
src/settings.cpp
Show inline comments
 
@@ -1304,6 +1304,13 @@ static bool StationCatchmentChanged(int3
 
	return true;
 
}
 

	
 
static bool MaxVehiclesChanged(int32 p1)
 
{
 
	InvalidateWindowClassesData(WC_BUILD_TOOLBAR);
 
	MarkWholeScreenDirty();
 
	return true;
 
}
 

	
 

	
 
#ifdef ENABLE_NETWORK
 

	
src/table/settings.ini
Show inline comments
 
@@ -41,6 +41,7 @@ static bool RedrawTownAuthority(int32 p1
 
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
 
static bool InvalidateCompanyWindow(int32 p1);
 
static bool ZoomMinMaxChanged(int32 p1);
 
static bool MaxVehiclesChanged(int32 p1);
 

	
 
#ifdef ENABLE_NETWORK
 
static bool UpdateClientName(int32 p1);
 
@@ -961,7 +962,7 @@ max      = 5000
 
str      = STR_CONFIG_SETTING_MAX_TRAINS
 
strhelp  = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
 
strval   = STR_JUST_COMMA
 
proc     = RedrawScreen
 
proc     = MaxVehiclesChanged
 
cat      = SC_BASIC
 

	
 
[SDT_VAR]
 
@@ -974,7 +975,7 @@ max      = 5000
 
str      = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
 
strhelp  = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
 
strval   = STR_JUST_COMMA
 
proc     = RedrawScreen
 
proc     = MaxVehiclesChanged
 
cat      = SC_BASIC
 

	
 
[SDT_VAR]
 
@@ -987,7 +988,7 @@ max      = 5000
 
str      = STR_CONFIG_SETTING_MAX_AIRCRAFT
 
strhelp  = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
 
strval   = STR_JUST_COMMA
 
proc     = RedrawScreen
 
proc     = MaxVehiclesChanged
 
cat      = SC_BASIC
 

	
 
[SDT_VAR]
 
@@ -1000,7 +1001,7 @@ max      = 5000
 
str      = STR_CONFIG_SETTING_MAX_SHIPS
 
strhelp  = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
 
strval   = STR_JUST_COMMA
 
proc     = RedrawScreen
 
proc     = MaxVehiclesChanged
 
cat      = SC_BASIC
 

	
 
[SDTG_BOOL]
0 comments (0 inline, 0 general)