MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / GetWidgetString

Method GetWidgetString

src/settings_gui.cpp:596–676  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

594 }
595
596 std::string GetWidgetString(WidgetID widget, StringID stringid) const override
597 {
598 switch (widget) {
599 case WID_GO_CURRENCY_DROPDOWN: {
600 const CurrencySpec &currency = _currency_specs[this->opt->locale.currency];
601 if (currency.code.empty()) return GetString(currency.name);
602 return GetString(STR_GAME_OPTIONS_CURRENCY_CODE, currency.name, currency.code);
603 }
604
605 case WID_GO_AUTOSAVE_DROPDOWN: {
606 int index = 0;
607 for (auto &minutes : _autosave_dropdown_to_minutes) {
608 index++;
609 if (_settings_client.gui.autosave_interval <= minutes) break;
610 }
611 return GetString(_autosave_dropdown[index - 1]);
612 }
613
614 case WID_GO_LANG_DROPDOWN: return _current_language->own_name;
615 case WID_GO_BASE_GRF_DROPDOWN: return GetListLabel(BaseGraphics::GetUsedSet());
616 case WID_GO_BASE_SFX_DROPDOWN: return GetListLabel(BaseSounds::GetUsedSet());
617 case WID_GO_BASE_MUSIC_DROPDOWN: return GetListLabel(BaseMusic::GetUsedSet());
618 case WID_GO_REFRESH_RATE_DROPDOWN: return GetString(STR_GAME_OPTIONS_REFRESH_RATE_ITEM, _settings_client.gui.refresh_rate);
619 case WID_GO_RESOLUTION_DROPDOWN: {
620 auto current_resolution = GetCurrentResolutionIndex();
621
622 if (current_resolution == _resolutions.size()) {
623 return GetString(STR_GAME_OPTIONS_RESOLUTION_OTHER);
624 }
625 return GetString(STR_GAME_OPTIONS_RESOLUTION_ITEM, _resolutions[current_resolution].width, _resolutions[current_resolution].height);
626 }
627
628 case WID_GO_SOCIAL_PLUGIN_TITLE:
629 case WID_GO_SOCIAL_PLUGIN_PLATFORM:
630 case WID_GO_SOCIAL_PLUGIN_STATE: {
631 const NWidgetSocialPlugins *plugin = this->GetWidget<NWidgetSocialPlugins>(WID_GO_SOCIAL_PLUGINS);
632 assert(plugin != nullptr);
633
634 return plugin->GetWidgetString(widget, stringid);
635 }
636
637 case WID_GO_RESTRICT_DROPDOWN:
638 return GetString(_game_settings_restrict_dropdown[this->filter.mode]);
639
640 case WID_GO_TYPE_DROPDOWN:
641 switch (this->filter.type) {
642 case ST_GAME: return GetString(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME);
643 case ST_COMPANY: return GetString(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME);
644 case ST_CLIENT: return GetString(STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT);
645 default: return GetString(STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL);
646 }
647 break;
648
649 case WID_GO_SURVEY_PARTICIPATE_TEXT:
650 return GetToggleString(STR_GAME_OPTIONS_PARTICIPATE_SURVEY, WID_GO_SURVEY_PARTICIPATE_BUTTON);
651
652 case WID_GO_GUI_SCALE_AUTO_TEXT:
653 return GetToggleString(STR_GAME_OPTIONS_GUI_SCALE_AUTO, WID_GO_GUI_SCALE_AUTO);

Callers

nothing calls this directly

Calls 5

GetListLabelFunction · 0.85
GetStringFunction · 0.70
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected