Hide build river button when disabled instead of visually disabling it

pull/379/head
Jonathan G Rennison 2 years ago
parent 7ccbc6f296
commit 2bfa53fcdd

@ -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<NWidgetStacked>(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(),
};

@ -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.
};

Loading…
Cancel
Save