mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Add language changer to Login form
This commit is contained in:
committed by
Florian Meissner
parent
b6122ff7aa
commit
8fd6e5eb1b
@ -104,6 +104,7 @@ BEGIN
|
|||||||
288,152
|
288,152
|
||||||
PUSHBUTTON "Need an account?",IDC_URULOGIN_GAMETAPLINK,95,175,110,
|
PUSHBUTTON "Need an account?",IDC_URULOGIN_GAMETAPLINK,95,175,110,
|
||||||
14,BS_FLAT
|
14,BS_FLAT
|
||||||
|
COMBOBOX IDC_LANGUAGE,175,151,56,100,CBS_DROPDOWNLIST | WS_TABSTOP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_URULOGIN_EULA DIALOGEX 0, 0, 300, 318
|
IDD_URULOGIN_EULA DIALOGEX 0, 0, 300, 318
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#define IDC_PRODUCTSTRING 1033
|
#define IDC_PRODUCTSTRING 1033
|
||||||
#define IDC_STATUS_TEXT 1034
|
#define IDC_STATUS_TEXT 1034
|
||||||
#define IDC_HOTKEY1 1035
|
#define IDC_HOTKEY1 1035
|
||||||
|
#define IDC_LANGUAGE 1040
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
|
@ -177,6 +177,7 @@ struct LoginDialogParam {
|
|||||||
ShaDigest namePassHash;
|
ShaDigest namePassHash;
|
||||||
bool remember;
|
bool remember;
|
||||||
int focus;
|
int focus;
|
||||||
|
int language;
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool AuthenticateNetClientComm(ENetError* result, HWND parentWnd);
|
static bool AuthenticateNetClientComm(ENetError* result, HWND parentWnd);
|
||||||
@ -1033,6 +1034,7 @@ static void SaveUserPass (LoginDialogParam *pLoginParam, char *password)
|
|||||||
stream->Writebool(pLoginParam->remember);
|
stream->Writebool(pLoginParam->remember);
|
||||||
if (pLoginParam->remember)
|
if (pLoginParam->remember)
|
||||||
stream->Write(sizeof(pLoginParam->namePassHash), pLoginParam->namePassHash);
|
stream->Write(sizeof(pLoginParam->namePassHash), pLoginParam->namePassHash);
|
||||||
|
stream->WriteBE32(pLoginParam->language);
|
||||||
stream->Close();
|
stream->Close();
|
||||||
delete stream;
|
delete stream;
|
||||||
}
|
}
|
||||||
@ -1048,6 +1050,7 @@ static void LoadUserPass (LoginDialogParam *pLoginParam)
|
|||||||
char* temp;
|
char* temp;
|
||||||
pLoginParam->remember = false;
|
pLoginParam->remember = false;
|
||||||
pLoginParam->username[0] = '\0';
|
pLoginParam->username[0] = '\0';
|
||||||
|
pLoginParam->language = plLocalization::kEnglish;
|
||||||
|
|
||||||
wchar_t fileAndPath[MAX_PATH];
|
wchar_t fileAndPath[MAX_PATH];
|
||||||
PathGetInitDirectory(fileAndPath, arrsize(fileAndPath));
|
PathGetInitDirectory(fileAndPath, arrsize(fileAndPath));
|
||||||
@ -1086,6 +1089,8 @@ static void LoadUserPass (LoginDialogParam *pLoginParam)
|
|||||||
{
|
{
|
||||||
pLoginParam->focus = IDC_URULOGIN_PASSWORD;
|
pLoginParam->focus = IDC_URULOGIN_PASSWORD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pLoginParam->language = stream->ReadBE32();
|
||||||
}
|
}
|
||||||
|
|
||||||
stream->Close();
|
stream->Close();
|
||||||
@ -1174,6 +1179,13 @@ BOOL CALLBACK UruLoginDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
|||||||
StrToAnsi(windowName, productString, arrsize(windowName));
|
StrToAnsi(windowName, productString, arrsize(windowName));
|
||||||
SendMessage(GetDlgItem(hwndDlg, IDC_PRODUCTSTRING), WM_SETTEXT, 0, (LPARAM) windowName);
|
SendMessage(GetDlgItem(hwndDlg, IDC_PRODUCTSTRING), WM_SETTEXT, 0, (LPARAM) windowName);
|
||||||
|
|
||||||
|
const char* languages[] = {"English", "Fran<EFBFBD>ais", "Deutsch"};
|
||||||
|
for (int i = 0; i < arrsize(languages); i++)
|
||||||
|
{
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_LANGUAGE), CB_ADDSTRING, 0, (LPARAM)languages[i]);
|
||||||
|
}
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_LANGUAGE), CB_SETCURSEL, (WPARAM)pLoginParam->language, 0);
|
||||||
|
|
||||||
SetTimer(hwndDlg, AUTH_LOGIN_TIMER, 10, NULL);
|
SetTimer(hwndDlg, AUTH_LOGIN_TIMER, 10, NULL);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1219,6 +1231,9 @@ BOOL CALLBACK UruLoginDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
|||||||
GetDlgItemText(hwndDlg, IDC_URULOGIN_PASSWORD, password, kMaxPasswordLength);
|
GetDlgItemText(hwndDlg, IDC_URULOGIN_PASSWORD, password, kMaxPasswordLength);
|
||||||
pLoginParam->remember = (IsDlgButtonChecked(hwndDlg, IDC_URULOGIN_REMEMBERPASS) == BST_CHECKED);
|
pLoginParam->remember = (IsDlgButtonChecked(hwndDlg, IDC_URULOGIN_REMEMBERPASS) == BST_CHECKED);
|
||||||
|
|
||||||
|
pLoginParam->language = SendMessage(GetDlgItem(hwndDlg, IDC_LANGUAGE), CB_GETCURSEL, 0, 0L);
|
||||||
|
plLocalization::SetLanguage((plLocalization::Language)pLoginParam->language);
|
||||||
|
|
||||||
SaveUserPass (pLoginParam, password);
|
SaveUserPass (pLoginParam, password);
|
||||||
|
|
||||||
memset(&pLoginParam->authError, 0, sizeof(pLoginParam->authError));
|
memset(&pLoginParam->authError, 0, sizeof(pLoginParam->authError));
|
||||||
|
Reference in New Issue
Block a user