diff --git a/src/town_gui.cpp b/src/town_gui.cpp index b69074ae5d..fd1cacd7cf 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -61,7 +61,7 @@ typedef GUIList GUITownList; static constexpr NWidgetPart _nested_town_authority_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), - NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TA_CAPTION), SetStringTip(STR_LOCAL_AUTHORITY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TA_CAPTION), NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_TA_ZONE_BUTTON), SetMinimalSize(50, 0), SetStringTip(STR_LOCAL_AUTHORITY_ZONE, STR_LOCAL_AUTHORITY_ZONE_TOOLTIP), NWidget(WWT_SHADEBOX, COLOUR_BROWN), NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), @@ -242,9 +242,11 @@ public: } } - void SetStringParameters(WidgetID widget) const override + std::string GetWidgetString(WidgetID widget, StringID stringid) const override { - if (widget == WID_TA_CAPTION) SetDParam(0, this->window_number); + if (widget == WID_TA_CAPTION) return GetString(STR_LOCAL_AUTHORITY_CAPTION, this->window_number); + + return this->Window::GetWidgetString(widget, stringid); } void DrawWidget(const Rect &r, WidgetID widget) const override @@ -390,9 +392,11 @@ public: this->Window::Close(); } - void SetStringParameters(WidgetID widget) const override + std::string GetWidgetString(WidgetID widget, StringID stringid) const override { - if (widget == WID_TV_CAPTION) SetDParam(0, this->town->index); + if (widget == WID_TV_CAPTION) return GetString(STR_TOWN_VIEW_TOWN_CAPTION, this->town->index); + + return this->Window::GetWidgetString(widget, stringid); } void OnPaint() override @@ -612,7 +616,7 @@ static constexpr NWidgetPart _nested_town_game_view_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), NWidget(WWT_PUSHIMGBTN, COLOUR_BROWN, WID_TV_CHANGE_NAME), SetAspect(WidgetDimensions::ASPECT_RENAME), SetSpriteTip(SPR_RENAME, STR_TOWN_VIEW_RENAME_TOOLTIP), - NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TV_CAPTION), SetStringTip(STR_TOWN_VIEW_TOWN_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TV_CAPTION), NWidget(WWT_PUSHIMGBTN, COLOUR_BROWN, WID_TV_CENTER_VIEW), SetAspect(WidgetDimensions::ASPECT_LOCATION), SetSpriteTip(SPR_GOTO_LOCATION, STR_TOWN_VIEW_CENTER_TOOLTIP), NWidget(WWT_SHADEBOX, COLOUR_BROWN), NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), @@ -681,7 +685,7 @@ void ShowTownViewWindow(TownID town) static constexpr NWidgetPart _nested_town_directory_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), - NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TD_CAPTION), SetStringTip(STR_TOWN_DIRECTORY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_CAPTION, COLOUR_BROWN, WID_TD_CAPTION), NWidget(WWT_SHADEBOX, COLOUR_BROWN), NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), NWidget(WWT_STICKYBOX, COLOUR_BROWN), @@ -690,13 +694,13 @@ static constexpr NWidgetPart _nested_town_directory_widgets[] = { NWidget(NWID_VERTICAL), NWidget(NWID_HORIZONTAL), NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_TD_SORT_ORDER), SetStringTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), - NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_TD_SORT_CRITERIA), SetStringTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA), + NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_TD_SORT_CRITERIA), SetToolTip(STR_TOOLTIP_SORT_CRITERIA), NWidget(WWT_EDITBOX, COLOUR_BROWN, WID_TD_FILTER), SetFill(1, 0), SetResize(1, 0), SetStringTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP), EndContainer(), NWidget(WWT_PANEL, COLOUR_BROWN, WID_TD_LIST), SetToolTip(STR_TOWN_DIRECTORY_LIST_TOOLTIP), SetFill(1, 0), SetResize(1, 1), SetScrollbar(WID_TD_SCROLLBAR), EndContainer(), NWidget(WWT_PANEL, COLOUR_BROWN), - NWidget(WWT_TEXT, INVALID_COLOUR, WID_TD_WORLD_POPULATION), SetPadding(2, 0, 2, 2), SetFill(1, 0), SetResize(1, 0), SetStringTip(STR_TOWN_POPULATION), + NWidget(WWT_TEXT, INVALID_COLOUR, WID_TD_WORLD_POPULATION), SetPadding(2, 0, 2, 2), SetFill(1, 0), SetResize(1, 0), EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), @@ -811,21 +815,20 @@ public: this->townname_editbox.cancel_button = QueryString::ACTION_CLEAR; } - void SetStringParameters(WidgetID widget) const override + std::string GetWidgetString(WidgetID widget, StringID stringid) const override { switch (widget) { case WID_TD_CAPTION: - SetDParam(0, this->vscroll->GetCount()); - SetDParam(1, Town::GetNumItems()); - break; + return GetString(STR_TOWN_DIRECTORY_CAPTION, this->vscroll->GetCount(), Town::GetNumItems()); case WID_TD_WORLD_POPULATION: - SetDParam(0, GetWorldPopulation()); - break; + return GetString(STR_TOWN_POPULATION, GetWorldPopulation()); case WID_TD_SORT_CRITERIA: - SetDParam(0, TownDirectoryWindow::sorter_names[this->towns.SortType()]); - break; + return GetString(TownDirectoryWindow::sorter_names[this->towns.SortType()]); + + default: + return this->Window::GetWidgetString(widget, stringid); } }