@@ -1587,12 +1587,13 @@ enum CompanyWindowWidgets {
CW_WIDGET_VIEW_HQ,
CW_WIDGET_BUILD_HQ,
CW_WIDGET_SELECT_RELOCATE, ///< View/hide the 'Relocate HQ' button.
CW_WIDGET_RELOCATE_HQ,
CW_WIDGET_HAS_PASSWORD, ///< Draw a lock when the company has a password
CW_WIDGET_SELECT_MULTIPLAYER, ///< Multiplayer selection panel.
CW_WIDGET_COMPANY_PASSWORD,
CW_WIDGET_COMPANY_JOIN,
};
static const NWidgetPart _nested_company_widgets[] = {
@@ -1644,16 +1645,19 @@ static const NWidgetPart _nested_company
NWidget(WWT_EMPTY, INVALID_COLOUR, CW_WIDGET_DESC_OWNERS), SetMinimalTextLines(3, 0),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_SPACER), SetMinimalSize(90, 0), SetFill(0, 1),
/* Multi player buttons. */
NWidget(NWID_SELECTION, INVALID_COLOUR, CW_WIDGET_SELECT_MULTIPLAYER),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CW_WIDGET_COMPANY_PASSWORD), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_PASSWORD, STR_COMPANY_VIEW_PASSWORD_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CW_WIDGET_COMPANY_JOIN), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_JOIN, STR_COMPANY_VIEW_JOIN_TOOLTIP),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_EMPTY, COLOUR_GREY, CW_WIDGET_HAS_PASSWORD),
@@ -1808,12 +1812,18 @@ struct CompanyWindow : Window
SetDParam(0, 25);
SetDParam(1, c2->index);
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_SHARES_OWNED_BY).width);
}
} break;
#ifdef ENABLE_NETWORK
case CW_WIDGET_HAS_PASSWORD:
*size = maxdim(*size, GetSpriteSize(SPR_LOCK));
break;
#endif /* ENABLE_NETWORK */
virtual void DrawWidget(const Rect &r, int widget) const
{
const Company *c = Company::Get((CompanyID)this->window_number);
@@ -1874,15 +1884,15 @@ struct CompanyWindow : Window
y += FONT_HEIGHT_NORMAL;
case CW_WIDGET_COMPANY_PASSWORD:
if (_networking && NetworkCompanyIsPassworded(c->index)) {
DrawSprite(SPR_LOCK, PAL_NONE, _dynlang.text_dir == TD_RTL ? r.right + 10 : r.left - 10, r.top + 2);
DrawSprite(SPR_LOCK, PAL_NONE, r.left, r.top);
Status change: