From db55f5b6eb4911fc1062917d7e95b6aaae165fdf Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 27 Nov 2018 21:10:30 +0300 Subject: fixes #1614 (MRA protocol deprecated due its death) --- protocols/MRA/src/MraAdvancedSearch.cpp | 313 -------------------------------- 1 file changed, 313 deletions(-) delete mode 100644 protocols/MRA/src/MraAdvancedSearch.cpp (limited to 'protocols/MRA/src/MraAdvancedSearch.cpp') diff --git a/protocols/MRA/src/MraAdvancedSearch.cpp b/protocols/MRA/src/MraAdvancedSearch.cpp deleted file mode 100644 index 7377f97d1b..0000000000 --- a/protocols/MRA/src/MraAdvancedSearch.cpp +++ /dev/null @@ -1,313 +0,0 @@ -#include "stdafx.h" -#include "proto.h" -#include "MraPlaces.h" - - - -struct FieldNames -{ - BYTE dwCode; - LPWSTR lpszText; -}; - -static const FieldNames GenderField[] = -{ - { 1, LPGENW("Male") }, - { 2, LPGENW("Female") }, - { 0, nullptr } -}; - -static const FieldNames MonthField[] = -{ - { 1, LPGENW("January") }, - { 2, LPGENW("February") }, - { 3, LPGENW("March") }, - { 4, LPGENW("April") }, - { 5, LPGENW("May") }, - { 6, LPGENW("June") }, - { 7, LPGENW("July") }, - { 8, LPGENW("August") }, - { 9, LPGENW("September") }, - { 10, LPGENW("October") }, - { 11, LPGENW("November") }, - { 12, LPGENW("December") }, - { 0, nullptr } -}; - -static const FieldNames ZodiakField[] = -{ - { 1, LPGENW("Aries") }, - { 2, LPGENW("Taurus") }, - { 3, LPGENW("Gemini") }, - { 4, LPGENW("Cancer") }, - { 5, LPGENW("Leo") }, - { 6, LPGENW("Virgo") }, - { 7, LPGENW("Libra") }, - { 8, LPGENW("Scorpio") }, - { 9, LPGENW("Sagittarius") }, - { 10, LPGENW("Capricorn") }, - { 11, LPGENW("Aquarius") }, - { 12, LPGENW("Pisces") }, - { 0, nullptr } -}; - -void ResetComboBox(HWND hWndCombo) -{ - SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0); - DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)L""); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, 0); - SendMessage(hWndCombo, CB_SETCURSEL, dwItem, 0); -} - - -void InitComboBox(HWND hWndCombo, FieldNames *lpNames) -{ - ResetComboBox(hWndCombo); - - for (size_t i = 0; lpNames[i].lpszText; i++) { - DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)TranslateW(lpNames[i].lpszText)); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, lpNames[i].dwCode); - } -} - - -void InitComboBoxNumders(HWND hWndCombo, DWORD dwStart, DWORD dwEnd) -{ - ResetComboBox(hWndCombo); - - for (DWORD i = dwStart; i <= dwEnd; i++) { - wchar_t szBuff[MAX_PATH]; - mir_snwprintf(szBuff, L"%lu", i); - DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)szBuff); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, i); - } -} - - -INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam, LPARAM lParam) -{ - CMraProto *ppro = (CMraProto*)GetWindowLongPtr(hWndDlg, GWLP_USERDATA); - - switch (message) { - case WM_INITDIALOG: - SetWindowLongPtr(hWndDlg, GWLP_USERDATA, lParam); - { - DWORD dwItem; - WCHAR wszBuff[MAX_PATH]; - SYSTEMTIME stTime; - GetLocalTime(&stTime); - - ppro = (CMraProto*)lParam; - - HWND hWndCombo = GetDlgItem(hWndDlg, IDC_EMAIL_DOMAIN); - ResetComboBox(hWndCombo); - for (size_t i = 0; lpcszMailRuDomains[i]; i++) { - MultiByteToWideChar(MRA_CODE_PAGE, 0, lpcszMailRuDomains[i], -1, wszBuff, _countof(wszBuff)); - SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)wszBuff); - } - - InitComboBox(GetDlgItem(hWndDlg, IDC_GENDER), (FieldNames*)GenderField); - InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_FROM), 1, 100); - InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), 1, 100); - InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_BIRTHDAY_DAY), 1, 31); - InitComboBox(GetDlgItem(hWndDlg, IDC_BIRTHDAY_MONTH), (FieldNames*)MonthField); - InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_BIRTHDAY_YEAR), 1900, (DWORD)stTime.wYear); - InitComboBox(GetDlgItem(hWndDlg, IDC_ZODIAK), (FieldNames*)ZodiakField); - - hWndCombo = GetDlgItem(hWndDlg, IDC_COUNTRY); - ResetComboBox(hWndCombo); - for (size_t i = 0; mrapPlaces[i].lpszData; i++) { - if (mrapPlaces[i].dwCityID == 0 && mrapPlaces[i].dwPlaceID == 0) { - dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwCountryID); - } - } - - ResetComboBox(GetDlgItem(hWndDlg, IDC_CITY)); - - if (ppro->getByte("AdvancedSearchRemember", MRA_DEFAULT_SEARCH_REMEMBER)) { - SendDlgItemMessage(hWndDlg, IDC_GENDER, CB_SETCURSEL, ppro->getWord("AdvancedSearchGender", 0), 0); - SendDlgItemMessage(hWndDlg, IDC_AGERANGE_FROM, CB_SETCURSEL, ppro->getWord("AdvancedSearchAgeFrom", 0), 0); - SendDlgItemMessage(hWndDlg, IDC_AGERANGE_TO, CB_SETCURSEL, ppro->getWord("AdvancedSearchAgeTo", 0), 0); - SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_MONTH, CB_SETCURSEL, ppro->getWord("AdvancedSearchBirthDayMonth", 0), 0); - SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_DAY, CB_SETCURSEL, ppro->getWord("AdvancedSearchBirthDayDay", 0), 0); - - SendDlgItemMessage(hWndDlg, IDC_ZODIAK, CB_SETCURSEL, ppro->getWord("AdvancedSearchZodiakID", 0), 0); - - - SendDlgItemMessage(hWndDlg, IDC_COUNTRY, CB_SETCURSEL, ppro->getWord("AdvancedSearchCountryID", 0), 0); - SendMessageW(hWndDlg, WM_COMMAND, (WPARAM)MAKELONG(IDC_COUNTRY, CBN_SELCHANGE), (LPARAM)GetDlgItem(hWndDlg, IDC_COUNTRY)); - - SendDlgItemMessage(hWndDlg, IDC_STATE, CB_SETCURSEL, ppro->getWord("AdvancedSearchStateID", 0), 0); - SendMessage(hWndDlg, WM_COMMAND, (WPARAM)MAKELONG(IDC_STATE, CBN_SELCHANGE), (LPARAM)GetDlgItem(hWndDlg, IDC_STATE)); - - SendDlgItemMessage(hWndDlg, IDC_CITY, CB_SETCURSEL, ppro->getWord("AdvancedSearchCityID", 0), 0); - - - CheckDlgButton(hWndDlg, IDC_ONLINEONLY, ppro->getByte("AdvancedSearchOnlineOnly", FALSE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hWndDlg, IDC_CHK_REMEMBER, BST_CHECKED); - } - TranslateDialogDefault(hWndDlg); - } - return TRUE; - - case WM_DESTROY: - ppro->setWord("AdvancedSearchGender", SendDlgItemMessage(hWndDlg, IDC_GENDER, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchAgeFrom", SendDlgItemMessage(hWndDlg, IDC_AGERANGE_FROM, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchAgeTo", SendDlgItemMessage(hWndDlg, IDC_AGERANGE_TO, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchBirthDayMonth", SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_MONTH, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchBirthDayDay", SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_DAY, CB_GETCURSEL, 0, 0)); - - ppro->setWord("AdvancedSearchZodiakID", SendDlgItemMessage(hWndDlg, IDC_ZODIAK, CB_GETCURSEL, 0, 0)); - - ppro->setWord("AdvancedSearchCityID", SendDlgItemMessage(hWndDlg, IDC_CITY, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchStateID", SendDlgItemMessage(hWndDlg, IDC_STATE, CB_GETCURSEL, 0, 0)); - ppro->setWord("AdvancedSearchCountryID", SendDlgItemMessage(hWndDlg, IDC_COUNTRY, CB_GETCURSEL, 0, 0)); - - ppro->setByte("AdvancedSearchOnlineOnly", IsDlgButtonChecked(hWndDlg, IDC_ONLINEONLY)); - ppro->setByte("AdvancedSearchRemember", IsDlgButtonChecked(hWndDlg, IDC_CHK_REMEMBER)); - break; - - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDC_AGERANGE_FROM: - case IDC_AGERANGE_TO: - if (HIWORD(wParam) == CBN_SELCHANGE) { - if (LOWORD(wParam) == IDC_AGERANGE_FROM) { - DWORD dwAgeFrom = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_FROM); - DWORD dwAgeTo = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_TO); - if (dwAgeFrom == 0) dwAgeFrom++; - InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), dwAgeFrom, 100); - SendDlgItemMessage(hWndDlg, IDC_AGERANGE_TO, CB_SETCURSEL, ((dwAgeTo - dwAgeFrom) + 1), 0); - } - SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_YEAR, CB_SETCURSEL, 0, 0); - } - break; - - case IDC_BIRTHDAY_DAY: - case IDC_BIRTHDAY_MONTH: - case IDC_BIRTHDAY_YEAR: - if (HIWORD(wParam) == CBN_SELCHANGE) { - SYSTEMTIME stTime = { 0 }; - - stTime.wYear = (WORD)GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_YEAR); - stTime.wMonth = (WORD)GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_MONTH); - stTime.wDay = (WORD)GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_DAY); - - DWORD dwAge = GetYears(&stTime); - SendDlgItemMessage(hWndDlg, IDC_AGERANGE_FROM, CB_SETCURSEL, dwAge, 0); - SendDlgItemMessage(hWndDlg, IDC_AGERANGE_TO, CB_SETCURSEL, dwAge, 0); - SendDlgItemMessage(hWndDlg, IDC_ZODIAK, CB_SETCURSEL, 0, 0); - } - break; - - case IDC_ZODIAK: - if (HIWORD(wParam) == CBN_SELCHANGE) { - SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_DAY, CB_SETCURSEL, 0, 0); - SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_MONTH, CB_SETCURSEL, 0, 0); - //SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_YEAR, CB_SETCURSEL, 0, 0); - } - break; - - case IDC_COUNTRY: - if (HIWORD(wParam) == CBN_SELCHANGE) { - DWORD dwCountryID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COUNTRY); - HWND hWndCombo = GetDlgItem(hWndDlg, IDC_STATE); - SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0); - ResetComboBox(GetDlgItem(hWndDlg, IDC_CITY)); - DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)L""); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, 0); - SendMessage(hWndCombo, CB_SETCURSEL, dwItem, 0); - - for (size_t i = 0; mrapPlaces[i].lpszData; i++) { - if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID && mrapPlaces[i].dwPlaceID == 0) { - dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwCityID); - } - } - } - break; - - case IDC_STATE: - if (HIWORD(wParam) == CBN_SELCHANGE) { - DWORD dwCountryID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COUNTRY); - DWORD dwStateID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_STATE); - HWND hWndCombo = GetDlgItem(hWndDlg, IDC_CITY); - SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0); - DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)L""); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, 0); - SendMessage(hWndCombo, CB_SETCURSEL, dwItem, 0); - - for (size_t i = 0; mrapPlaces[i].lpszData; i++) { - if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID == dwStateID && mrapPlaces[i].dwPlaceID) { - dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); - SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwPlaceID); - } - } - } - } - } - return FALSE; -} - -HWND CMraProto::SearchAdvanced(HWND hWndDlg) -{ - DWORD dwRequestFlags = 0; - char szUser[MAX_PATH], szDomain[MAX_PATH]; - wchar_t wszNickName[MAX_PATH], wszFirstName[MAX_PATH], wszLastName[MAX_PATH]; - - size_t dwUserSize = GetDlgItemTextA(hWndDlg, IDC_EMAIL_USER, szUser, _countof(szUser)); - size_t dwDomainSize = GetDlgItemTextA(hWndDlg, IDC_EMAIL_DOMAIN, szDomain, _countof(szDomain)); - if (dwUserSize && dwDomainSize) { - SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_USER); - SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_DOMAIN); - } - - size_t dwNickNameSize = GetDlgItemText(hWndDlg, IDC_NICK, wszNickName, _countof(wszNickName)); - if (dwNickNameSize) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_NICKNAME); - - size_t dwFirstNameSize = GetDlgItemText(hWndDlg, IDC_FIRSTNAME, wszFirstName, _countof(wszFirstName)); - if (dwFirstNameSize) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_FIRSTNAME); - - size_t dwLastNameSize = GetDlgItemText(hWndDlg, IDC_LASTNAME, wszLastName, _countof(wszLastName)); - if (dwLastNameSize) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_LASTNAME); - - DWORD dwSex = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_GENDER); - if (dwSex) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_SEX); - - DWORD dwDate1 = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_FROM); - if (dwDate1) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_DATE1); - - DWORD dwDate2 = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_TO); - if (dwDate2) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_DATE2); - - DWORD dwCityID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_CITY); - if (dwCityID == 0) dwCityID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_STATE); - if (dwCityID) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_CITY_ID); - - DWORD dwZodiak = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_ZODIAK); - if (dwZodiak) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_ZODIAC); - - DWORD dwBirthdayMonth = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_MONTH); - if (dwBirthdayMonth) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_MONTH); - - DWORD dwBirthdayDay = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_DAY); - if (dwBirthdayMonth) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_DAY); - - DWORD dwCountryID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COUNTRY); - if (dwCountryID) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_COUNTRY_ID); - - - DWORD dwOnline = IsDlgButtonChecked(hWndDlg, IDC_ONLINEONLY); - if (dwOnline) SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_ONLINE); - - return (HWND)MraWPRequestW(NULL, ACKTYPE_SEARCH, dwRequestFlags, szUser, szDomain, wszNickName, wszFirstName, wszLastName, dwSex, dwDate1, dwDate2, dwCityID, dwZodiak, dwBirthdayMonth, dwBirthdayDay, dwCountryID, dwOnline); -} - -HWND CMraProto::CreateExtendedSearchUI(HWND owner) -{ - if (g_plugin.getInst() && owner) - return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_MRAADVANCEDSEARCH), owner, AdvancedSearchDlgProc, (LPARAM)this); - - return nullptr; -} -- cgit v1.2.3