diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index 07a363a074..3db6fa5a5e 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -96,10 +96,13 @@ struct BuildDocksToolbarWindow : Window { BuildDocksToolbarWindow(WindowDesc *desc, WindowNumber window_number) : Window(desc) { this->last_clicked_widget = WID_DT_INVALID; - this->InitNested(window_number); + this->CreateNestedTree(); + if (_game_mode != GM_EDITOR) { + this->GetWidget(WID_DT_RIVER_SEL)->SetDisplayedPlane(_settings_game.construction.enable_build_river ? 0 : SZSP_NONE); + } + this->FinishInitNested(window_number); this->OnInvalidateData(); if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this); - SetWidgetDisabledState(WID_DT_RIVER, _game_mode != GM_EDITOR && !_settings_game.construction.enable_build_river); } ~BuildDocksToolbarWindow() @@ -336,7 +339,9 @@ static const NWidgetPart _nested_build_docks_toolbar_widgets[] = { NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEPOT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DEPOT, STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_STATION), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DOCK, STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUOY), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUOY, STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP), - NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_RIVER), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_RIVER, STR_WATERWAYS_TOOLBAR_CREATE_RIVER_IN_GAME_TOOLTIP), + NWidget(NWID_SELECTION, INVALID_COLOUR, WID_DT_RIVER_SEL), + NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_RIVER), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_RIVER, STR_WATERWAYS_TOOLBAR_CREATE_RIVER_IN_GAME_TOOLTIP), + EndContainer(), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUILD_AQUEDUCT), SetMinimalSize(23, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP), EndContainer(), }; diff --git a/src/widgets/dock_widget.h b/src/widgets/dock_widget.h index 139fcd55bc..f0854ffc08 100644 --- a/src/widgets/dock_widget.h +++ b/src/widgets/dock_widget.h @@ -27,6 +27,7 @@ enum DockToolbarWidgets { WID_DT_BUOY, ///< Build buoy button. WID_DT_RIVER, ///< Build river button (in scenario editor). WID_DT_BUILD_AQUEDUCT, ///< Build aqueduct button. + WID_DT_RIVER_SEL, ///< Build river button selector. WID_DT_INVALID, ///< Used to initialize a variable. };