From 3eb89f04b5b52fb7ce892ab0c341379dd3feaae7 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 10 Mar 2025 18:59:35 +0000 Subject: [PATCH] Codechange: Use EnumBitSet for QueryStringFlags. (#13792) --- src/build_vehicle_gui.cpp | 2 +- src/cheat_gui.cpp | 6 +++--- src/company_gui.cpp | 8 ++++---- src/depot_gui.cpp | 2 +- src/game/game_gui.cpp | 2 +- src/genworld_gui.cpp | 20 ++++++++++---------- src/group_gui.cpp | 2 +- src/industry_gui.cpp | 4 ++-- src/misc_gui.cpp | 6 +++--- src/network/network_gui.cpp | 14 +++++++------- src/newgrf_debug_gui.cpp | 4 ++-- src/newgrf_gui.cpp | 2 +- src/order_gui.cpp | 2 +- src/script/script_gui.cpp | 2 +- src/settings_gui.cpp | 4 ++-- src/station_gui.cpp | 2 +- src/textbuf_gui.h | 11 +++++------ src/timetable_gui.cpp | 6 +++--- src/toolbar_gui.cpp | 2 +- src/town_gui.cpp | 2 +- src/vehicle_gui.cpp | 2 +- src/waypoint_gui.cpp | 2 +- 22 files changed, 53 insertions(+), 54 deletions(-) diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index b42a459c7e..9414dc118e 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1672,7 +1672,7 @@ struct BuildVehicleWindow : Window { EngineID sel_eng = this->sel_engine; if (sel_eng != EngineID::Invalid()) { this->rename_engine = sel_eng; - ShowQueryString(GetString(STR_ENGINE_NAME, PackEngineNameDParam(sel_eng, EngineNameContext::Generic)), STR_QUERY_RENAME_TRAIN_TYPE_CAPTION + this->vehicle_type, MAX_LENGTH_ENGINE_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(GetString(STR_ENGINE_NAME, PackEngineNameDParam(sel_eng, EngineNameContext::Generic)), STR_QUERY_RENAME_TRAIN_TYPE_CAPTION + this->vehicle_type, MAX_LENGTH_ENGINE_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); } break; } diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index edb69ca880..0b56ca159b 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -450,11 +450,11 @@ struct CheatWindow : Window { if (btn == CHT_CHANGE_DATE && x >= SETTING_BUTTON_WIDTH) { /* Click at the date text directly. */ clicked_cheat = CHT_CHANGE_DATE; - ShowQueryString(GetString(STR_JUST_INT, value), STR_CHEAT_CHANGE_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); + ShowQueryString(GetString(STR_JUST_INT, value), STR_CHEAT_CHANGE_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QueryStringFlag::AcceptUnchanged); return; } else if (btn == CHT_EDIT_MAX_HL && x >= SETTING_BUTTON_WIDTH) { clicked_cheat = CHT_EDIT_MAX_HL; - ShowQueryString(GetString(STR_JUST_INT, value), STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); + ShowQueryString(GetString(STR_JUST_INT, value), STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT, 8, this, CS_NUMERAL, QueryStringFlag::AcceptUnchanged); return; } @@ -517,7 +517,7 @@ struct CheatWindow : Window { this->valuewindow_entry = sd; /* Limit string length to 14 so that MAX_INT32 * max currency rate doesn't exceed MAX_INT64. */ - ShowQueryString(GetString(STR_JUST_INT, value64), STR_CONFIG_SETTING_QUERY_CAPTION, 15, this, charset_filter, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, value64), STR_CONFIG_SETTING_QUERY_CAPTION, 15, this, charset_filter, QueryStringFlag::EnableDefault); } this->clicked_setting = sd; diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 68e765a5bf..85573b9771 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -1607,7 +1607,7 @@ public: /* 'Company manager face number' button, view and/or set company manager face number */ case WID_SCMF_FACECODE: - ShowQueryString(GetString(STR_JUST_INT, this->face), STR_FACE_FACECODE_CAPTION, 10 + 1, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, this->face), STR_FACE_FACECODE_CAPTION, 10 + 1, this, CS_NUMERAL, {}); break; /* Save button */ @@ -2422,12 +2422,12 @@ struct CompanyWindow : Window case WID_C_PRESIDENT_NAME: this->query_widget = WID_C_PRESIDENT_NAME; - ShowQueryString(GetString(STR_PRESIDENT_NAME, this->window_number), STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION, MAX_LENGTH_PRESIDENT_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(GetString(STR_PRESIDENT_NAME, this->window_number), STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION, MAX_LENGTH_PRESIDENT_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_C_COMPANY_NAME: this->query_widget = WID_C_COMPANY_NAME; - ShowQueryString(GetString(STR_COMPANY_NAME, this->window_number), STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION, MAX_LENGTH_COMPANY_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(GetString(STR_COMPANY_NAME, this->window_number), STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION, MAX_LENGTH_COMPANY_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_C_VIEW_HQ: { @@ -2471,7 +2471,7 @@ struct CompanyWindow : Window case WID_C_GIVE_MONEY: this->query_widget = WID_C_GIVE_MONEY; - ShowQueryString({}, STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION, 30, this, CS_NUMERAL, QSF_NONE); + ShowQueryString({}, STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION, 30, this, CS_NUMERAL, {}); break; case WID_C_HOSTILE_TAKEOVER: diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 86083c9581..3eadefbad9 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -797,7 +797,7 @@ struct DepotWindow : Window { case WID_D_RENAME: // Rename button ShowQueryString(GetString(STR_DEPOT_NAME, this->type, Depot::GetByTile(TileIndex(this->window_number))->index), STR_DEPOT_RENAME_DEPOT_CAPTION, - MAX_LENGTH_DEPOT_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + MAX_LENGTH_DEPOT_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_D_STOP_ALL: diff --git a/src/game/game_gui.cpp b/src/game/game_gui.cpp index b021ee1665..308d14fdc5 100644 --- a/src/game/game_gui.cpp +++ b/src/game/game_gui.cpp @@ -323,7 +323,7 @@ struct GSConfigWindow : public Window { } } else if (!bool_item && !config_item.complete_labels) { /* Display a query box so users can enter a custom value. */ - ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, INT32_DIGITS_WITH_SIGN_AND_TERMINATION, this, CS_NUMERAL_SIGNED, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, INT32_DIGITS_WITH_SIGN_AND_TERMINATION, this, CS_NUMERAL_SIGNED, {}); } this->SetDirty(); break; diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index c5f7f480eb..190119459f 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -713,7 +713,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_HEIGHTMAP_HEIGHT_TEXT: // Height level text this->widget_id = WID_GL_HEIGHTMAP_HEIGHT_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.heightmap_height), STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.heightmap_height), STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT, 4, this, CS_NUMERAL, QueryStringFlag::EnableDefault); break; @@ -731,7 +731,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_START_DATE_TEXT: // Year text this->widget_id = WID_GL_START_DATE_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QueryStringFlag::EnableDefault); break; case WID_GL_SNOW_COVERAGE_DOWN: @@ -748,7 +748,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_SNOW_COVERAGE_TEXT: // Snow coverage text this->widget_id = WID_GL_SNOW_COVERAGE_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.snow_coverage), STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.snow_coverage), STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT, 4, this, CS_NUMERAL, QueryStringFlag::EnableDefault); break; case WID_GL_DESERT_COVERAGE_DOWN: @@ -765,7 +765,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_DESERT_COVERAGE_TEXT: // Desert line text this->widget_id = WID_GL_DESERT_COVERAGE_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.desert_coverage), STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.desert_coverage), STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT, 4, this, CS_NUMERAL, QueryStringFlag::EnableDefault); break; case WID_GL_HEIGHTMAP_ROTATION_PULLDOWN: // Heightmap rotation @@ -862,7 +862,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_TOWN_PULLDOWN: if ((uint)index == CUSTOM_TOWN_NUMBER_DIFFICULTY) { this->widget_id = widget; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_town_number), STR_MAPGEN_NUMBER_OF_TOWNS, 5, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_town_number), STR_MAPGEN_NUMBER_OF_TOWNS, 5, this, CS_NUMERAL, {}); } _settings_newgame.difficulty.number_towns = index; break; @@ -877,7 +877,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_INDUSTRY_PULLDOWN: if ((uint)index == ID_CUSTOM) { this->widget_id = widget; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_industry_number), STR_MAPGEN_NUMBER_OF_INDUSTRIES, 5, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_industry_number), STR_MAPGEN_NUMBER_OF_INDUSTRIES, 5, this, CS_NUMERAL, {}); } _settings_newgame.difficulty.industry_density = index; break; @@ -885,7 +885,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_TERRAIN_PULLDOWN: { if ((uint)index == CUSTOM_TERRAIN_TYPE_NUMBER_DIFFICULTY) { this->widget_id = widget; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_terrain_type), STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_terrain_type), STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT, 4, this, CS_NUMERAL, {}); } _settings_newgame.difficulty.terrain_type = index; break; @@ -894,7 +894,7 @@ struct GenerateLandscapeWindow : public Window { case WID_GL_WATER_PULLDOWN: { if ((uint)index == CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY) { this->widget_id = widget; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_sea_level), STR_MAPGEN_SEA_LEVEL, 3, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.custom_sea_level), STR_MAPGEN_SEA_LEVEL, 3, this, CS_NUMERAL, {}); } _settings_newgame.difficulty.quantity_sea_lakes = index; break; @@ -1157,7 +1157,7 @@ struct CreateScenarioWindow : public Window case WID_CS_START_DATE_TEXT: // Year text this->widget_id = WID_CS_START_DATE_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, this, CS_NUMERAL, {}); break; case WID_CS_FLAT_LAND_HEIGHT_DOWN: @@ -1174,7 +1174,7 @@ struct CreateScenarioWindow : public Window case WID_CS_FLAT_LAND_HEIGHT_TEXT: // Height level text this->widget_id = WID_CS_FLAT_LAND_HEIGHT_TEXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.se_flat_world_height), STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT, 4, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_newgame.game_creation.se_flat_world_height), STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT, 4, this, CS_NUMERAL, {}); break; } } diff --git a/src/group_gui.cpp b/src/group_gui.cpp index f40b986aab..f13061c405 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -1091,7 +1091,7 @@ public: std::string str; if (!empty) str = GetString(STR_GROUP_NAME, group); - ShowQueryString(str, STR_GROUP_RENAME_CAPTION, MAX_LENGTH_GROUP_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(str, STR_GROUP_RENAME_CAPTION, MAX_LENGTH_GROUP_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); } /** diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 3f5d00a999..9c3b4ac7dc 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -1081,11 +1081,11 @@ public: this->editbox_line = line; switch (this->editable) { case EA_MULTIPLIER: - ShowQueryString(GetString(STR_JUST_INT, RoundDivSU(i->prod_level * 100, PRODLEVEL_DEFAULT)), STR_CONFIG_GAME_PRODUCTION_LEVEL, 10, this, CS_ALPHANUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, RoundDivSU(i->prod_level * 100, PRODLEVEL_DEFAULT)), STR_CONFIG_GAME_PRODUCTION_LEVEL, 10, this, CS_ALPHANUMERAL, {}); break; case EA_RATE: - ShowQueryString(GetString(STR_JUST_INT, i->produced[line - IL_RATE1].rate * 8), STR_CONFIG_GAME_PRODUCTION, 10, this, CS_ALPHANUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, i->produced[line - IL_RATE1].rate * 8), STR_CONFIG_GAME_PRODUCTION, 10, this, CS_ALPHANUMERAL, {}); break; default: NOT_REACHED(); diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 4e4047e8ed..3bfc1e1aec 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -906,7 +906,7 @@ struct QueryStringWindow : public Window { this->editbox.text.Assign(str); - if ((flags & QSF_ACCEPT_UNCHANGED) == 0) this->editbox.orig = this->editbox.text.GetText(); + if (!flags.Test(QueryStringFlag::AcceptUnchanged)) this->editbox.orig = this->editbox.text.GetText(); this->querystrings[WID_QS_TEXT] = &this->editbox; this->editbox.caption = caption; @@ -924,7 +924,7 @@ struct QueryStringWindow : public Window void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override { - if (widget == WID_QS_DEFAULT && (this->flags & QSF_ENABLE_DEFAULT) == 0) { + if (widget == WID_QS_DEFAULT && !this->flags.Test(QueryStringFlag::EnableDefault)) { /* We don't want this widget to show! */ fill.width = 0; resize.width = 0; @@ -1013,7 +1013,7 @@ void ShowQueryString(std::string_view str, StringID caption, uint maxsize, Windo assert(parent != nullptr); CloseWindowByClass(WC_QUERY_STRING); - new QueryStringWindow(str, caption, ((flags & QSF_LEN_IN_CHARS) ? MAX_CHAR_LENGTH : 1) * maxsize, maxsize, _query_string_desc, parent, afilter, flags); + new QueryStringWindow(str, caption, (flags.Test(QueryStringFlag::LengthIsInChars) ? MAX_CHAR_LENGTH : 1) * maxsize, maxsize, _query_string_desc, parent, afilter, flags); } /** diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index a95971db67..9983c5e6d8 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -733,7 +733,7 @@ public: _settings_client.network.connect_to_ip, STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS, NETWORK_HOSTNAME_PORT_LENGTH, // maximum number of characters including '\0' - this, CS_ALPHANUMERAL, QSF_ACCEPT_UNCHANGED); + this, CS_ALPHANUMERAL, QueryStringFlag::AcceptUnchanged); break; case WID_NG_START: // Start server @@ -1023,7 +1023,7 @@ struct NetworkStartServerWindow : public Window { case WID_NSS_SETPWD: // Set password button this->widget_id = WID_NSS_SETPWD; - ShowQueryString(_settings_client.network.server_password, STR_NETWORK_START_SERVER_SET_PASSWORD, NETWORK_PASSWORD_LENGTH, this, CS_ALPHANUMERAL, QSF_NONE); + ShowQueryString(_settings_client.network.server_password, STR_NETWORK_START_SERVER_SET_PASSWORD, NETWORK_PASSWORD_LENGTH, this, CS_ALPHANUMERAL, {}); break; case WID_NSS_CONNTYPE_BTN: // Connection type @@ -1051,12 +1051,12 @@ struct NetworkStartServerWindow : public Window { case WID_NSS_CLIENTS_TXT: // Click on number of clients this->widget_id = WID_NSS_CLIENTS_TXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_client.network.max_clients), STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS, 4, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_client.network.max_clients), STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS, 4, this, CS_NUMERAL, {}); break; case WID_NSS_COMPANIES_TXT: // Click on number of companies this->widget_id = WID_NSS_COMPANIES_TXT; - ShowQueryString(GetString(STR_JUST_INT, _settings_client.network.max_companies), STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES, 3, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, _settings_client.network.max_companies), STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES, 3, this, CS_NUMERAL, {}); break; case WID_NSS_GENERATE_GAME: // Start game @@ -1710,13 +1710,13 @@ public: if (!_network_server) break; this->query_widget = WID_CL_SERVER_NAME_EDIT; - ShowQueryString(_settings_client.network.server_name, STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION, NETWORK_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS); + ShowQueryString(_settings_client.network.server_name, STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION, NETWORK_NAME_LENGTH, this, CS_ALPHANUMERAL, QueryStringFlag::LengthIsInChars); break; case WID_CL_CLIENT_NAME_EDIT: { const NetworkClientInfo *own_ci = NetworkClientInfo::GetByClientID(_network_own_client_id); this->query_widget = WID_CL_CLIENT_NAME_EDIT; - ShowQueryString(own_ci != nullptr ? own_ci->client_name : _settings_client.network.client_name, STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION, NETWORK_CLIENT_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS); + ShowQueryString(own_ci != nullptr ? own_ci->client_name : _settings_client.network.client_name, STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION, NETWORK_CLIENT_NAME_LENGTH, this, CS_ALPHANUMERAL, QueryStringFlag::LengthIsInChars); break; } case WID_CL_SERVER_VISIBILITY: @@ -2178,7 +2178,7 @@ void ShowNetworkNeedPassword(std::shared_ptrrequest = request; - ShowQueryString({}, STR_NETWORK_NEED_GAME_PASSWORD_CAPTION, NETWORK_PASSWORD_LENGTH, w, CS_ALPHANUMERAL, QSF_NONE); + ShowQueryString({}, STR_NETWORK_NEED_GAME_PASSWORD_CAPTION, NETWORK_PASSWORD_LENGTH, w, CS_ALPHANUMERAL, {}); } /** diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 9249c8eec3..40fabd2e0c 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -600,7 +600,7 @@ struct NewGRFInspectWindow : Window { if (!HasVariableParameter(niv.var)) break; this->current_edit_param = niv.var; - ShowQueryString({}, STR_NEWGRF_INSPECT_QUERY_CAPTION, 9, this, CS_HEXADECIMAL, QSF_NONE); + ShowQueryString({}, STR_NEWGRF_INSPECT_QUERY_CAPTION, 9, this, CS_HEXADECIMAL, {}); } } } @@ -984,7 +984,7 @@ struct SpriteAlignerWindow : Window { break; case WID_SA_GOTO: - ShowQueryString({}, STR_SPRITE_ALIGNER_GOTO_CAPTION, 7, this, CS_NUMERAL, QSF_NONE); + ShowQueryString({}, STR_SPRITE_ALIGNER_GOTO_CAPTION, 7, this, CS_NUMERAL, {}); break; case WID_SA_NEXT: diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 19ed032835..45e496a940 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -413,7 +413,7 @@ struct NewGRFParametersWindow : public Window { } } else if (par_info.type == PTYPE_UINT_ENUM && !par_info.complete_labels && click_count >= 2) { /* Display a query box so users can enter a custom value. */ - ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, {}); } this->SetDirty(); break; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index b77f54fc16..1e68a0d948 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1345,7 +1345,7 @@ public: assert(order != nullptr); uint value = order->GetConditionValue(); if (order->GetConditionVariable() == OCV_MAX_SPEED) value = ConvertSpeedToDisplaySpeed(value, this->vehicle->type); - ShowQueryString(GetString(STR_JUST_INT, value), STR_ORDER_CONDITIONAL_VALUE_CAPT, 5, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, value), STR_ORDER_CONDITIONAL_VALUE_CAPT, 5, this, CS_NUMERAL, {}); break; } diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index 1b4914b90e..97c54cdc48 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -462,7 +462,7 @@ struct ScriptSettingsWindow : public Window { } } else if (!bool_item && !config_item.complete_labels) { /* Display a query box so users can enter a custom value. */ - ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, INT32_DIGITS_WITH_SIGN_AND_TERMINATION, this, CS_NUMERAL_SIGNED, QSF_NONE); + ShowQueryString(GetString(STR_JUST_INT, old_val), STR_CONFIG_SETTING_QUERY_CAPTION, INT32_DIGITS_WITH_SIGN_AND_TERMINATION, this, CS_NUMERAL_SIGNED, {}); } this->SetDirty(); break; diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index ed8726b022..2664fe25a0 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1592,7 +1592,7 @@ struct GameSettingsWindow : Window { this->valuewindow_entry = pe; /* Limit string length to 14 so that MAX_INT32 * max currency rate doesn't exceed MAX_INT64. */ - ShowQueryString(GetString(STR_JUST_INT, value64), STR_CONFIG_SETTING_QUERY_CAPTION, 15, this, charset_filter, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, value64), STR_CONFIG_SETTING_QUERY_CAPTION, 15, this, charset_filter, QueryStringFlag::EnableDefault); } this->SetDisplayedHelpText(pe); } @@ -1993,7 +1993,7 @@ struct CustomCurrencyWindow : Window { if (len != 0) { this->query_widget = line; - ShowQueryString(str, STR_CURRENCY_CHANGE_PARAMETER, len + 1, this, afilter, QSF_NONE); + ShowQueryString(str, STR_CURRENCY_CHANGE_PARAMETER, len + 1, this, afilter, {}); } this->SetTimeout(); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 7873aefefd..30a961b7e7 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -1988,7 +1988,7 @@ struct StationViewWindow : public Window { case WID_SV_RENAME: ShowQueryString(GetString(STR_STATION_NAME, this->window_number), STR_STATION_VIEW_RENAME_STATION_CAPTION, MAX_LENGTH_STATION_NAME_CHARS, - this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_SV_CLOSE_AIRPORT: diff --git a/src/textbuf_gui.h b/src/textbuf_gui.h index c28216f1b8..5b758183c7 100644 --- a/src/textbuf_gui.h +++ b/src/textbuf_gui.h @@ -15,14 +15,13 @@ #include "strings_type.h" /** Flags used in ShowQueryString() call */ -enum QueryStringFlags : uint8_t { - QSF_NONE = 0, - QSF_ACCEPT_UNCHANGED = 0x01, ///< return success even when the text didn't change - QSF_ENABLE_DEFAULT = 0x02, ///< enable the 'Default' button ("\0" is returned) - QSF_LEN_IN_CHARS = 0x04, ///< the length of the string is counted in characters +enum class QueryStringFlag : uint8_t { + AcceptUnchanged, ///< return success even when the text didn't change + EnableDefault, ///< enable the 'Default' button ("\0" is returned) + LengthIsInChars, ///< the length of the string is counted in characters }; -DECLARE_ENUM_AS_BIT_SET(QueryStringFlags) +using QueryStringFlags = EnumBitSet; /** Callback procedure for the ShowQuery method. */ typedef void QueryCallbackProc(Window*, bool); diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 7626f0aa2c..262785d8ff 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -659,7 +659,7 @@ struct TimetableWindow : Window { if (_settings_client.gui.timetable_mode == TimetableMode::Seconds) { this->query_widget = WID_VT_START_DATE; this->change_timetable_all = _ctrl_pressed; - ShowQueryString({}, STR_TIMETABLE_START_SECONDS_QUERY, 6, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); + ShowQueryString({}, STR_TIMETABLE_START_SECONDS_QUERY, 6, this, CS_NUMERAL, QueryStringFlag::AcceptUnchanged); } else { ShowSetDateWindow(this, v->index.base(), TimerGameEconomy::date, TimerGameEconomy::year, TimerGameEconomy::year + MAX_TIMETABLE_START_YEARS, ChangeTimetableStartCallback, reinterpret_cast(static_cast(_ctrl_pressed))); } @@ -685,7 +685,7 @@ struct TimetableWindow : Window { } this->change_timetable_all = _ctrl_pressed && (order != nullptr); - ShowQueryString(current, STR_TIMETABLE_CHANGE_TIME_QUERY, 31, this, CS_NUMERAL, QSF_ACCEPT_UNCHANGED); + ShowQueryString(current, STR_TIMETABLE_CHANGE_TIME_QUERY, 31, this, CS_NUMERAL, QueryStringFlag::AcceptUnchanged); break; } @@ -705,7 +705,7 @@ struct TimetableWindow : Window { } this->change_timetable_all = _ctrl_pressed && (order != nullptr); - ShowQueryString(current, STR_TIMETABLE_CHANGE_SPEED_QUERY, 31, this, CS_NUMERAL, QSF_NONE); + ShowQueryString(current, STR_TIMETABLE_CHANGE_SPEED_QUERY, 31, this, CS_NUMERAL, {}); break; } diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index 83da2abf94..9011172856 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -1198,7 +1198,7 @@ static CallBackFunction ToolbarSwitchClick(Window *w) */ static CallBackFunction ToolbarScenDatePanel(Window *w) { - ShowQueryString(GetString(STR_JUST_INT, _settings_game.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, w, CS_NUMERAL, QSF_ENABLE_DEFAULT); + ShowQueryString(GetString(STR_JUST_INT, _settings_game.game_creation.starting_year), STR_MAPGEN_START_DATE_QUERY_CAPT, 8, w, CS_NUMERAL, QueryStringFlag::EnableDefault); return CBF_NONE; } diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 1ba4fed120..944ad4b5dd 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -502,7 +502,7 @@ public: break; case WID_TV_CHANGE_NAME: // rename - ShowQueryString(GetString(STR_TOWN_NAME, this->window_number), STR_TOWN_VIEW_RENAME_TOWN_BUTTON, MAX_LENGTH_TOWN_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(GetString(STR_TOWN_NAME, this->window_number), STR_TOWN_VIEW_RENAME_TOWN_BUTTON, MAX_LENGTH_TOWN_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_TV_CATCHMENT: diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 946dbcb88d..a64548ce0b 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -3223,7 +3223,7 @@ public: switch (widget) { case WID_VV_RENAME: { // rename ShowQueryString(GetString(STR_VEHICLE_NAME, v->index), STR_QUERY_RENAME_TRAIN_CAPTION + v->type, - MAX_LENGTH_VEHICLE_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + MAX_LENGTH_VEHICLE_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; } diff --git a/src/waypoint_gui.cpp b/src/waypoint_gui.cpp index 073a88e355..c8165f64c4 100644 --- a/src/waypoint_gui.cpp +++ b/src/waypoint_gui.cpp @@ -137,7 +137,7 @@ public: break; case WID_W_RENAME: // rename - ShowQueryString(GetString(STR_WAYPOINT_NAME, this->wp->index), STR_EDIT_WAYPOINT_NAME, MAX_LENGTH_STATION_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS); + ShowQueryString(GetString(STR_WAYPOINT_NAME, this->wp->index), STR_EDIT_WAYPOINT_NAME, MAX_LENGTH_STATION_NAME_CHARS, this, CS_ALPHANUMERAL, {QueryStringFlag::EnableDefault, QueryStringFlag::LengthIsInChars}); break; case WID_W_SHOW_VEHICLES: // show list of vehicles having this waypoint in their orders