|
|
|
@ -515,7 +515,7 @@ public:
|
|
|
|
|
this->flag_offset = this->blot_offset + ScaleGUITrad(2) + GetSpriteSize(SPR_BLOT).width;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NG_MATRIX:
|
|
|
|
@ -720,7 +720,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NG_CANCEL: // Cancel button
|
|
|
|
@ -818,13 +818,13 @@ public:
|
|
|
|
|
* @param data Information about the changed data.
|
|
|
|
|
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
|
|
|
*/
|
|
|
|
|
void OnInvalidateData(int data = 0, bool gui_scope = true) override
|
|
|
|
|
void OnInvalidateData([[maybe_unused]] int data = 0, [[maybe_unused]] bool gui_scope = true) override
|
|
|
|
|
{
|
|
|
|
|
this->servers.ForceRebuild();
|
|
|
|
|
this->SetDirty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EventState OnKeyPress(char32_t key, uint16_t keycode) override
|
|
|
|
|
EventState OnKeyPress([[maybe_unused]] char32_t key, uint16_t keycode) override
|
|
|
|
|
{
|
|
|
|
|
EventState state = ES_NOT_HANDLED;
|
|
|
|
|
|
|
|
|
@ -888,7 +888,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Refresh the online servers on a regular interval. */
|
|
|
|
|
IntervalTimer<TimerWindow> refresh_interval = {std::chrono::seconds(30), [this](uint count) {
|
|
|
|
|
IntervalTimer<TimerWindow> refresh_interval = {std::chrono::seconds(30), [this](uint) {
|
|
|
|
|
if (!this->searched_internet) return;
|
|
|
|
|
|
|
|
|
|
_network_coordinator_client.GetListing();
|
|
|
|
@ -1058,7 +1058,7 @@ struct NetworkStartServerWindow : public Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NSS_CONNTYPE_BTN:
|
|
|
|
@ -1078,7 +1078,7 @@ struct NetworkStartServerWindow : public Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NSS_CANCEL: // Cancel button
|
|
|
|
@ -1369,30 +1369,27 @@ enum DropDownAdmin {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Callback function for admin command to kick client.
|
|
|
|
|
* @param w The window which initiated the confirmation dialog.
|
|
|
|
|
* @param confirmed Iff the user pressed Yes.
|
|
|
|
|
*/
|
|
|
|
|
static void AdminClientKickCallback(Window *w, bool confirmed)
|
|
|
|
|
static void AdminClientKickCallback(Window *, bool confirmed)
|
|
|
|
|
{
|
|
|
|
|
if (confirmed) NetworkServerKickClient(_admin_client_id, {});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Callback function for admin command to ban client.
|
|
|
|
|
* @param w The window which initiated the confirmation dialog.
|
|
|
|
|
* @param confirmed Iff the user pressed Yes.
|
|
|
|
|
*/
|
|
|
|
|
static void AdminClientBanCallback(Window *w, bool confirmed)
|
|
|
|
|
static void AdminClientBanCallback(Window *, bool confirmed)
|
|
|
|
|
{
|
|
|
|
|
if (confirmed) NetworkServerKickOrBanIP(_admin_client_id, true, {});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Callback function for admin command to reset company.
|
|
|
|
|
* @param w The window which initiated the confirmation dialog.
|
|
|
|
|
* @param confirmed Iff the user pressed Yes.
|
|
|
|
|
*/
|
|
|
|
|
static void AdminCompanyResetCallback(Window *w, bool confirmed)
|
|
|
|
|
static void AdminCompanyResetCallback(Window *, bool confirmed)
|
|
|
|
|
{
|
|
|
|
|
if (confirmed) {
|
|
|
|
|
if (NetworkCompanyHasClients(_admin_company_id)) return;
|
|
|
|
@ -1402,10 +1399,9 @@ static void AdminCompanyResetCallback(Window *w, bool confirmed)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Callback function for admin command to unlock company.
|
|
|
|
|
* @param w The window which initiated the confirmation dialog.
|
|
|
|
|
* @param confirmed Iff the user pressed Yes.
|
|
|
|
|
*/
|
|
|
|
|
static void AdminCompanyUnlockCallback(Window *w, bool confirmed)
|
|
|
|
|
static void AdminCompanyUnlockCallback(Window *, bool confirmed)
|
|
|
|
|
{
|
|
|
|
|
if (confirmed) NetworkServerSetCompanyPassword(_admin_company_id, "", false);
|
|
|
|
|
}
|
|
|
|
@ -1500,7 +1496,7 @@ private:
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param company_id The company this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickCompanyChat(NetworkClientListWindow *w, Point pt, CompanyID company_id)
|
|
|
|
|
static void OnClickCompanyChat([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID company_id)
|
|
|
|
|
{
|
|
|
|
|
ShowNetworkChatQueryWindow(DESTTYPE_TEAM, company_id);
|
|
|
|
|
}
|
|
|
|
@ -1511,7 +1507,7 @@ private:
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param company_id The company this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickCompanyJoin(NetworkClientListWindow *w, Point pt, CompanyID company_id)
|
|
|
|
|
static void OnClickCompanyJoin([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID company_id)
|
|
|
|
|
{
|
|
|
|
|
if (_network_server) {
|
|
|
|
|
NetworkServerDoMove(CLIENT_ID_SERVER, company_id);
|
|
|
|
@ -1529,9 +1525,8 @@ private:
|
|
|
|
|
* Crete new company button is clicked.
|
|
|
|
|
* @param w The instance of this window.
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param company_id The company this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickCompanyNew(NetworkClientListWindow *w, Point pt, CompanyID company_id)
|
|
|
|
|
static void OnClickCompanyNew([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID)
|
|
|
|
|
{
|
|
|
|
|
if (_network_server) {
|
|
|
|
|
Command<CMD_COMPANY_CTRL>::Post(CCA_NEW, INVALID_COMPANY, CRR_NONE, _network_own_client_id);
|
|
|
|
@ -1546,7 +1541,7 @@ private:
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param client_id The client this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickClientAdmin(NetworkClientListWindow *w, Point pt, ClientID client_id)
|
|
|
|
|
static void OnClickClientAdmin([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, ClientID client_id)
|
|
|
|
|
{
|
|
|
|
|
DropDownList list;
|
|
|
|
|
list.emplace_back(new DropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK, DD_CLIENT_ADMIN_KICK, false));
|
|
|
|
@ -1568,7 +1563,7 @@ private:
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param company_id The company this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickCompanyAdmin(NetworkClientListWindow *w, Point pt, CompanyID company_id)
|
|
|
|
|
static void OnClickCompanyAdmin([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID company_id)
|
|
|
|
|
{
|
|
|
|
|
DropDownList list;
|
|
|
|
|
list.emplace_back(new DropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET, DD_COMPANY_ADMIN_RESET, NetworkCompanyHasClients(company_id)));
|
|
|
|
@ -1589,7 +1584,7 @@ private:
|
|
|
|
|
* @param pt The point where this button was clicked.
|
|
|
|
|
* @param client_id The client this button was assigned to.
|
|
|
|
|
*/
|
|
|
|
|
static void OnClickClientChat(NetworkClientListWindow *w, Point pt, ClientID client_id)
|
|
|
|
|
static void OnClickClientChat([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, ClientID client_id)
|
|
|
|
|
{
|
|
|
|
|
ShowNetworkChatQueryWindow(DESTTYPE_CLIENT, client_id);
|
|
|
|
|
}
|
|
|
|
@ -1717,7 +1712,7 @@ public:
|
|
|
|
|
RebuildList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnInvalidateData(int data = 0, bool gui_scope = true) override
|
|
|
|
|
void OnInvalidateData([[maybe_unused]] int data = 0, [[maybe_unused]] bool gui_scope = true) override
|
|
|
|
|
{
|
|
|
|
|
this->RebuildList();
|
|
|
|
|
|
|
|
|
@ -1726,7 +1721,7 @@ public:
|
|
|
|
|
this->SetWidgetDisabledState(WID_CL_SERVER_NAME_EDIT, !_network_server);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_CL_SERVER_VISIBILITY:
|
|
|
|
@ -1789,7 +1784,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_CL_SERVER_NAME_EDIT:
|
|
|
|
@ -1823,7 +1818,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
|
|
|
|
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_CL_MATRIX: {
|
|
|
|
@ -2116,7 +2111,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnMouseOver(Point pt, int widget) override
|
|
|
|
|
void OnMouseOver([[maybe_unused]] Point pt, int widget) override
|
|
|
|
|
{
|
|
|
|
|
if (widget != WID_CL_MATRIX) {
|
|
|
|
|
if (this->hover_index != -1) {
|
|
|
|
@ -2203,7 +2198,7 @@ struct NetworkJoinStatusWindow : Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NJS_PROGRESS_BAR:
|
|
|
|
@ -2229,7 +2224,7 @@ struct NetworkJoinStatusWindow : Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
if (widget == WID_NJS_CANCELOK) { // Disconnect button
|
|
|
|
|
NetworkDisconnect();
|
|
|
|
@ -2318,7 +2313,7 @@ struct NetworkCompanyPasswordWindow : public Window {
|
|
|
|
|
this->ReInit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
if (widget == WID_NCP_WARNING) {
|
|
|
|
|
*size = this->warning_size;
|
|
|
|
@ -2342,7 +2337,7 @@ struct NetworkCompanyPasswordWindow : public Window {
|
|
|
|
|
NetworkChangeCompanyPassword(_local_company, this->password_editbox.text.buf);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NCP_OK:
|
|
|
|
@ -2418,7 +2413,7 @@ struct NetworkAskRelayWindow : public Window {
|
|
|
|
|
this->InitNested(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
if (widget == WID_NAR_TEXT) {
|
|
|
|
|
*size = GetStringBoundingBox(STR_NETWORK_ASK_RELAY_TEXT);
|
|
|
|
@ -2434,7 +2429,7 @@ struct NetworkAskRelayWindow : public Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FindWindowPlacementAndResize(int def_width, int def_height) override
|
|
|
|
|
void FindWindowPlacementAndResize([[maybe_unused]] int def_width, [[maybe_unused]] int def_height) override
|
|
|
|
|
{
|
|
|
|
|
/* Position query window over the calling window, ensuring it's within screen bounds. */
|
|
|
|
|
this->left = Clamp(parent->left + (parent->width / 2) - (this->width / 2), 0, _screen.width - this->width);
|
|
|
|
@ -2452,7 +2447,7 @@ struct NetworkAskRelayWindow : public Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NAR_NO:
|
|
|
|
@ -2521,7 +2516,7 @@ struct NetworkAskSurveyWindow : public Window {
|
|
|
|
|
this->InitNested(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
{
|
|
|
|
|
if (widget == WID_NAS_TEXT) {
|
|
|
|
|
*size = GetStringBoundingBox(STR_NETWORK_ASK_SURVEY_TEXT);
|
|
|
|
@ -2537,7 +2532,7 @@ struct NetworkAskSurveyWindow : public Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FindWindowPlacementAndResize(int def_width, int def_height) override
|
|
|
|
|
void FindWindowPlacementAndResize([[maybe_unused]] int def_width, [[maybe_unused]] int def_height) override
|
|
|
|
|
{
|
|
|
|
|
/* Position query window over the calling window, ensuring it's within screen bounds. */
|
|
|
|
|
this->left = Clamp(parent->left + (parent->width / 2) - (this->width / 2), 0, _screen.width - this->width);
|
|
|
|
@ -2545,7 +2540,7 @@ struct NetworkAskSurveyWindow : public Window {
|
|
|
|
|
this->SetDirty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
|
|
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_NAS_PREVIEW:
|
|
|
|
|