1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-28 01:04:50 +01:00

password prompt for client

This commit is contained in:
zsilencer
2015-11-01 20:12:14 -07:00
committed by IntelOrca
parent 3b639ced47
commit 9acfd27735
6 changed files with 64 additions and 12 deletions

View File

@@ -25,10 +25,13 @@
#include "../util/util.h"
#include "../network/network.h"
char _password[33];
enum WINDOW_NETWORK_STATUS_WIDGET_IDX {
WIDX_BACKGROUND,
WIDX_TITLE,
WIDX_CLOSE,
WIDX_PASSWORD
};
static rct_widget window_network_status_widgets[] = {
@@ -42,6 +45,7 @@ static char window_network_status_text[1024];
static void window_network_status_mouseup(rct_window *w, int widgetIndex);
static void window_network_status_update(rct_window *w);
static void window_network_status_textinput(rct_window *w, int widgetIndex, char *text);
static void window_network_status_invalidate(rct_window *w);
static void window_network_status_paint(rct_window *w, rct_drawpixelinfo *dpi);
@@ -65,7 +69,7 @@ static rct_window_event_list window_network_status_events = {
NULL,
NULL,
NULL,
NULL,
window_network_status_textinput,
NULL,
NULL,
NULL,
@@ -112,6 +116,16 @@ void window_network_status_close()
window_close_by_class(WC_NETWORK_STATUS);
}
void window_network_status_open_password()
{
rct_window* window;
window = window_bring_to_front_by_class(WC_NETWORK_STATUS);
if (window == NULL)
return;
window_text_input_raw_open(window, WIDX_PASSWORD, STR_PASSWORD_REQUIRED, STR_PASSWORD_REQUIRED_DESC, _password, 32);
}
static void window_network_status_mouseup(rct_window *w, int widgetIndex)
{
switch (widgetIndex) {
@@ -126,6 +140,18 @@ static void window_network_status_update(rct_window *w)
widget_invalidate(w, WIDX_BACKGROUND);
}
static void window_network_status_textinput(rct_window *w, int widgetIndex, char *text)
{
strcpy(_password, "");
switch (widgetIndex) {
case WIDX_PASSWORD:
if (text != NULL)
safe_strncpy(_password, text, sizeof(_password));
break;
}
network_send_password(_password);
}
static void window_network_status_invalidate(rct_window *w)
{
window_network_status_widgets[WIDX_BACKGROUND].right = w->width - 1;