diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index ff3ea465a3..5d32857d47 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -159,6 +159,7 @@ enum DynamicPlaceIndustriesWidgets { DPIW_MATRIX_WIDGET, DPIW_SCROLLBAR, DPIW_INFOPANEL, + DPIW_DISPLAY_WIDGET, DPIW_FUND_WIDGET, }; @@ -176,6 +177,8 @@ static const NWidgetPart _nested_build_industry_widgets[] = { NWidget(WWT_PANEL, COLOUR_DARK_GREEN, DPIW_INFOPANEL), SetResize(1, 0), EndContainer(), NWidget(NWID_HORIZONTAL), + NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, DPIW_DISPLAY_WIDGET), SetFill(1, 0), SetResize(1, 0), + SetDataTip(STR_INDUSTRY_DISPLAY_CHAIN, STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP), NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, DPIW_FUND_WIDGET), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_NULL), NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN), EndContainer(), @@ -474,11 +477,15 @@ public: ResetObjectToPlace(); } - this->SetWidgetDisabledState(DPIW_FUND_WIDGET, !this->enabled[this->selected_index]); + this->SetWidgetsDisabledState(!this->enabled[this->selected_index], DPIW_DISPLAY_WIDGET, DPIW_FUND_WIDGET, WIDGET_LIST_END); if (this->enabled[this->selected_index] && click_count > 1) this->OnClick(pt, DPIW_FUND_WIDGET, 1); } } break; + case DPIW_DISPLAY_WIDGET: + if (this->selected_type != INVALID_INDUSTRYTYPE) ShowIndustryCargoesWindow(this->selected_type); + break; + case DPIW_FUND_WIDGET: { if (this->selected_type == INVALID_INDUSTRYTYPE) { this->HandleButtonClick(DPIW_FUND_WIDGET); @@ -558,7 +565,7 @@ public: /* Only if result does match the previous state would it require a redraw. */ if (call_back_result != this->enabled[this->selected_index]) { this->enabled[this->selected_index] = call_back_result; - this->SetWidgetDisabledState(DPIW_FUND_WIDGET, !this->enabled[this->selected_index]); + this->SetWidgetsDisabledState(!this->enabled[this->selected_index], DPIW_DISPLAY_WIDGET, DPIW_FUND_WIDGET, WIDGET_LIST_END); this->SetDirty(); } } @@ -581,7 +588,7 @@ public: const IndustrySpec *indsp = (this->selected_type == INVALID_INDUSTRYTYPE) ? NULL : GetIndustrySpec(this->selected_type); if (indsp == NULL) this->enabled[this->selected_index] = _settings_game.difficulty.number_industries != 0; - this->SetWidgetDisabledState(DPIW_FUND_WIDGET, !this->enabled[this->selected_index]); + this->SetWidgetsDisabledState(!this->enabled[this->selected_index], DPIW_DISPLAY_WIDGET, DPIW_FUND_WIDGET, WIDGET_LIST_END); } };