Add setting for whether to use dual pane train purchase window

This commit is contained in:
Jonathan G Rennison
2021-06-29 00:11:07 +01:00
parent 70f7509126
commit 5e418128da
5 changed files with 26 additions and 3 deletions

View File

@@ -2876,7 +2876,7 @@ static WindowDesc _build_template_vehicle_desc(
WDP_AUTO, "build_vehicle", 240, 268,
WC_BUILD_VIRTUAL_TRAIN, WC_CREATE_TEMPLATE,
WDF_CONSTRUCTION,
_nested_build_vehicle_widgets_train_advanced, lengthof(_nested_build_vehicle_widgets_train_advanced)
_nested_build_vehicle_widgets, lengthof(_nested_build_vehicle_widgets)
);
static WindowDesc _build_vehicle_desc_train_advanced(
@@ -2886,6 +2886,13 @@ static WindowDesc _build_vehicle_desc_train_advanced(
_nested_build_vehicle_widgets_train_advanced, lengthof(_nested_build_vehicle_widgets_train_advanced)
);
static WindowDesc _build_template_vehicle_desc_advanced(
WDP_AUTO, "build_vehicle", 480, 268,
WC_BUILD_VIRTUAL_TRAIN, WC_CREATE_TEMPLATE,
WDF_CONSTRUCTION,
_nested_build_vehicle_widgets_train_advanced, lengthof(_nested_build_vehicle_widgets_train_advanced)
);
void ShowBuildVehicleWindow(const TileIndex tile, const VehicleType type)
{
@@ -2899,7 +2906,7 @@ void ShowBuildVehicleWindow(const TileIndex tile, const VehicleType type)
DeleteWindowById(WC_BUILD_VEHICLE, num);
if(type == VEH_TRAIN) {
if (type == VEH_TRAIN && _settings_client.gui.dual_pane_train_purchase_window) {
new BuildVehicleWindowTrainAdvanced(&_build_vehicle_desc_train_advanced, tile, nullptr);
} else {
new BuildVehicleWindow(&_build_vehicle_desc, tile, type, nullptr);
@@ -2912,5 +2919,9 @@ void ShowTemplateTrainBuildVehicleWindow(Train **virtual_train)
DeleteWindowById(WC_BUILD_VIRTUAL_TRAIN, 0);
new BuildVehicleWindowTrainAdvanced(&_build_template_vehicle_desc, INVALID_TILE, virtual_train);
if (_settings_client.gui.dual_pane_train_purchase_window) {
new BuildVehicleWindowTrainAdvanced(&_build_template_vehicle_desc_advanced, INVALID_TILE, virtual_train);
} else {
new BuildVehicleWindow(&_build_template_vehicle_desc, INVALID_TILE, VEH_TRAIN, virtual_train);
}
}

View File

@@ -1476,6 +1476,9 @@ STR_CONFIG_SETTING_DEMOLISH_CONFIRM_MODE_OFF :Off
STR_CONFIG_SETTING_DEMOLISH_CONFIRM_MODE_INDUSTRY :Industries
STR_CONFIG_SETTING_DEMOLISH_CONFIRM_MODE_ALL :Industries and rail stations
STR_CONFIG_SETTING_DUAL_PANE_TRAIN_PURCHASE_WINDOW :Separate locomotives and wagons in train purchase window: {STRING2}
STR_CONFIG_SETTING_DUAL_PANE_TRAIN_PURCHASE_WINDOW_HELPTEXT :When enabled, the train purchase window shows locomotives and wagons in separate side-by-side lists.
STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES :Enable signals on bridges/tunnels advanced modes: {STRING2}
STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES_HELPTEXT :Enables use of advanced modes of signal simulation on bridges and tunnels. When disabled, bridges/tunnels which are not already in an advanced mode cannot be changed to an advanced mode, however other players may choose to enable this setting and use an advanced mode.

View File

@@ -1842,6 +1842,7 @@ static SettingsContainer &GetSettingsTree()
interface->Add(new SettingEntry("gui.open_vehicle_gui_clone_share"));
interface->Add(new SettingEntry("gui.vehicle_names"));
interface->Add(new SettingEntry("gui.station_rating_tooltip_mode"));
interface->Add(new SettingEntry("gui.dual_pane_train_purchase_window"));
}
SettingsPage *advisors = main->Add(new SettingsPage(STR_CONFIG_SETTING_ADVISORS));

View File

@@ -223,6 +223,7 @@ struct GUISettings : public TimeSettings {
bool shade_trees_on_slopes; ///< Shade trees on slopes
uint8 station_rating_tooltip_mode; ///< Station rating tooltip mode
uint8 demolish_confirm_mode; ///< Demolition confirmation mode
bool dual_pane_train_purchase_window; ///< Dual pane train purchase window
uint16 console_backlog_timeout; ///< the minimum amount of time items should be in the console backlog before they will be removed in ~3 seconds granularity.
uint16 console_backlog_length; ///< the minimum amount of items in the console backlog before items will be removed.

View File

@@ -5539,6 +5539,13 @@ strhelp = STR_CONFIG_SETTING_DEMOLISH_CONFIRM_MODE_HELPTEXT
strval = STR_CONFIG_SETTING_DEMOLISH_CONFIRM_MODE_OFF
cat = SC_BASIC
[SDTC_BOOL]
var = gui.dual_pane_train_purchase_window
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = true
str = STR_CONFIG_SETTING_DUAL_PANE_TRAIN_PURCHASE_WINDOW
strhelp = STR_CONFIG_SETTING_DUAL_PANE_TRAIN_PURCHASE_WINDOW_HELPTEXT
; For the dedicated build we'll enable dates in logs by default.
[SDTC_BOOL]
ifdef = DEDICATED