changeset 10912:338906f990f4 draft

(svn r15247) -Change: show a lock near the password/join button in the company window whenever the company is password protected
author rubidium <rubidium@openttd.org>
date Fri, 23 Jan 2009 23:56:56 +0000
parents 4e96c520e9ca
children 231362d3dcf0
files src/company_gui.cpp src/network/network_client.cpp src/network/network_server.cpp
diffstat 3 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/company_gui.cpp
+++ b/src/company_gui.cpp
@@ -1071,7 +1071,7 @@
 { 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 @@
 
 		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);
 
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -872,6 +872,7 @@
 DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_COMPANY_UPDATE)
 {
 	_network_company_passworded = p->Recv_uint16();
+	InvalidateWindowClasses(WC_COMPANY);
 
 	return NETWORK_RECV_STATUS_OKAY;
 }
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -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 @@
 	if (NetworkCompanyIsPassworded(company_id) == passworded) return;
 
 	SB(_network_company_passworded, company_id, 1, !!passworded);
+	InvalidateWindowClasses(WC_COMPANY);
 
 	NetworkClientSocket *cs;
 	FOR_ALL_CLIENT_SOCKETS(cs) {