示例#1
0
void CVkAccMgrForm::OnApply()
{
	pass_ptrT ptszNewPass(m_edtPassword.GetText());
	bool bPassChanged = mir_tstrcmp(m_ptszOldPass, ptszNewPass) != 0;
	if (bPassChanged) {
		T2Utf szRawPasswd(ptszNewPass);
		m_proto->setString("Password", szRawPasswd);
		pass_ptrA pszPass(szRawPasswd.detach());
		m_ptszOldPass = ptszNewPass;
	}

	ptrT ptszNewLogin(m_edtLogin.GetText());
	if (bPassChanged || mir_tstrcmpi(m_ptszOldLogin, ptszNewLogin))
		m_proto->ClearAccessToken();
	m_ptszOldLogin = ptszNewLogin;
}
示例#2
0
void CVkOptionAccountForm::OnApply()
{
	if (m_cbSyncHistoryOff.GetState())
		m_proto->m_vkOptions.iSyncHistoryMetod = SyncHistoryMetod::syncOff;
	if (m_cbSyncHistoryAuto.GetState())
		m_proto->m_vkOptions.iSyncHistoryMetod = SyncHistoryMetod::syncAuto;
	if (m_cbSyncHistoryForLast1Day.GetState())
		m_proto->m_vkOptions.iSyncHistoryMetod = SyncHistoryMetod::sync1Days;
	if (m_cbSyncHistoryForLast3Day.GetState())
		m_proto->m_vkOptions.iSyncHistoryMetod = SyncHistoryMetod::sync3Days;

	if (m_cbMarkMessageOnRead.GetState())
		m_proto->m_vkOptions.iMarkMessageReadOn = MarkMsgReadOn::markOnRead;
	if (m_cbMarkMessageOnReceive.GetState())
		m_proto->m_vkOptions.iMarkMessageReadOn = MarkMsgReadOn::markOnReceive;
	if (m_cbMarkMessageOnReply.GetState())
		m_proto->m_vkOptions.iMarkMessageReadOn = MarkMsgReadOn::markOnReply;
	if (m_cbMarkMessageOnTyping.GetState())
		m_proto->m_vkOptions.iMarkMessageReadOn = MarkMsgReadOn::markOnTyping;

	m_proto->m_vkOptions.ptszVKLang = (TCHAR *)m_cbxVKLang.GetItemData(m_cbxVKLang.GetCurSel());
	if (!IsEmpty(m_proto->m_vkOptions.ptszVKLang))
		m_proto->setTString("VKLang", m_proto->m_vkOptions.ptszVKLang);
	else
		m_proto->delSetting("VKLang");
	
	ptrT ptszGroupName(m_edtGroupName.GetText());
	if (mir_tstrcmp(m_ptszOldGroup, ptszGroupName)) {
		m_proto->setGroup(ptszGroupName);
		m_ptszOldGroup = ptszGroupName;
	}

	pass_ptrT ptszNewPass(m_edtPassword.GetText());
	bool bPassChanged = mir_tstrcmp(m_ptszOldPass, ptszNewPass) != 0;
	if (bPassChanged) {
		T2Utf szRawPasswd(ptszNewPass);
		m_proto->setString("Password", szRawPasswd);
		pass_ptrA pszPass(szRawPasswd.detach());
		m_ptszOldPass = ptszNewPass;
	}

	ptrT ptszNewLogin(m_edtLogin.GetText());
	if (bPassChanged || mir_tstrcmpi(m_ptszOldLogin, ptszNewLogin))
		m_proto->ClearAccessToken();
	m_ptszOldLogin = ptszNewLogin;
	
}
示例#3
0
INT_PTR CALLBACK CVkProto::OptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	CVkProto *ppro = (CVkProto*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);

	switch (uMsg) {
	case WM_INITDIALOG:
		TranslateDialogDefault(hwndDlg);

		ppro = (CVkProto*)lParam;
		SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);

		SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)Skin_GetIconByHandle(ppro->m_hProtoIcon, true));
		SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)Skin_GetIconByHandle(ppro->m_hProtoIcon));
		{
			ptrT tszLogin(ppro->getTStringA("Login"));
			if (tszLogin != NULL)
				SetDlgItemText(hwndDlg, IDC_LOGIN, tszLogin);

			ptrT tszPassw(ppro->GetUserStoredPassword());
			if (tszPassw != NULL)
				SetDlgItemText(hwndDlg, IDC_PASSWORD, tszPassw);

			SetDlgItemText(hwndDlg, IDC_GROUPNAME, ppro->getGroup());
		}
		CheckDlgButton(hwndDlg, IDC_DELIVERY, ppro->m_bServerDelivery);
		CheckDlgButton(hwndDlg, IDC_HIDECHATS, ppro->m_bHideChats);
		CheckDlgButton(hwndDlg, IDC_AUTOCLEAN, ppro->getByte("AutoClean", 0));
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDC_URL:
			CallService(MS_UTILS_OPENURL, 1, (LPARAM)"http://www.vk.com");
			break;

		case IDC_LOGIN:
		case IDC_PASSWORD:
		case IDC_GROUPNAME:
			if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus())
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
			break;

		case IDC_DELIVERY:
		case IDC_HIDECHATS:
		case IDC_AUTOCLEAN:
			if (HIWORD(wParam) == BN_CLICKED && (HWND)lParam == GetFocus())
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
			break;
		}
		break;

	case WM_NOTIFY:
		if (((LPNMHDR)lParam)->code == PSN_APPLY) {
			TCHAR str[128];
			GetDlgItemText(hwndDlg, IDC_LOGIN, str, SIZEOF(str));
			ppro->setTString("Login", str);

			GetDlgItemText(hwndDlg, IDC_GROUPNAME, str, SIZEOF(str));
			if (_tcscmp(ppro->getGroup(), str)) {
				ppro->setGroup(str);
				ppro->setTString("ProtoGroup", str);
			}

			GetDlgItemText(hwndDlg, IDC_PASSWORD, str, SIZEOF(str));
			ptrA szRawPasswd(mir_utf8encodeT(str));
			if (szRawPasswd != NULL)
				ppro->setString("Password", szRawPasswd);

			ppro->m_bServerDelivery = IsDlgButtonChecked(hwndDlg, IDC_DELIVERY) == BST_CHECKED;
			ppro->setByte("ServerDelivery", ppro->m_bServerDelivery);

			ppro->m_bHideChats = IsDlgButtonChecked(hwndDlg, IDC_HIDECHATS) == BST_CHECKED;
			ppro->setByte("HideChats", ppro->m_bHideChats);

			ppro->setByte("AutoClean", IsDlgButtonChecked(hwndDlg, IDC_AUTOCLEAN) == BST_CHECKED);
		}
		break;

	case WM_CLOSE:
		EndDialog(hwndDlg, 0);
		break;

	case WM_DESTROY:
		Skin_ReleaseIcon((HICON)SendMessage(hwndDlg, WM_GETICON, ICON_BIG, 0));
		Skin_ReleaseIcon((HICON)SendMessage(hwndDlg, WM_GETICON, ICON_SMALL, 0));
		break;
	}

	return FALSE;
}
示例#4
0
INT_PTR CALLBACK VKAccountProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	CVkProto *ppro = (CVkProto*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);

	switch (uMsg) {
	case WM_INITDIALOG:
		TranslateDialogDefault(hwndDlg);

		ppro = (CVkProto*)lParam;
		SetWindowLongPtr( hwndDlg, GWLP_USERDATA, lParam );

		SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)Skin_GetIconByHandle(ppro->m_hProtoIcon, true));
		SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)Skin_GetIconByHandle(ppro->m_hProtoIcon));
		{
			ptrT tszLogin(ppro->getTStringA("Login"));
			if (tszLogin != NULL)
				SetDlgItemText(hwndDlg, IDC_LOGIN, tszLogin);

			ptrT tszPassw(ppro->GetUserStoredPassword());
			if (tszPassw != NULL)
				SetDlgItemText(hwndDlg, IDC_PASSWORD, tszPassw);
		}
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDC_URL:
			CallService(MS_UTILS_OPENURL, 1, (LPARAM)"http://www.vk.com");
			break;

		case IDC_LOGIN:
		case IDC_PASSWORD:
			if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus()) {
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
				break;
			}
		}
		break;

	case WM_NOTIFY:
		switch (((LPNMHDR)lParam)->code) {
		case PSN_APPLY:
			TCHAR str[128];
			GetDlgItemText(hwndDlg, IDC_LOGIN, str, SIZEOF(str));
			ppro->setTString("Login", str);
			
			GetDlgItemText(hwndDlg, IDC_PASSWORD, str, SIZEOF(str));
			ptrA szRawPasswd( mir_utf8encodeT(str));
			if (szRawPasswd != NULL)
				ppro->setString("Password", szRawPasswd);
		}
		break;

	case WM_CLOSE:
		EndDialog(hwndDlg, 0);
		break;

	case WM_DESTROY:
		Skin_ReleaseIcon((HICON)SendMessage(hwndDlg, WM_GETICON, ICON_BIG, 0));
		Skin_ReleaseIcon((HICON)SendMessage(hwndDlg, WM_GETICON, ICON_SMALL, 0));
		break;
	}

	return FALSE;
}