mirror of https://github.com/OpenTTD/OpenTTD
(svn r27163) -Fix [FS#6204]: Toolbars were not invalidated when changing max-vehicles settings. (adf88)
parent
f26e9bf59d
commit
c639fb0d8e
|
@ -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) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -434,6 +434,18 @@ struct BuildRailToolbarWindow : 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_TRAIN)) delete this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures the rail toolbar for railtype given
|
||||
* @param railtype the railtype to display
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1304,6 +1304,13 @@ static bool StationCatchmentChanged(int32 p1)
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool MaxVehiclesChanged(int32 p1)
|
||||
{
|
||||
InvalidateWindowClassesData(WC_BUILD_TOOLBAR);
|
||||
MarkWholeScreenDirty();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#ifdef ENABLE_NETWORK
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue