diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index a228bedb82..e7a597b9b3 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1677,6 +1677,18 @@ public: void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override { switch (widget) { + case WID_CL_SERVER_NAME: + case WID_CL_CLIENT_NAME: + if (widget == WID_CL_SERVER_NAME) { + SetDParamStr(0, _network_server ? _settings_client.network.server_name : _network_server_name); + } else { + const NetworkClientInfo *own_ci = NetworkClientInfo::GetByClientID(_network_own_client_id); + SetDParamStr(0, own_ci != nullptr ? own_ci->client_name : _settings_client.network.client_name); + } + *size = GetStringBoundingBox(STR_JUST_RAW_STRING); + size->width = std::min(size->width, static_cast(ScaleGUITrad(200))); // By default, don't open the window too wide. + break; + case WID_CL_SERVER_VISIBILITY: *size = maxdim(maxdim(GetStringBoundingBox(STR_NETWORK_SERVER_VISIBILITY_LOCAL), GetStringBoundingBox(STR_NETWORK_SERVER_VISIBILITY_PUBLIC)), GetStringBoundingBox(STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY)); size->width += padding.width;