Button to copy invite code to clipboard in the server options dialog
This commit is contained in:
@@ -2367,6 +2367,7 @@ STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Invite c
|
|||||||
STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Invite code other players can use to join this server
|
STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Invite code other players can use to join this server
|
||||||
STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Connection type
|
STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Connection type
|
||||||
STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Whether and how your server can be reached by others
|
STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Whether and how your server can be reached by others
|
||||||
|
STR_NETWORK_CLIENT_LIST_SERVER_COPY_TO_CLIPBOARD :{BLACK}Copy to clipboard
|
||||||
STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Player
|
STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Player
|
||||||
STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Name
|
STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Name
|
||||||
STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Your player name
|
STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Your player name
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
#include "../rev.h"
|
#include "../rev.h"
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
#include "../strings_func.h"
|
#include "../strings_func.h"
|
||||||
#include "../video/video_driver.hpp"
|
|
||||||
#include "../window_func.h"
|
#include "../window_func.h"
|
||||||
#include "../window_type.h"
|
#include "../window_type.h"
|
||||||
#include "network.h"
|
#include "network.h"
|
||||||
@@ -194,7 +193,6 @@ bool ClientNetworkCoordinatorSocketHandler::Receive_GC_REGISTER_ACK(Packet *p)
|
|||||||
* and _settings_client.network.server_invite_code contains the one we will
|
* and _settings_client.network.server_invite_code contains the one we will
|
||||||
* attempt to re-use when registering again. */
|
* attempt to re-use when registering again. */
|
||||||
_network_server_invite_code = _settings_client.network.server_invite_code;
|
_network_server_invite_code = _settings_client.network.server_invite_code;
|
||||||
VideoDriver::GetInstance()->SetClipboardContents(_network_server_invite_code);
|
|
||||||
|
|
||||||
SetWindowDirty(WC_CLIENT_LIST, 0);
|
SetWindowDirty(WC_CLIENT_LIST, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include "../company_func.h"
|
#include "../company_func.h"
|
||||||
#include "../command_func.h"
|
#include "../command_func.h"
|
||||||
#include "../core/geometry_func.hpp"
|
#include "../core/geometry_func.hpp"
|
||||||
|
#include "../video/video_driver.hpp"
|
||||||
#include "../genworld.h"
|
#include "../genworld.h"
|
||||||
#include "../map_type.h"
|
#include "../map_type.h"
|
||||||
#include "../guitimer_func.h"
|
#include "../guitimer_func.h"
|
||||||
@@ -1319,6 +1320,10 @@ static const NWidgetPart _nested_client_list_widgets[] = {
|
|||||||
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
|
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
|
||||||
NWidget(WWT_TEXT, COLOUR_GREY, WID_CL_SERVER_INVITE_CODE), SetFill(1, 0), SetMinimalTextLines(1, 0), SetResize(1, 0), SetDataTip(STR_BLACK_RAW_STRING, STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
|
NWidget(WWT_TEXT, COLOUR_GREY, WID_CL_SERVER_INVITE_CODE), SetFill(1, 0), SetMinimalTextLines(1, 0), SetResize(1, 0), SetDataTip(STR_BLACK_RAW_STRING, STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
|
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
|
||||||
|
NWidget(NWID_SPACER), SetMinimalSize(10, 0), SetFill(1, 0), SetResize(1, 0),
|
||||||
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CL_SERVER_COPY_TO_CLIPBOARD), SetDataTip(STR_NETWORK_CLIENT_LIST_SERVER_COPY_TO_CLIPBOARD, STR_NETWORK_CLIENT_LIST_SERVER_COPY_TO_CLIPBOARD),
|
||||||
|
EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
|
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
|
||||||
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalTextLines(1, 0), SetDataTip(STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE, STR_NULL),
|
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalTextLines(1, 0), SetDataTip(STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE, STR_NULL),
|
||||||
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
|
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
|
||||||
@@ -1806,6 +1811,10 @@ public:
|
|||||||
ShowQueryString(STR_JUST_RAW_STRING, STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION, NETWORK_CLIENT_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS);
|
ShowQueryString(STR_JUST_RAW_STRING, STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION, NETWORK_CLIENT_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WID_CL_SERVER_COPY_TO_CLIPBOARD:
|
||||||
|
VideoDriver::GetInstance()->SetClipboardContents(_network_server_invite_code);
|
||||||
|
break;
|
||||||
|
|
||||||
case WID_CL_SERVER_VISIBILITY:
|
case WID_CL_SERVER_VISIBILITY:
|
||||||
if (!_network_server) break;
|
if (!_network_server) break;
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ enum ClientListWidgets {
|
|||||||
WID_CL_SERVER_NAME_EDIT, ///< Edit button for server name.
|
WID_CL_SERVER_NAME_EDIT, ///< Edit button for server name.
|
||||||
WID_CL_SERVER_VISIBILITY, ///< Server visibility.
|
WID_CL_SERVER_VISIBILITY, ///< Server visibility.
|
||||||
WID_CL_SERVER_INVITE_CODE, ///< Invite code for this server.
|
WID_CL_SERVER_INVITE_CODE, ///< Invite code for this server.
|
||||||
|
WID_CL_SERVER_COPY_TO_CLIPBOARD, ///< Copy invite code to clipboard.
|
||||||
WID_CL_SERVER_CONNECTION_TYPE, ///< The type of connection the Game Coordinator detected for this server.
|
WID_CL_SERVER_CONNECTION_TYPE, ///< The type of connection the Game Coordinator detected for this server.
|
||||||
WID_CL_CLIENT_NAME, ///< Client name.
|
WID_CL_CLIENT_NAME, ///< Client name.
|
||||||
WID_CL_CLIENT_NAME_EDIT, ///< Edit button for client name.
|
WID_CL_CLIENT_NAME_EDIT, ///< Edit button for client name.
|
||||||
|
|||||||
Reference in New Issue
Block a user