|
|
|
@ -1536,6 +1536,12 @@ private:
|
|
|
|
|
ShowNetworkChatQueryWindow(DESTTYPE_CLIENT, client_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void OnClickClientAuthorize([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, ClientID client_id)
|
|
|
|
|
{
|
|
|
|
|
AutoRestoreBackup<CompanyID> cur_company(_current_company, NetworkClientInfo::GetByClientID(_network_own_client_id)->client_playas);
|
|
|
|
|
Command<CMD_COMPANY_ADD_ALLOW_LIST>::Post(NetworkClientInfo::GetByClientID(client_id)->public_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Part of RebuildList() to create the information for a single company.
|
|
|
|
|
* @param company_id The company to build the list for.
|
|
|
|
@ -1558,6 +1564,7 @@ private:
|
|
|
|
|
|
|
|
|
|
if (_network_server) this->buttons[line_count].push_back(std::make_unique<ClientButton>(SPR_ADMIN, STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP, COLOUR_RED, ci->client_id, &NetworkClientListWindow::OnClickClientAdmin, _network_own_client_id == ci->client_id));
|
|
|
|
|
if (_network_own_client_id != ci->client_id) this->buttons[line_count].push_back(std::make_unique<ClientButton>(SPR_CHAT, STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP, COLOUR_ORANGE, ci->client_id, &NetworkClientListWindow::OnClickClientChat));
|
|
|
|
|
if (_network_own_client_id != ci->client_id && client_playas != COMPANY_SPECTATOR && !ci->CanJoinCompany(client_playas)) this->buttons[line_count].push_back(std::make_unique<ClientButton>(SPR_JOIN, STR_NETWORK_CLIENT_LIST_COMPANY_AUTHORIZE_TOOLTIP, COLOUR_GREEN, ci->client_id, &NetworkClientListWindow::OnClickClientAuthorize));
|
|
|
|
|
|
|
|
|
|
if (ci->client_id == _network_own_client_id) {
|
|
|
|
|
this->player_self_index = this->line_count;
|
|
|
|
|