(svn r15247) -Change: show a lock near the password/join button in the company window whenever the company is password protected

This commit is contained in:
rubidium 2009-01-23 23:56:56 +00:00
parent 53ebde7633
commit 3d21639d5b
3 changed files with 10 additions and 1 deletions

View File

@ -1071,7 +1071,7 @@ static const Widget _company_widgets[] = {
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 179, 158, 169, STR_7077_BUY_25_SHARE_IN_COMPANY, STR_7079_BUY_25_SHARE_IN_THIS_COMPANY},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 180, 359, 158, 169, STR_7078_SELL_25_SHARE_IN_COMPANY, STR_707A_SELL_25_SHARE_IN_THIS_COMPANY},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 266, 355, 138, 149, STR_COMPANY_PASSWORD, STR_COMPANY_PASSWORD_TOOLTIP},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 266, 355, 46, 57, STR_COMPANY_JOIN, STR_COMPANY_JOIN_TIP},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 266, 355, 138, 149, STR_COMPANY_JOIN, STR_COMPANY_JOIN_TIP},
{ WIDGETS_END},
};
@ -1217,6 +1217,12 @@ struct CompanyWindow : Window
this->DrawWidgets();
#ifdef ENABLE_NETWORK
if (_networking && NetworkCompanyIsPassworded(c->index)) {
DrawSprite(SPR_LOCK, PAL_NONE, this->widget[CW_WIDGET_COMPANY_JOIN].left - 10, this->widget[CW_WIDGET_COMPANY_JOIN].top + 2);
}
#endif /* ENABLE_NETWORK */
/* Company manager's face */
DrawCompanyManagerFace(c->face, c->colour, 2, 16);

View File

@ -872,6 +872,7 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_CONFIG_UPDATE)
DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_COMPANY_UPDATE)
{
_network_company_passworded = p->Recv_uint16();
InvalidateWindowClasses(WC_COMPANY);
return NETWORK_RECV_STATUS_OKAY;
}

View File

@ -28,6 +28,7 @@
#include "../company_func.h"
#include "../company_gui.h"
#include "../settings_type.h"
#include "../window_func.h"
#include "table/strings.h"
@ -1720,6 +1721,7 @@ void NetworkServerUpdateCompanyPassworded(CompanyID company_id, bool passworded)
if (NetworkCompanyIsPassworded(company_id) == passworded) return;
SB(_network_company_passworded, company_id, 1, !!passworded);
InvalidateWindowClasses(WC_COMPANY);
NetworkClientSocket *cs;
FOR_ALL_CLIENT_SOCKETS(cs) {