diff options
Diffstat (limited to 'protocols/JabberG')
-rw-r--r-- | protocols/JabberG/src/jabber.cpp | 3 | ||||
-rw-r--r-- | protocols/JabberG/src/jabber_ft.cpp | 4 | ||||
-rw-r--r-- | protocols/JabberG/src/jabber_iq_handlers.cpp | 4 | ||||
-rw-r--r-- | protocols/JabberG/src/jabber_search.cpp | 334 |
4 files changed, 180 insertions, 165 deletions
diff --git a/protocols/JabberG/src/jabber.cpp b/protocols/JabberG/src/jabber.cpp index 92b8c8872f..97d203b105 100644 --- a/protocols/JabberG/src/jabber.cpp +++ b/protocols/JabberG/src/jabber.cpp @@ -206,7 +206,8 @@ extern "C" int __declspec(dllexport) Load() hDiscoInfoResult = CreateHookableEvent(ME_JABBER_SRVDISCOINFO);
// Register protocol module
- PROTOCOLDESCRIPTOR pd = { sizeof(pd) };
+ PROTOCOLDESCRIPTOR pd = { 0 };
+ pd.cbSize = sizeof(pd);
pd.szName = "JABBER";
pd.fnInit = (pfnInitProto)jabberProtoInit;
pd.fnUninit = (pfnUninitProto)jabberProtoUninit;
diff --git a/protocols/JabberG/src/jabber_ft.cpp b/protocols/JabberG/src/jabber_ft.cpp index 34688fc5eb..9b19832a8c 100644 --- a/protocols/JabberG/src/jabber_ft.cpp +++ b/protocols/JabberG/src/jabber_ft.cpp @@ -364,10 +364,10 @@ void CJabberProto::FtHandleSiRequest(HXML iqNode) pre.dwFlags = PRFF_TCHAR;
pre.fileCount = 1;
pre.timestamp = time(NULL);
- pre.ptszFiles = (TCHAR**)&filename;
+ pre.files.t = (TCHAR**)&filename;
pre.lParam = (LPARAM)ft;
if ((n = xmlGetChild(fileNode , "desc")) != NULL)
- pre.tszDescription = (TCHAR*)xmlGetText(n);
+ pre.descr.t = (TCHAR*)xmlGetText(n);
ProtoChainRecvFile(ft->std.hContact, &pre);
return;
diff --git a/protocols/JabberG/src/jabber_iq_handlers.cpp b/protocols/JabberG/src/jabber_iq_handlers.cpp index 9e6c191168..131a3b0ced 100644 --- a/protocols/JabberG/src/jabber_iq_handlers.cpp +++ b/protocols/JabberG/src/jabber_iq_handlers.cpp @@ -675,8 +675,8 @@ BOOL CJabberProto::OnIqRequestOOB(HXML, CJabberIqInfo *pInfo) PROTORECVFILET pre;
pre.dwFlags = PRFF_TCHAR;
pre.timestamp = time(NULL);
- pre.tszDescription = desc;
- pre.ptszFiles = &str2;
+ pre.descr.t = desc;
+ pre.files.t = &str2;
pre.fileCount = 1;
pre.lParam = (LPARAM)ft;
ProtoChainRecvFile(ft->std.hContact, &pre);
diff --git a/protocols/JabberG/src/jabber_search.cpp b/protocols/JabberG/src/jabber_search.cpp index 8cca0b3109..06cd7a8fa2 100644 --- a/protocols/JabberG/src/jabber_search.cpp +++ b/protocols/JabberG/src/jabber_search.cpp @@ -37,49 +37,49 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static int JabberSearchFrameProc(HWND hwnd, int msg, WPARAM wParam, LPARAM lParam) { if (msg == WM_COMMAND && lParam != 0) { - HWND hwndDlg=GetParent(hwnd); - JabberSearchData * dat=(JabberSearchData *)GetWindowLongPtr(hwndDlg,GWLP_USERDATA); + HWND hwndDlg = GetParent(hwnd); + JabberSearchData *dat = (JabberSearchData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); if (dat && lParam) { - int pos=dat->curPos; + int pos = dat->curPos; RECT MineRect; RECT FrameRect; - GetWindowRect(GetDlgItem(hwndDlg, IDC_FRAME),&FrameRect); + GetWindowRect(GetDlgItem(hwndDlg, IDC_FRAME), &FrameRect); GetWindowRect((HWND)lParam, &MineRect); - if (MineRect.top-10 < FrameRect.top) { - pos=dat->curPos+(MineRect.top-14-FrameRect.top); - if (pos<0) pos=0; + if (MineRect.top - 10 < FrameRect.top) { + pos = dat->curPos + (MineRect.top - 14 - FrameRect.top); + if (pos < 0) pos = 0; } else if (MineRect.bottom > FrameRect.bottom) { - pos=dat->curPos+(MineRect.bottom-FrameRect.bottom); - if (dat->frameHeight+pos>dat->CurrentHeight) - pos=dat->CurrentHeight-dat->frameHeight; + pos = dat->curPos + (MineRect.bottom - FrameRect.bottom); + if (dat->frameHeight + pos > dat->CurrentHeight) + pos = dat->CurrentHeight - dat->frameHeight; } if (pos != dat->curPos) { - ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - pos, NULL, &(dat->frameRect)); + ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - pos, NULL, &(dat->frameRect)); SetScrollPos(GetDlgItem(hwndDlg, IDC_VSCROLL), SB_CTL, pos, TRUE); - RECT Invalid=dat->frameRect; - if (dat->curPos - pos >0) - Invalid.bottom=Invalid.top+(dat->curPos - pos); + RECT Invalid = dat->frameRect; + if (dat->curPos - pos > 0) + Invalid.bottom = Invalid.top + (dat->curPos - pos); else - Invalid.top=Invalid.bottom+(dat->curPos - pos); + Invalid.top = Invalid.bottom + (dat->curPos - pos); - RedrawWindow(GetDlgItem(hwndDlg, IDC_FRAME), NULL, NULL, RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW |RDW_ALLCHILDREN); + RedrawWindow(GetDlgItem(hwndDlg, IDC_FRAME), NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ALLCHILDREN); dat->curPos = pos; } } - if (HIWORD(wParam)==EN_SETFOCUS) { //Transmit focus set notification to parent window - PostMessage(GetParent(hwndDlg),WM_COMMAND, MAKEWPARAM(0,EN_SETFOCUS), (LPARAM)hwndDlg); + if (HIWORD(wParam) == EN_SETFOCUS) { //Transmit focus set notification to parent window + PostMessage(GetParent(hwndDlg), WM_COMMAND, MAKEWPARAM(0, EN_SETFOCUS), (LPARAM)hwndDlg); } } if (msg == WM_PAINT) { PAINTSTRUCT ps; - HDC hdc=BeginPaint(hwnd, &ps); - FillRect(hdc,&(ps.rcPaint),GetSysColorBrush(COLOR_BTNFACE)); + HDC hdc = BeginPaint(hwnd, &ps); + FillRect(hdc, &(ps.rcPaint), GetSysColorBrush(COLOR_BTNFACE)); EndPaint(hwnd, &ps); } - return DefWindowProc(hwnd,msg,wParam,lParam); + return DefWindowProc(hwnd, msg, wParam, lParam); } /////////////////////////////////////////////////////////////////////////////// @@ -91,42 +91,42 @@ static int JabberSearchAddField(HWND hwndDlg, Data* FieldDat) return FALSE; HFONT hFont = (HFONT)SendMessage(hwndDlg, WM_GETFONT, 0, 0); - HWND hwndParent=GetDlgItem(hwndDlg,IDC_FRAME); + HWND hwndParent = GetDlgItem(hwndDlg, IDC_FRAME); LONG_PTR frameExStyle = GetWindowLongPtr(hwndParent, GWL_EXSTYLE); frameExStyle |= WS_EX_CONTROLPARENT; SetWindowLongPtr(hwndParent, GWL_EXSTYLE, frameExStyle); - SetWindowLongPtr(GetDlgItem(hwndDlg,IDC_FRAME),GWLP_WNDPROC,(LONG_PTR)JabberSearchFrameProc); + SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_FRAME), GWLP_WNDPROC, (LONG_PTR)JabberSearchFrameProc); - int CornerX=1; - int CornerY=1; + int CornerX = 1; + int CornerY = 1; RECT rect; - GetClientRect(hwndParent,&rect); - int width=rect.right-5-CornerX; + GetClientRect(hwndParent, &rect); + int width = rect.right - 5 - CornerX; - int Order=(FieldDat->bHidden) ? -1 : FieldDat->Order; + int Order = (FieldDat->bHidden) ? -1 : FieldDat->Order; - HWND hwndLabel=CreateWindowEx(0,_T("STATIC"),(LPCTSTR)TranslateTS(FieldDat->Label),WS_CHILD, CornerX, CornerY + Order*40, width, 13,hwndParent,NULL,hInst,0); - HWND hwndVar=CreateWindowEx(0|WS_EX_CLIENTEDGE,_T("EDIT"),(LPCTSTR)FieldDat->defValue,WS_CHILD|WS_TABSTOP, CornerX+5, CornerY + Order*40+14, width ,20,hwndParent,NULL,hInst,0); - SendMessage(hwndLabel, WM_SETFONT, (WPARAM)hFont,0); - SendMessage(hwndVar, WM_SETFONT, (WPARAM)hFont,0); + HWND hwndLabel = CreateWindowEx(0, _T("STATIC"), (LPCTSTR)TranslateTS(FieldDat->Label), WS_CHILD, CornerX, CornerY + Order * 40, width, 13, hwndParent, NULL, hInst, 0); + HWND hwndVar = CreateWindowEx(0 | WS_EX_CLIENTEDGE, _T("EDIT"), (LPCTSTR)FieldDat->defValue, WS_CHILD | WS_TABSTOP, CornerX + 5, CornerY + Order * 40 + 14, width, 20, hwndParent, NULL, hInst, 0); + SendMessage(hwndLabel, WM_SETFONT, (WPARAM)hFont, 0); + SendMessage(hwndVar, WM_SETFONT, (WPARAM)hFont, 0); if (!FieldDat->bHidden) { - ShowWindow(hwndLabel,SW_SHOW); - ShowWindow(hwndVar,SW_SHOW); - EnableWindow(hwndLabel,!FieldDat->bReadOnly); - SendMessage(hwndVar, EM_SETREADONLY, (WPARAM)FieldDat->bReadOnly,0); + ShowWindow(hwndLabel, SW_SHOW); + ShowWindow(hwndVar, SW_SHOW); + EnableWindow(hwndLabel, !FieldDat->bReadOnly); + SendMessage(hwndVar, EM_SETREADONLY, (WPARAM)FieldDat->bReadOnly, 0); } //remade list //reallocation - JabberSearchData *dat=(JabberSearchData *)GetWindowLongPtr(hwndDlg,GWLP_USERDATA); + JabberSearchData *dat = (JabberSearchData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); if (dat) { - dat->pJSInf=(JabberSearchFieldsInfo*)realloc(dat->pJSInf, sizeof(JabberSearchFieldsInfo)*(dat->nJSInfCount+1)); - dat->pJSInf[dat->nJSInfCount].hwndCaptionItem=hwndLabel; - dat->pJSInf[dat->nJSInfCount].hwndValueItem=hwndVar; - dat->pJSInf[dat->nJSInfCount].szFieldCaption=_tcsdup(FieldDat->Label); - dat->pJSInf[dat->nJSInfCount].szFieldName=_tcsdup(FieldDat->Var); + dat->pJSInf = (JabberSearchFieldsInfo*)realloc(dat->pJSInf, sizeof(JabberSearchFieldsInfo)*(dat->nJSInfCount + 1)); + dat->pJSInf[dat->nJSInfCount].hwndCaptionItem = hwndLabel; + dat->pJSInf[dat->nJSInfCount].hwndValueItem = hwndVar; + dat->pJSInf[dat->nJSInfCount].szFieldCaption = _tcsdup(FieldDat->Label); + dat->pJSInf[dat->nJSInfCount].szFieldName = _tcsdup(FieldDat->Var); dat->nJSInfCount++; } - return CornerY + Order*40+14 +20; + return CornerY + Order * 40 + 14 + 20; } //////////////////////////////////////////////////////////////////////////////// @@ -145,33 +145,33 @@ void CJabberProto::OnIqResultGetSearchFields(HXML iqNode, CJabberIqInfo*) HXML queryNode = xmlGetNthChild(iqNode, _T("query"), 1); HXML xNode = xmlGetChildByTag(queryNode, "x", "xmlns", JABBER_FEAT_DATA_FORMS); - ShowWindow(searchHandleDlg,SW_HIDE); + ShowWindow(searchHandleDlg, SW_HIDE); if (xNode) { //1. Form - PostMessage(searchHandleDlg, WM_USER+11, (WPARAM)xi.copyNode(xNode), 0); + PostMessage(searchHandleDlg, WM_USER + 11, (WPARAM)xi.copyNode(xNode), 0); HXML xcNode = xmlGetNthChild(xNode, _T("instructions"), 1); if (xcNode) SetDlgItemText(searchHandleDlg, IDC_INSTRUCTIONS, xmlGetText(xcNode)); } else { - int Order=0; - for (int i=0; ; i++) { + int Order = 0; + for (int i = 0;; i++) { HXML chNode = xmlGetChild(queryNode, i); if (!chNode) break; if (!mir_tstrcmpi(xmlGetName(chNode), _T("instructions")) && xmlGetText(chNode)) - SetDlgItemText(searchHandleDlg,IDC_INSTRUCTIONS,TranslateTS(xmlGetText(chNode))); + SetDlgItemText(searchHandleDlg, IDC_INSTRUCTIONS, TranslateTS(xmlGetText(chNode))); else if (xmlGetName(chNode)) { - Data *MyData=(Data*)malloc(sizeof(Data)); - memset(MyData,0,sizeof(Data)); + Data *MyData = (Data*)malloc(sizeof(Data)); + memset(MyData, 0, sizeof(Data)); MyData->Label = mir_tstrdup(xmlGetName(chNode)); MyData->Var = mir_tstrdup(xmlGetName(chNode)); MyData->defValue = mir_tstrdup(xmlGetText(chNode)); MyData->Order = Order; if (MyData->defValue) MyData->bReadOnly = TRUE; - PostMessage(searchHandleDlg,WM_USER+10,FALSE,(LPARAM)MyData); + PostMessage(searchHandleDlg, WM_USER + 10, FALSE, (LPARAM)MyData); Order++; } } @@ -179,13 +179,13 @@ void CJabberProto::OnIqResultGetSearchFields(HXML iqNode, CJabberIqInfo*) const TCHAR *szFrom = xmlGetAttrValue(iqNode, _T("from")); if (szFrom) - SearchAddToRecent(szFrom,searchHandleDlg); - PostMessage(searchHandleDlg,WM_USER+10,0,0); - ShowWindow(searchHandleDlg,SW_SHOW); + SearchAddToRecent(szFrom, searchHandleDlg); + PostMessage(searchHandleDlg, WM_USER + 10, 0, 0); + ShowWindow(searchHandleDlg, SW_SHOW); } else if (!mir_tstrcmp(type, _T("error"))) { - const TCHAR *code=NULL; - const TCHAR *description=NULL; + const TCHAR *code = NULL; + const TCHAR *description = NULL; TCHAR buff[255]; HXML errorNode = xmlGetChild(iqNode, "error"); if (errorNode) { @@ -193,7 +193,7 @@ void CJabberProto::OnIqResultGetSearchFields(HXML iqNode, CJabberIqInfo*) description = xmlGetText(errorNode); } mir_sntprintf(buff, SIZEOF(buff), TranslateT("Error %s %s\r\nPlease select other server"), code ? code : _T(""), description ? description : _T("")); - SetDlgItemText(searchHandleDlg,IDC_INSTRUCTIONS,buff); + SetDlgItemText(searchHandleDlg, IDC_INSTRUCTIONS, buff); } else SetDlgItemText(searchHandleDlg, IDC_INSTRUCTIONS, TranslateT("Error: unknown reply received\r\nPlease select other server")); } @@ -207,20 +207,21 @@ static TCHAR *nickfields[] = { _T("nick"), _T("nickname"), _T("fullname"), _T("n void CJabberProto::SearchReturnResults(HANDLE id, void * pvUsersInfo, U_TCHAR_MAP * pmAllFields) { - LIST<TCHAR> ListOfNonEmptyFields(20,(LIST<TCHAR>::FTSortFunc)TCharKeyCmp); + LIST<TCHAR> ListOfNonEmptyFields(20, (LIST<TCHAR>::FTSortFunc)TCharKeyCmp); LIST<TCHAR> ListOfFields(20); LIST<void>* plUsersInfo = (LIST<void>*)pvUsersInfo; int i, nUsersFound = plUsersInfo->getCount(); // lets fill the ListOfNonEmptyFields but in users order - for (i=0; i < nUsersFound; i++) { + for (i = 0; i < nUsersFound; i++) { U_TCHAR_MAP* pmUserData = (U_TCHAR_MAP*)plUsersInfo->operator [](i); int nUserFields = pmUserData->getCount(); - for (int j=0; j < nUserFields; j++) { + for (int j = 0; j < nUserFields; j++) { TCHAR *var = pmUserData->getKeyName(j); if (var && ListOfNonEmptyFields.getIndex(var) < 0) - ListOfNonEmptyFields.insert(var); - } } + ListOfNonEmptyFields.insert(var); + } + } // now fill the ListOfFields but order is from pmAllFields int nAllCount = pmAllFields->getCount(); @@ -240,27 +241,27 @@ void CJabberProto::SearchReturnResults(HANDLE id, void * pvUsersInfo, U_TCHAR_M Results.nFieldCount = nFieldCount; /* Sending Columns Titles */ - for (i=0; i < nFieldCount; i++) { + for (i = 0; i < nFieldCount; i++) { TCHAR *var = ListOfFields[i]; if (var) Results.pszFields[i] = pmAllFields->operator [](var); } Results.psr.cbSize = 0; // sending column names - ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_SEARCHRESULT, id, (LPARAM) &Results); + ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_SEARCHRESULT, id, (LPARAM)&Results); /* Sending Users Data */ Results.psr.cbSize = sizeof(Results.psr); // sending user data - for (i=0; i < nUsersFound; i++) { + for (i = 0; i < nUsersFound; i++) { TCHAR buff[200]; buff[0] = 0; - U_TCHAR_MAP *pmUserData = (U_TCHAR_MAP *) plUsersInfo->operator [](i); - for (int j=0; j < nFieldCount; j++) { + U_TCHAR_MAP *pmUserData = (U_TCHAR_MAP *)plUsersInfo->operator [](i); + for (int j = 0; j < nFieldCount; j++) { TCHAR *var = ListOfFields[j]; TCHAR *value = pmUserData->operator [](var); Results.pszFields[j] = value ? value : (TCHAR *)_T(" "); - if (!mir_tstrcmpi(var,_T("jid")) && value) + if (!mir_tstrcmpi(var, _T("jid")) && value) Results.psr.id.t = value; } @@ -279,7 +280,7 @@ void CJabberProto::SearchReturnResults(HANDLE id, void * pvUsersInfo, U_TCHAR_M Results.psr.nick.t = nick; Results.psr.flags = PSR_TCHAR; - ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_SEARCHRESULT, id, (LPARAM) &Results); + ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_SEARCHRESULT, id, (LPARAM)&Results); Results.psr.nick.t = NULL; } mir_free(Results.pszFields); @@ -324,9 +325,11 @@ void CJabberProto::OnIqResultAdvancedSearch(HXML iqNode, CJabberIqInfo*) if (var) { TCHAR *Label = (TCHAR*)xmlGetAttrValue(fieldNode, _T("label")); mColumnsNames.insert(var, (Label != NULL) ? Label : var); - } } } + } + } + } - int i=1; + int i = 1; HXML itemNode; while (itemNode = xmlGetNthChild(xNode, _T("item"), i++)) { U_TCHAR_MAP *pUserColumn = new U_TCHAR_MAP(10); @@ -335,26 +338,28 @@ void CJabberProto::OnIqResultAdvancedSearch(HXML iqNode, CJabberIqInfo*) if (TCHAR* var = (TCHAR*)xmlGetAttrValue(fieldNode, _T("var"))) { if (TCHAR* Text = (TCHAR*)xmlGetText(xmlGetChild(fieldNode, _T("value")))) { if (!mColumnsNames[var]) - mColumnsNames.insert(var,var); - pUserColumn->insert(var,Text); - } } } + mColumnsNames.insert(var, var); + pUserColumn->insert(var, Text); + } + } + } SearchResults.insert((void*)pUserColumn); } } else { //2. Field list search results info - int i=1; + int i = 1; while (HXML itemNode = xmlGetNthChild(queryNode, _T("item"), i++)) { - U_TCHAR_MAP *pUserColumn=new U_TCHAR_MAP(10); + U_TCHAR_MAP *pUserColumn = new U_TCHAR_MAP(10); TCHAR *jid = (TCHAR*)xmlGetAttrValue(itemNode, _T("jid")); TCHAR *keyReturned; - mColumnsNames.insertCopyKey(_T("jid"),_T("jid"),&keyReturned, CopyKey, DestroyKey); + mColumnsNames.insertCopyKey(_T("jid"), _T("jid"), &keyReturned, CopyKey, DestroyKey); mColumnsNames.insert(_T("jid"), keyReturned); pUserColumn->insertCopyKey(_T("jid"), jid, NULL, CopyKey, DestroyKey); - for (int j=0; ; j++) { + for (int j = 0;; j++) { HXML child = xmlGetChild(itemNode, j); if (!child) break; @@ -363,19 +368,22 @@ void CJabberProto::OnIqResultAdvancedSearch(HXML iqNode, CJabberIqInfo*) if (szColumnName) { LPCTSTR ptszChild = xmlGetText(child); if (ptszChild && *ptszChild) { - mColumnsNames.insertCopyKey((TCHAR*)szColumnName,_T(""),&keyReturned, CopyKey, DestroyKey); - mColumnsNames.insert((TCHAR*)szColumnName,keyReturned); + mColumnsNames.insertCopyKey((TCHAR*)szColumnName, _T(""), &keyReturned, CopyKey, DestroyKey); + mColumnsNames.insert((TCHAR*)szColumnName, keyReturned); pUserColumn->insertCopyKey((TCHAR*)szColumnName, (TCHAR*)ptszChild, NULL, CopyKey, DestroyKey); - } } } + } + } + } SearchResults.insert((void*)pUserColumn); - } } + } + } } else if (!mir_tstrcmp(type, _T("error"))) { const TCHAR *code = NULL; const TCHAR *description = NULL; TCHAR buff[255]; - HXML errorNode = xmlGetChild(iqNode , "error"); + HXML errorNode = xmlGetChild(iqNode, "error"); if (errorNode) { code = xmlGetAttrValue(errorNode, _T("code")); description = xmlGetText(errorNode); @@ -384,15 +392,15 @@ void CJabberProto::OnIqResultAdvancedSearch(HXML iqNode, CJabberIqInfo*) mir_sntprintf(buff, SIZEOF(buff), TranslateT("Error %s %s\r\nTry to specify more detailed"), code ? code : _T(""), description ? description : _T("")); ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_SUCCESS, (HANDLE)id, 0); if (searchHandleDlg) - SetDlgItemText(searchHandleDlg,IDC_INSTRUCTIONS,buff); + SetDlgItemText(searchHandleDlg, IDC_INSTRUCTIONS, buff); else - MessageBox(NULL, buff, TranslateT("Search error"), MB_OK|MB_ICONSTOP); + MessageBox(NULL, buff, TranslateT("Search error"), MB_OK | MB_ICONSTOP); return; } SearchReturnResults((HANDLE)id, (void*)&SearchResults, (U_TCHAR_MAP *)&mColumnsNames); - for (int i=0; i < SearchResults.getCount(); i++) + for (int i = 0; i < SearchResults.getCount(); i++) delete ((U_TCHAR_MAP *)SearchResults[i]); //send success to finish searching @@ -407,9 +415,8 @@ static BOOL CALLBACK DeleteChildWindowsProc(HWND hwnd, LPARAM) static void JabberSearchFreeData(HWND hwndDlg, JabberSearchData * dat) { - //lock if (!dat->fSearchRequestIsXForm && dat->nJSInfCount && dat->pJSInf) { - for (int i=0; i < dat->nJSInfCount; i++) { + for (int i = 0; i < dat->nJSInfCount; i++) { if (dat->pJSInf[i].hwndValueItem) DestroyWindow(dat->pJSInf[i].hwndValueItem); if (dat->pJSInf[i].hwndCaptionItem) @@ -420,42 +427,41 @@ static void JabberSearchFreeData(HWND hwndDlg, JabberSearchData * dat) free(dat->pJSInf[i].szFieldName); } free(dat->pJSInf); - dat->pJSInf=NULL; + dat->pJSInf = NULL; } - else EnumChildWindows(GetDlgItem(hwndDlg,IDC_FRAME),DeleteChildWindowsProc,0); + else EnumChildWindows(GetDlgItem(hwndDlg, IDC_FRAME), DeleteChildWindowsProc, 0); if (dat->xNode) xi.destroyNode(dat->xNode); - SendDlgItemMessage(hwndDlg,IDC_FRAME, WM_SETFONT, (WPARAM)SendMessage(hwndDlg, WM_GETFONT, 0, 0),0); - dat->nJSInfCount=0; - ShowWindow(GetDlgItem(hwndDlg,IDC_VSCROLL),SW_HIDE); - SetDlgItemText(hwndDlg,IDC_INSTRUCTIONS,TranslateT("Select/type search service URL above and press <Go>")); - //unlock + SendDlgItemMessage(hwndDlg, IDC_FRAME, WM_SETFONT, (WPARAM)SendMessage(hwndDlg, WM_GETFONT, 0, 0), 0); + dat->nJSInfCount = 0; + ShowWindow(GetDlgItem(hwndDlg, IDC_VSCROLL), SW_HIDE); + SetDlgItemText(hwndDlg, IDC_INSTRUCTIONS, TranslateT("Select/type search service URL above and press <Go>")); } -static void JabberSearchRefreshFrameScroll(HWND hwndDlg, JabberSearchData * dat) +static void JabberSearchRefreshFrameScroll(HWND hwndDlg, JabberSearchData *dat) { HWND hFrame = GetDlgItem(hwndDlg, IDC_FRAME); HWND hwndScroll = GetDlgItem(hwndDlg, IDC_VSCROLL); RECT rc; GetClientRect(hFrame, &rc); GetClientRect(hFrame, &dat->frameRect); - dat->frameHeight = rc.bottom-rc.top; + dat->frameHeight = rc.bottom - rc.top; if (dat->frameHeight < dat->CurrentHeight) { ShowWindow(hwndScroll, SW_SHOW); EnableWindow(hwndScroll, TRUE); } else ShowWindow(hwndScroll, SW_HIDE); - SetScrollRange(hwndScroll, SB_CTL, 0, dat->CurrentHeight-dat->frameHeight, FALSE); + SetScrollRange(hwndScroll, SB_CTL, 0, dat->CurrentHeight - dat->frameHeight, FALSE); } -int CJabberProto::SearchRenewFields(HWND hwndDlg, JabberSearchData * dat) +int CJabberProto::SearchRenewFields(HWND hwndDlg, JabberSearchData *dat) { TCHAR szServerName[100]; - EnableWindow(GetDlgItem(hwndDlg, IDC_GO),FALSE); - GetDlgItemText(hwndDlg,IDC_SERVER,szServerName,SIZEOF(szServerName)); + EnableWindow(GetDlgItem(hwndDlg, IDC_GO), FALSE); + GetDlgItemText(hwndDlg, IDC_SERVER, szServerName, SIZEOF(szServerName)); dat->CurrentHeight = 0; dat->curPos = 0; SetScrollPos(GetDlgItem(hwndDlg, IDC_VSCROLL), SB_CTL, 0, FALSE); @@ -463,7 +469,7 @@ int CJabberProto::SearchRenewFields(HWND hwndDlg, JabberSearchData * dat) JabberSearchFreeData(hwndDlg, dat); JabberSearchRefreshFrameScroll(hwndDlg, dat); - SetDlgItemText(hwndDlg,IDC_INSTRUCTIONS,m_bJabberOnline ? TranslateT("Please wait...\r\nConnecting search server...") : TranslateT("You have to be connected to server")); + SetDlgItemText(hwndDlg, IDC_INSTRUCTIONS, m_bJabberOnline ? TranslateT("Please wait...\r\nConnecting search server...") : TranslateT("You have to be connected to server")); if (!m_bJabberOnline) return 0; @@ -471,13 +477,13 @@ int CJabberProto::SearchRenewFields(HWND hwndDlg, JabberSearchData * dat) searchHandleDlg = hwndDlg; CJabberIqInfo *pInfo = AddIQ(&CJabberProto::OnIqResultGetSearchFields, JABBER_IQ_TYPE_GET, szServerName); - m_ThreadInfo->send( XmlNodeIq(pInfo) << XQUERY(_T("jabber:iq:search"))); + m_ThreadInfo->send(XmlNodeIq(pInfo) << XQUERY(_T("jabber:iq:search"))); return pInfo->GetIqId(); } static void JabberSearchAddUrlToRecentCombo(HWND hwndDlg, const TCHAR *szAddr) { - int lResult = SendDlgItemMessage(hwndDlg, IDC_SERVER, (UINT) CB_FINDSTRING, 0, (LPARAM)szAddr); + int lResult = SendDlgItemMessage(hwndDlg, IDC_SERVER, (UINT)CB_FINDSTRING, 0, (LPARAM)szAddr); if (lResult == -1) SendDlgItemMessage(hwndDlg, IDC_SERVER, CB_ADDSTRING, 0, (LPARAM)szAddr); } @@ -485,14 +491,14 @@ static void JabberSearchAddUrlToRecentCombo(HWND hwndDlg, const TCHAR *szAddr) void CJabberProto::SearchDeleteFromRecent(const TCHAR *szAddr, BOOL deleteLastFromDB) { //search in recent - for (int i=0; i<10; i++) { + for (int i = 0; i < 10; i++) { char key[30]; mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", i); - ptrT szValue( getTStringA(key)); + ptrT szValue(getTStringA(key)); if (szValue == NULL || mir_tstrcmpi(szAddr, szValue)) continue; - for (int j=i; j < 10; j++) { + for (int j = i; j < 10; j++) { mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", j + 1); szValue = getTStringA(key); if (szValue != NULL) { @@ -502,25 +508,28 @@ void CJabberProto::SearchDeleteFromRecent(const TCHAR *szAddr, BOOL deleteLastFr else { if (deleteLastFromDB) { mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", j); - delSetting(NULL,key); + delSetting(NULL, key); } break; - } } + } + } break; -} } + } +} void CJabberProto::SearchAddToRecent(const TCHAR *szAddr, HWND hwndDialog) { char key[30]; SearchDeleteFromRecent(szAddr); - for (int j=9; j > 0; j--) { + for (int j = 9; j > 0; j--) { mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", j - 1); - ptrT szValue( getTStringA(key)); + ptrT szValue(getTStringA(key)); if (szValue != NULL) { mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", j); setTString(NULL, key, szValue); - } } + } + } mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", 0); setTString(key, szAddr); @@ -541,27 +550,27 @@ static INT_PTR CALLBACK JabberSearchAdvancedDlgProc(HWND hwndDlg, UINT msg, WPAR /* Server Combo box */ ptrA jud(dat->ppro->getStringA("Jud")); - char *szServerName = (jud == NULL) ? "users.jabber.org": jud; - SetDlgItemTextA(hwndDlg,IDC_SERVER,szServerName); - SendDlgItemMessageA(hwndDlg,IDC_SERVER,CB_ADDSTRING,0,(LPARAM)szServerName); + char *szServerName = (jud == NULL) ? "users.jabber.org" : jud; + SetDlgItemTextA(hwndDlg, IDC_SERVER, szServerName); + SendDlgItemMessageA(hwndDlg, IDC_SERVER, CB_ADDSTRING, 0, (LPARAM)szServerName); //TO DO: Add Transports here int i, transpCount = dat->ppro->m_lstTransports.getCount(); - for (i=0; i < transpCount; i++) { + for (i = 0; i < transpCount; i++) { TCHAR *szTransp = dat->ppro->m_lstTransports[i]; if (szTransp) JabberSearchAddUrlToRecentCombo(hwndDlg, szTransp); } - for (i=0; i < 10; i++) { + for (i = 0; i < 10; i++) { char key[30]; mir_snprintf(key, SIZEOF(key), "RecentlySearched_%d", i); - ptrT szValue( dat->ppro->getTStringA(key)); + ptrT szValue(dat->ppro->getTStringA(key)); if (szValue != NULL) JabberSearchAddUrlToRecentCombo(hwndDlg, szValue); } //TO DO: Add 4 recently used - dat->lastRequestIq = dat->ppro->SearchRenewFields(hwndDlg,dat); + dat->lastRequestIq = dat->ppro->SearchRenewFields(hwndDlg, dat); } return TRUE; @@ -569,21 +578,21 @@ static INT_PTR CALLBACK JabberSearchAdvancedDlgProc(HWND hwndDlg, UINT msg, WPAR if (LOWORD(wParam) == IDC_SERVER) { switch (HIWORD(wParam)) { case CBN_SETFOCUS: - PostMessage(GetParent(hwndDlg),WM_COMMAND, MAKEWPARAM(0,EN_SETFOCUS), (LPARAM)hwndDlg); + PostMessage(GetParent(hwndDlg), WM_COMMAND, MAKEWPARAM(0, EN_SETFOCUS), (LPARAM)hwndDlg); return TRUE; case CBN_EDITCHANGE: - EnableWindow(GetDlgItem(hwndDlg, IDC_GO),TRUE); + EnableWindow(GetDlgItem(hwndDlg, IDC_GO), TRUE); return TRUE; case CBN_EDITUPDATE: JabberSearchFreeData(hwndDlg, dat); - EnableWindow(GetDlgItem(hwndDlg, IDC_GO),TRUE); + EnableWindow(GetDlgItem(hwndDlg, IDC_GO), TRUE); return TRUE; case CBN_SELENDOK: - EnableWindow(GetDlgItem(hwndDlg, IDC_GO),TRUE); - PostMessage(hwndDlg,WM_COMMAND,MAKEWPARAM(IDC_GO,BN_CLICKED),0); + EnableWindow(GetDlgItem(hwndDlg, IDC_GO), TRUE); + PostMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_GO, BN_CLICKED), 0); return TRUE; } } @@ -597,54 +606,55 @@ static INT_PTR CALLBACK JabberSearchAdvancedDlgProc(HWND hwndDlg, UINT msg, WPAR { //Resize IDC_FRAME to take full size RECT rcForm; - GetWindowRect(hwndDlg, &rcForm); + GetWindowRect(hwndDlg, &rcForm); RECT rcFrame; GetWindowRect(GetDlgItem(hwndDlg, IDC_FRAME), &rcFrame); rcFrame.bottom = rcForm.bottom; - SetWindowPos(GetDlgItem(hwndDlg,IDC_FRAME),NULL,0,0,rcFrame.right-rcFrame.left,rcFrame.bottom-rcFrame.top,SWP_NOZORDER|SWP_NOMOVE); - GetWindowRect(GetDlgItem(hwndDlg,IDC_VSCROLL), &rcForm); - SetWindowPos(GetDlgItem(hwndDlg,IDC_VSCROLL),NULL,0,0,rcForm.right-rcForm.left,rcFrame.bottom-rcFrame.top,SWP_NOZORDER|SWP_NOMOVE); + SetWindowPos(GetDlgItem(hwndDlg, IDC_FRAME), NULL, 0, 0, rcFrame.right - rcFrame.left, rcFrame.bottom - rcFrame.top, SWP_NOZORDER | SWP_NOMOVE); + GetWindowRect(GetDlgItem(hwndDlg, IDC_VSCROLL), &rcForm); + SetWindowPos(GetDlgItem(hwndDlg, IDC_VSCROLL), NULL, 0, 0, rcForm.right - rcForm.left, rcFrame.bottom - rcFrame.top, SWP_NOZORDER | SWP_NOMOVE); JabberSearchRefreshFrameScroll(hwndDlg, dat); } return TRUE; - case WM_USER+11: + case WM_USER + 11: { - dat->fSearchRequestIsXForm=TRUE; + dat->fSearchRequestIsXForm = TRUE; dat->xNode = (HXML)wParam; - JabberFormCreateUI(GetDlgItem(hwndDlg, IDC_FRAME), dat->xNode, &dat->CurrentHeight,TRUE); + JabberFormCreateUI(GetDlgItem(hwndDlg, IDC_FRAME), dat->xNode, &dat->CurrentHeight, TRUE); ShowWindow(GetDlgItem(hwndDlg, IDC_FRAME), SW_SHOW); - dat->nJSInfCount=1; - return TRUE; + dat->nJSInfCount = 1; } - case WM_USER+10: + return TRUE; + + case WM_USER + 10: { - Data* MyDat = (Data*)lParam; + Data *MyDat = (Data*)lParam; if (MyDat) { dat->fSearchRequestIsXForm = (BOOL)wParam; - dat->CurrentHeight = JabberSearchAddField(hwndDlg,MyDat); + dat->CurrentHeight = JabberSearchAddField(hwndDlg, MyDat); mir_free(MyDat->Label); mir_free(MyDat->Var); mir_free(MyDat->defValue); free(MyDat); } - else - { - JabberSearchRefreshFrameScroll(hwndDlg,dat); - ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - 0, NULL, &(dat->frameRect)); + else { + JabberSearchRefreshFrameScroll(hwndDlg, dat); + ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - 0, NULL, &(dat->frameRect)); SetScrollPos(GetDlgItem(hwndDlg, IDC_VSCROLL), SB_CTL, 0, FALSE); - dat->curPos=0; + dat->curPos = 0; } - return TRUE; } + return TRUE; + case WM_MOUSEWHEEL: { short zDelta = GET_WHEEL_DELTA_WPARAM(wParam); if (zDelta) { - int nScrollLines=0; - SystemParametersInfo(SPI_GETWHEELSCROLLLINES,0,(void*)&nScrollLines,0); - for (int i=0; i<(nScrollLines+1)/2; i++) - SendMessage(hwndDlg,WM_VSCROLL, (zDelta<0)?SB_LINEDOWN:SB_LINEUP,0); + int nScrollLines = 0; + SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, (void*)&nScrollLines, 0); + for (int i = 0; i < (nScrollLines + 1) / 2; i++) + SendMessage(hwndDlg, WM_VSCROLL, (zDelta < 0) ? SB_LINEDOWN : SB_LINEUP, 0); } } return TRUE; @@ -676,17 +686,19 @@ static INT_PTR CALLBACK JabberSearchAdvancedDlgProc(HWND hwndDlg, UINT msg, WPAR if (pos < 0) pos = 0; if (dat->curPos != pos) { - ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - pos, NULL , &(dat->frameRect)); + ScrollWindow(GetDlgItem(hwndDlg, IDC_FRAME), 0, dat->curPos - pos, NULL, &(dat->frameRect)); SetScrollPos(GetDlgItem(hwndDlg, IDC_VSCROLL), SB_CTL, pos, TRUE); - RECT Invalid=dat->frameRect; + RECT Invalid = dat->frameRect; if (dat->curPos - pos >0) - Invalid.bottom=Invalid.top+(dat->curPos - pos); + Invalid.bottom = Invalid.top + (dat->curPos - pos); else - Invalid.top=Invalid.bottom+(dat->curPos - pos); + Invalid.top = Invalid.bottom + (dat->curPos - pos); - RedrawWindow(GetDlgItem(hwndDlg, IDC_FRAME), NULL, NULL, RDW_UPDATENOW |RDW_ALLCHILDREN); + RedrawWindow(GetDlgItem(hwndDlg, IDC_FRAME), NULL, NULL, RDW_UPDATENOW | RDW_ALLCHILDREN); dat->curPos = pos; - } } } + } + } + } return TRUE; case WM_DESTROY: @@ -702,7 +714,7 @@ static INT_PTR CALLBACK JabberSearchAdvancedDlgProc(HWND hwndDlg, UINT msg, WPAR HWND __cdecl CJabberProto::CreateExtendedSearchUI(HWND parent) { if (parent && hInst) { - ptrT szServer( getTStringA("LoginServer")); + ptrT szServer(getTStringA("LoginServer")); if (szServer == NULL || mir_tstrcmpi(szServer, _T("S.ms"))) return CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_SEARCHUSER), parent, JabberSearchAdvancedDlgProc, (LPARAM)this); } @@ -718,7 +730,7 @@ HWND __cdecl CJabberProto::SearchAdvanced(HWND hwndDlg) if (!m_bJabberOnline || !hwndDlg) return 0; //error - JabberSearchData * dat=(JabberSearchData *)GetWindowLongPtr(hwndDlg,GWLP_USERDATA); + JabberSearchData * dat = (JabberSearchData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); if (!dat) return 0; //error @@ -727,7 +739,7 @@ HWND __cdecl CJabberProto::SearchAdvanced(HWND hwndDlg) return 0; // formating request - BOOL fRequestNotEmpty=FALSE; + BOOL fRequestNotEmpty = FALSE; // get server name TCHAR szServerName[100]; @@ -744,19 +756,21 @@ HWND __cdecl CJabberProto::SearchAdvanced(HWND hwndDlg) // next can be 2 cases: // Forms: XEP-0055 Example 7 if (dat->fSearchRequestIsXForm) { - fRequestNotEmpty=TRUE; + fRequestNotEmpty = TRUE; HXML n = JabberFormGetData(GetDlgItem(hwndDlg, IDC_FRAME), dat->xNode); xmlAddChild(query, n); xi.destroyNode(n); } else { //and Simple fields: XEP-0055 Example 3 - for (int i=0; i<dat->nJSInfCount; i++) { + for (int i = 0; i < dat->nJSInfCount; i++) { TCHAR szFieldValue[100]; GetWindowText(dat->pJSInf[i].hwndValueItem, szFieldValue, SIZEOF(szFieldValue)); if (szFieldValue[0] != 0) { xmlAddChild(query, dat->pJSInf[i].szFieldName, szFieldValue); - fRequestNotEmpty=TRUE; - } } } + fRequestNotEmpty = TRUE; + } + } + } if (fRequestNotEmpty) { m_ThreadInfo->send(iq); |