From 183f4dfbadce9c687c66e5377274a464f6c9a72f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 10 Jan 2014 11:43:31 +0000 Subject: - bunch of unused junk removed from Jabber resources; - code cleaning git-svn-id: http://svn.miranda-ng.org/main/trunk@7576 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/JabberG/res/jabber.rc | 92 -------- protocols/JabberG/src/jabber_chat.cpp | 248 ++++++++++---------- protocols/JabberG/src/jabber_groupchat.cpp | 359 ++++++++++++++--------------- protocols/JabberG/src/resource.h | 43 ++-- 4 files changed, 305 insertions(+), 437 deletions(-) (limited to 'protocols/JabberG') diff --git a/protocols/JabberG/res/jabber.rc b/protocols/JabberG/res/jabber.rc index 3bc42153e4..c10fb82dc0 100644 --- a/protocols/JabberG/res/jabber.rc +++ b/protocols/JabberG/res/jabber.rc @@ -163,13 +163,6 @@ BEGIN CONTROL "",IDC_TV_INFO,"SysTreeView32",TVS_HASBUTTONS | TVS_DISABLEDRAGDROP | TVS_FULLROWSELECT | WS_BORDER | WS_TABSTOP,5,5,211,141 END -IDD_DATAFORM_PAGE DIALOGEX 0, 0, 250, 239 -STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT | WS_EX_STATICEDGE -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN -END - IDD_OPT_REGISTER DIALOGEX 0, 0, 173, 69 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION CAPTION "Jabber Account Registration" @@ -180,31 +173,6 @@ BEGIN DEFPUSHBUTTON "OK",IDOK,55,50,50,14 END -IDD_AGENTS DIALOGEX 0, 0, 294, 254 -STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -CAPTION "Jabber Agents" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - GROUPBOX "Register/Search Jabber Agents",IDC_STATIC,7,7,280,115 - LTEXT "Jabber server:",IDC_STATIC,13,20,47,8 - EDITTEXT IDC_AGENT_SERVER,65,19,136,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "Browse",IDC_AGENT_BROWSE,209,19,46,13,WS_DISABLED - CONTROL "List1",IDC_AGENT_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,13,36,267,60 - PUSHBUTTON "Register...",IDC_AGENT_REGISTER,13,100,50,14,WS_DISABLED - PUSHBUTTON "Browse/Join chat room...",IDC_JOIN,69,100,93,14,WS_DISABLED - PUSHBUTTON "Search...",IDC_AGENT_SEARCH,171,100,50,14,NOT WS_VISIBLE | WS_DISABLED - GROUPBOX "Registered Jabber Transports",IDC_STATIC,7,128,280,99 - CONTROL "List1",IDC_AGENT_TRANSPORT,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,13,142,267,60 - PUSHBUTTON "Log on",IDC_AGENT_LOGON,13,206,50,14,WS_DISABLED - PUSHBUTTON "Log off",IDC_AGENT_LOGOFF,69,206,50,14,WS_DISABLED - PUSHBUTTON "Unregister",IDC_AGENT_UNREGISTER,125,206,50,14,WS_DISABLED - PUSHBUTTON "Register with a new service...",IDC_MANUAL_REGISTER,7,233,106,14 - PUSHBUTTON "Close",IDCLOSE,237,233,50,14 - PUSHBUTTON "Command",IDC_COMMANDS1,230,100,50,14,WS_DISABLED - PUSHBUTTON "Command",IDC_COMMANDS2,231,206,50,14,WS_DISABLED -END - IDD_FORM DIALOGEX 0, 0, 258, 224 STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTROLPARENT @@ -239,14 +207,6 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,229,70,50,14 END -IDD_DATAFORM_TEST DIALOGEX 0, 0, 153, 148 -STYLE DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION "Data form test" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - CONTROL "Custom1",IDC_DATAFORM,"JabberDataFormControl",WS_TABSTOP,7,6,139,135 -END - IDD_VCARD_HOME DIALOGEX 0, 0, 222, 132 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD EXSTYLE WS_EX_CONTROLPARENT @@ -401,19 +361,6 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,92,58,50,14 END -IDD_GROUPCHAT DIALOGEX 0, 0, 306, 208 -STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -CAPTION "Jabber Multi-User Conference" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - LTEXT "Conference server:",-1,5,8,70,8 - COMBOBOX IDC_SERVER,80,7,168,79,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Browse",IDC_BROWSE,253,7,46,13 - CONTROL "List1",IDC_ROOM,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,5,24,294,160 - PUSHBUTTON "Close",IDCLOSE,249,189,50,14 -END - IDD_GROUPCHAT_JOIN DIALOGEX 0, 0, 258, 211 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTROLPARENT @@ -453,17 +400,6 @@ BEGIN CONTROL "Reset Filter",IDC_BTN_FILTERRESET,"MButtonClass",WS_TABSTOP,187,146,16,14 END -IDD_AGENT_MANUAL_REGISTER DIALOGEX 0, 0, 186, 45 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Jabber Agent Registration" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - LTEXT "JID:",IDC_STATIC,5,9,17,8 - EDITTEXT IDC_JID,29,7,150,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "Register",IDOK,75,24,50,14,WS_DISABLED - PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14 -END - IDD_GROUPCHAT_INVITE DIALOGEX 0, 0, 215, 275 STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Invite Users" @@ -628,16 +564,6 @@ BEGIN CONTROL "",IDC_TREE_DISCO,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,21,343,180 END -IDD_SETMOODMSG DIALOGEX 0, 0, 187, 72 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_CONTROLPARENT -CAPTION "Change %s Message" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - EDITTEXT IDC_MSG_MOOD,5,5,177,43,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL - DEFPUSHBUTTON "Closing in %d",IDOK,61,53,65,14 -END - IDD_MODERNOPT DIALOGEX 0, 0, 260, 164 STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD EXSTYLE WS_EX_CONTROLPARENT @@ -718,24 +644,6 @@ BEGIN PUSHBUTTON "Deny",IDCANCEL,160,156,50,14 END -IDD_GROUPCHAT_INFO_TABS DIALOGEX 0, 0, 265, 242 -STYLE DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION "Data form test" -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - CONTROL "",IDC_TABS,"SysTabControl32",TCS_MULTILINE,7,6,251,203 -END - -IDD_GROUPCHAT_ADMLIST DIALOGEX 0, 0, 208, 165 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD -FONT 8, "MS Shell Dlg", 0, 0, 0x1 -BEGIN - EDITTEXT IDC_FILTER,5,147,161,12,ES_AUTOHSCROLL - CONTROL "Apply Filter",IDC_BTN_FILTERAPPLY,"MButtonClass",WS_TABSTOP,171,146,16,14 - CONTROL "Reset Filter",IDC_BTN_FILTERRESET,"MButtonClass",WS_TABSTOP,187,146,16,14 - CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,5,198,136 -END - IDD_PEP_SIMPLE DIALOGEX 0, 0, 201, 140 STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME EXSTYLE WS_EX_CONTROLPARENT diff --git a/protocols/JabberG/src/jabber_chat.cpp b/protocols/JabberG/src/jabber_chat.cpp index 32e77d3c0b..c19efb423d 100644 --- a/protocols/JabberG/src/jabber_chat.cpp +++ b/protocols/JabberG/src/jabber_chat.cpp @@ -80,17 +80,17 @@ struct TRoleOrAffiliationInfo static TRoleOrAffiliationInfo sttAffiliationItems[] = { - { AFFILIATION_NONE, IDM_SET_NONE, LPGENT("None"), ROLE_NONE, AFFILIATION_ADMIN }, - { AFFILIATION_MEMBER, IDM_SET_MEMBER, LPGENT("Member"), ROLE_NONE, AFFILIATION_ADMIN }, - { AFFILIATION_ADMIN, IDM_SET_ADMIN, LPGENT("Admin"), ROLE_NONE, AFFILIATION_OWNER }, - { AFFILIATION_OWNER, IDM_SET_OWNER, LPGENT("Owner"), ROLE_NONE, AFFILIATION_OWNER }, + { AFFILIATION_NONE, IDM_SET_NONE, LPGENT("None"), ROLE_NONE, AFFILIATION_ADMIN }, + { AFFILIATION_MEMBER, IDM_SET_MEMBER, LPGENT("Member"), ROLE_NONE, AFFILIATION_ADMIN }, + { AFFILIATION_ADMIN, IDM_SET_ADMIN, LPGENT("Admin"), ROLE_NONE, AFFILIATION_OWNER }, + { AFFILIATION_OWNER, IDM_SET_OWNER, LPGENT("Owner"), ROLE_NONE, AFFILIATION_OWNER }, }; static TRoleOrAffiliationInfo sttRoleItems[] = { - { ROLE_VISITOR, IDM_SET_VISITOR, LPGENT("Visitor"), ROLE_MODERATOR, AFFILIATION_NONE }, - { ROLE_PARTICIPANT, IDM_SET_PARTICIPANT, LPGENT("Participant"), ROLE_MODERATOR, AFFILIATION_NONE }, - { ROLE_MODERATOR, IDM_SET_MODERATOR, LPGENT("Moderator"), ROLE_MODERATOR, AFFILIATION_ADMIN }, + { ROLE_VISITOR, IDM_SET_VISITOR, LPGENT("Visitor"), ROLE_MODERATOR, AFFILIATION_NONE }, + { ROLE_PARTICIPANT, IDM_SET_PARTICIPANT, LPGENT("Participant"), ROLE_MODERATOR, AFFILIATION_NONE }, + { ROLE_MODERATOR, IDM_SET_MODERATOR, LPGENT("Moderator"), ROLE_MODERATOR, AFFILIATION_ADMIN }, }; ///////////////////////////////////////////////////////////////////////////////////////// @@ -100,16 +100,13 @@ static const TCHAR *sttStatuses[] = { LPGENT("Visitors"), LPGENT("Participants") int JabberGcGetStatus(JABBER_GC_AFFILIATION a, JABBER_GC_ROLE r) { - switch (a) { - case AFFILIATION_OWNER: return 3; + if (a == AFFILIATION_OWNER) + return 3; - default: - switch (r) { - case ROLE_MODERATOR: return 2; - case ROLE_PARTICIPANT: return 1; - } + switch (r) { + case ROLE_MODERATOR: return 2; + case ROLE_PARTICIPANT: return 1; } - return 0; } @@ -282,23 +279,23 @@ void CJabberProto::GcLogUpdateMemberStatus(JABBER_LIST_ITEM *item, const TCHAR * if (jid != NULL) gce.ptszUserInfo = jid; gce.ptszText = szReason; - if (item->bChatActive == 2) { + if (item->bChatActive == 2) { gce.dwFlags |= GCEF_ADDTOLOG; gce.time = time(0); } - switch(gcd.iType = action) { + switch (gcd.iType = action) { case GC_EVENT_PART: break; case GC_EVENT_KICK: gce.ptszStatus = TranslateT("Moderator"); break; default: mir_cslock lck(m_csLists); - for (int i=0; i < item->arResources.getCount(); i++) { + for (int i = 0; i < item->arResources.getCount(); i++) { JABBER_RESOURCE_STATUS *JS = item->arResources[i]; - if ( !lstrcmp(resource, JS->m_tszResourceName)) { + if (!lstrcmp(resource, JS->m_tszResourceName)) { if (action != GC_EVENT_JOIN) { - switch(action) { + switch (action) { case 0: gcd.iType = GC_EVENT_ADDSTATUS; case GC_EVENT_REMOVESTATUS: @@ -345,14 +342,14 @@ void CJabberProto::GcQuit(JABBER_LIST_ITEM *item, int code, HXML reason) CallServiceSync(MS_GC_EVENT, SESSION_TERMINATE, (LPARAM)&gce); CallServiceSync(MS_GC_EVENT, WINDOW_CLEARLOG, (LPARAM)&gce); - ptrT tszMessage( getTStringA("GcMsgQuit")); + ptrT tszMessage(getTStringA("GcMsgQuit")); if (tszMessage != NULL) szMessage = NEWTSTR_ALLOCA(tszMessage); else szMessage = TranslateTS(JABBER_GC_MSG_QUIT); } else { - ptrT myNick( JabberNickFromJID(m_szJabberJID)); + ptrT myNick(JabberNickFromJID(m_szJabberJID)); GcLogUpdateMemberStatus(item, myNick, myNick, NULL, GC_EVENT_KICK, reason); CallServiceSync(MS_GC_EVENT, SESSION_OFFLINE, (LPARAM)&gce); } @@ -366,10 +363,11 @@ void CJabberProto::GcQuit(JABBER_LIST_ITEM *item, int code, HXML reason) m_ThreadInfo->send( XmlNode(_T("presence")) << XATTR(_T("to"), szPresenceTo) << XATTR(_T("type"), _T("unavailable")) - << XCHILD(_T("status"), szMessage)); + << XCHILD(_T("status"), szMessage)); ListRemove(LIST_CHATROOM, item->jid); -} } + } +} ///////////////////////////////////////////////////////////////////////////////////////// // Context menu hooks @@ -713,8 +711,8 @@ public: m_room = mir_tstrdup(room); m_btnAddJid.OnClick = Callback(this, &CGroupchatInviteDlg::OnCommand_AddJid); m_btnInvite.OnClick = Callback(this, &CGroupchatInviteDlg::OnCommand_Invite); - m_clc.OnNewContact = - m_clc.OnListRebuilt = Callback(this, &CGroupchatInviteDlg::FilterList); + m_clc.OnNewContact = + m_clc.OnListRebuilt = Callback(this, &CGroupchatInviteDlg::FilterList); m_clc.OnOptionsChanged = Callback(this, &CGroupchatInviteDlg::ResetListOptions); } @@ -765,31 +763,31 @@ public: JabberGcLogInviteDlgJidData *jidData = (JabberGcLogInviteDlgJidData *)mir_alloc(sizeof(JabberGcLogInviteDlgJidData)); lstrcpy(jidData->jid, buf); - CLCINFOITEM cii = {0}; + CLCINFOITEM cii = { 0 }; cii.cbSize = sizeof(cii); cii.flags = CLCIIF_CHECKBOX; mir_sntprintf(buf, SIZEOF(buf), TranslateT("%s (not on roster)"), jidData->jid); cii.pszText = buf; - jidData->hItem = SendDlgItemMessage(m_hwnd,IDC_CLIST,CLM_ADDINFOITEM,0,(LPARAM)&cii); + jidData->hItem = SendDlgItemMessage(m_hwnd, IDC_CLIST, CLM_ADDINFOITEM, 0, (LPARAM)&cii); SendDlgItemMessage(m_hwnd, IDC_CLIST, CLM_SETCHECKMARK, jidData->hItem, 1); m_newJids.insert(jidData); } void OnCommand_Invite(CCtrlButton*) { - if ( !m_room) return; + if (!m_room) return; TCHAR *text = m_txtReason.GetText(); HWND hwndList = GetDlgItem(m_hwnd, IDC_CLIST); // invite users from roster for (HANDLE hContact = db_find_first(m_proto->m_szModuleName); hContact; hContact = db_find_next(hContact, m_proto->m_szModuleName)) { - if ( m_proto->isChatRoom(hContact)) + if (m_proto->isChatRoom(hContact)) continue; if (int hItem = SendMessage(hwndList, CLM_FINDCONTACT, (WPARAM)hContact, 0)) { if (SendMessage(hwndList, CLM_GETCHECKMARK, (WPARAM)hItem, 0)) { - ptrT jid( m_proto->getTStringA(hContact, "jid")); + ptrT jid(m_proto->getTStringA(hContact, "jid")); if (jid != NULL) InviteUser(jid, text); } @@ -797,9 +795,9 @@ public: } // invite others - for (int i=0; i < m_newJids.getCount(); i++) - if (SendMessage(hwndList, CLM_GETCHECKMARK, (WPARAM)m_newJids[i]->hItem, 0)) - InviteUser(m_newJids[i]->jid, text); + for (int i = 0; i < m_newJids.getCount(); i++) + if (SendMessage(hwndList, CLM_GETCHECKMARK, (WPARAM)m_newJids[i]->hItem, 0)) + InviteUser(m_newJids[i]->jid, text); mir_free(text); Close(); @@ -811,16 +809,17 @@ public: void CJabberProto::AdminSet(const TCHAR *to, const TCHAR *ns, const TCHAR *szItem, const TCHAR *itemVal, const TCHAR *var, const TCHAR *varVal) { - m_ThreadInfo->send( XmlNodeIq(_T("set"), SerialNext(), to) << XQUERY(ns) << XCHILD(_T("item")) << XATTR(szItem, itemVal) << XATTR(var, varVal)); + m_ThreadInfo->send(XmlNodeIq(_T("set"), SerialNext(), to) << XQUERY(ns) << XCHILD(_T("item")) << XATTR(szItem, itemVal) << XATTR(var, varVal)); } -void CJabberProto::AdminSetReason(const TCHAR *to, const TCHAR *ns, const TCHAR *szItem, const TCHAR *itemVal, const TCHAR *var, const TCHAR *varVal , const TCHAR *rsn) -{ m_ThreadInfo->send( XmlNodeIq(_T("set"), SerialNext(), to) << XQUERY(ns) << XCHILD(_T("item")) << XATTR(szItem, itemVal) << XATTR(var, varVal) << XCHILD(_T("reason"), rsn)); +void CJabberProto::AdminSetReason(const TCHAR *to, const TCHAR *ns, const TCHAR *szItem, const TCHAR *itemVal, const TCHAR *var, const TCHAR *varVal, const TCHAR *rsn) +{ + m_ThreadInfo->send(XmlNodeIq(_T("set"), SerialNext(), to) << XQUERY(ns) << XCHILD(_T("item")) << XATTR(szItem, itemVal) << XATTR(var, varVal) << XCHILD(_T("reason"), rsn)); } void CJabberProto::AdminGet(const TCHAR *to, const TCHAR *ns, const TCHAR *var, const TCHAR *varVal, JABBER_IQ_HANDLER foo) { - m_ThreadInfo->send( XmlNodeIq( AddIQ(foo, JABBER_IQ_TYPE_GET, to)) + m_ThreadInfo->send(XmlNodeIq(AddIQ(foo, JABBER_IQ_TYPE_GET, to)) << XQUERY(ns) << XCHILD(_T("item")) << XATTR(var, varVal)); } @@ -835,77 +834,69 @@ struct TUserInfoData static INT_PTR CALLBACK sttUserInfoDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { TUserInfoData *dat = (TUserInfoData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); - int value; + int value, i, idx; switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); - { - int i, idx; - TCHAR buf[256]; - - - SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam); - dat = (TUserInfoData *)lParam; - - WindowSetIcon(hwndDlg, dat->ppro, "group"); + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam); + dat = (TUserInfoData *)lParam; + WindowSetIcon(hwndDlg, dat->ppro, "group"); + { LOGFONT lf; GetObject((HFONT)SendDlgItemMessage(hwndDlg, IDC_TXT_NICK, WM_GETFONT, 0, 0), sizeof(lf), &lf); lf.lfWeight = FW_BOLD; HFONT hfnt = CreateFontIndirect(&lf); SendDlgItemMessage(hwndDlg, IDC_TXT_NICK, WM_SETFONT, (WPARAM)hfnt, TRUE); + } - SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_FILE)); - SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BUTTONSETASFLATBTN, TRUE, 0); - SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BUTTONADDTOOLTIP, (WPARAM)"Apply", 0); - - SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_FILE)); - SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BUTTONSETASFLATBTN, TRUE, 0); - SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BUTTONADDTOOLTIP, (WPARAM)"Apply", 0); - - SendDlgItemMessage(hwndDlg, IDC_ICO_STATUS, STM_SETICON, (WPARAM)LoadSkinnedProtoIcon(dat->ppro->m_szModuleName, dat->him->m_iStatus), 0); - - mir_sntprintf(buf, SIZEOF(buf), TranslateT("Member Info: %s"), dat->him->m_tszResourceName); - SetWindowText(hwndDlg, buf); + SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_FILE)); + SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_AFFILIATION, BUTTONADDTOOLTIP, (WPARAM)"Apply", 0); - mir_sntprintf(buf, SIZEOF(buf), TranslateT("Member Information\n%s from %s"), dat->him->m_tszResourceName, dat->item->jid); - SetDlgItemText(hwndDlg, IDC_HEADERBAR, buf); + SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_FILE)); + SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_ROLE, BUTTONADDTOOLTIP, (WPARAM)"Apply", 0); - SetDlgItemText(hwndDlg, IDC_TXT_NICK, dat->him->m_tszResourceName); - SetDlgItemText(hwndDlg, IDC_TXT_JID, dat->him->m_tszRealJid ? dat->him->m_tszRealJid : TranslateT("Real JID not available")); - SetDlgItemText(hwndDlg, IDC_TXT_STATUS, dat->him->m_tszStatusMessage); + SendDlgItemMessage(hwndDlg, IDC_ICO_STATUS, STM_SETICON, (WPARAM)LoadSkinnedProtoIcon(dat->ppro->m_szModuleName, dat->him->m_iStatus), 0); - for (i=0; i < SIZEOF(sttRoleItems); i++) - { - if ((sttRoleItems[i].value == dat->him->m_role) || sttRoleItems[i].check(dat->me, dat->him)) - { - SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_SETITEMDATA, - idx = SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_ADDSTRING, 0, (LPARAM)sttRoleItems[i].title), - sttRoleItems[i].value); - if (sttRoleItems[i].value == dat->him->m_role) - SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_SETCURSEL, idx, 0); - } + TCHAR buf[256]; + mir_sntprintf(buf, SIZEOF(buf), TranslateT("Member Info: %s"), dat->him->m_tszResourceName); + SetWindowText(hwndDlg, buf); + + mir_sntprintf(buf, SIZEOF(buf), TranslateT("Member Information\n%s from %s"), dat->him->m_tszResourceName, dat->item->jid); + SetDlgItemText(hwndDlg, IDC_HEADERBAR, buf); + + SetDlgItemText(hwndDlg, IDC_TXT_NICK, dat->him->m_tszResourceName); + SetDlgItemText(hwndDlg, IDC_TXT_JID, dat->him->m_tszRealJid ? dat->him->m_tszRealJid : TranslateT("Real JID not available")); + SetDlgItemText(hwndDlg, IDC_TXT_STATUS, dat->him->m_tszStatusMessage); + + for (i = 0; i < SIZEOF(sttRoleItems); i++) { + if ((sttRoleItems[i].value == dat->him->m_role) || sttRoleItems[i].check(dat->me, dat->him)) { + SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_SETITEMDATA, + idx = SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_ADDSTRING, 0, (LPARAM)sttRoleItems[i].title), + sttRoleItems[i].value); + if (sttRoleItems[i].value == dat->him->m_role) + SendDlgItemMessage(hwndDlg, IDC_TXT_ROLE, CB_SETCURSEL, idx, 0); } - for (i=0; i < SIZEOF(sttAffiliationItems); i++) - { - if ((sttAffiliationItems[i].value == dat->him->m_affiliation) || sttAffiliationItems[i].check(dat->me, dat->him)) - { - SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_SETITEMDATA, - idx = SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_ADDSTRING, 0, (LPARAM)sttAffiliationItems[i].title), - sttAffiliationItems[i].value); - if (sttAffiliationItems[i].value == dat->him->m_affiliation) - SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_SETCURSEL, idx, 0); - } + } + for (i = 0; i < SIZEOF(sttAffiliationItems); i++) { + if ((sttAffiliationItems[i].value == dat->him->m_affiliation) || sttAffiliationItems[i].check(dat->me, dat->him)) { + SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_SETITEMDATA, + idx = SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_ADDSTRING, 0, (LPARAM)sttAffiliationItems[i].title), + sttAffiliationItems[i].value); + if (sttAffiliationItems[i].value == dat->him->m_affiliation) + SendDlgItemMessage(hwndDlg, IDC_TXT_AFFILIATION, CB_SETCURSEL, idx, 0); } - - EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_ROLE), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_AFFILIATION), FALSE); } + + EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_ROLE), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_AFFILIATION), FALSE); break; case WM_COMMAND: - if ( !dat) + if (!dat) break; switch (LOWORD(wParam)) { @@ -1005,7 +996,7 @@ static INT_PTR CALLBACK sttUserInfoDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* gch) { - pResourceStatus me( item->findResource(item->nick)), him( item->findResource(gch->ptszUID)); + pResourceStatus me(item->findResource(item->nick)), him(item->findResource(gch->ptszUID)); if (him == NULL || me == NULL) return; @@ -1023,31 +1014,31 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* return; } - switch(gch->dwData) { + switch (gch->dwData) { case IDM_SLAP: if (ppro->m_bJabberOnline) { - ptrT szMessage( ppro->getTStringA("GcMsgSlap")); + ptrT szMessage(ppro->getTStringA("GcMsgSlap")); if (szMessage == NULL) - szMessage = mir_tstrdup( TranslateTS(JABBER_GC_MSG_SLAP)); + szMessage = mir_tstrdup(TranslateTS(JABBER_GC_MSG_SLAP)); TCHAR buf[256]; // do not use snprintf to avoid possible problems with % symbol if (TCHAR *p = _tcsstr(szMessage, _T("%s"))) { *p = 0; - mir_sntprintf(buf, SIZEOF(buf), _T("%s%s%s"), szMessage, him->m_tszResourceName, p+2); + mir_sntprintf(buf, SIZEOF(buf), _T("%s%s%s"), szMessage, him->m_tszResourceName, p + 2); } else lstrcpyn(buf, szMessage, SIZEOF(buf)); UnEscapeChatTags(buf); ppro->m_ThreadInfo->send( XmlNode(_T("message")) << XATTR(_T("to"), item->jid) << XATTR(_T("type"), _T("groupchat")) - << XCHILD(_T("body"), buf)); + << XCHILD(_T("body"), buf)); } break; case IDM_VCARD: { - JABBER_SEARCH_RESULT jsr = {0}; + JABBER_SEARCH_RESULT jsr = { 0 }; mir_sntprintf(jsr.jid, SIZEOF(jsr.jid), _T("%s/%s"), item->jid, him->m_tszResourceName); jsr.hdr.cbSize = sizeof(JABBER_SEARCH_RESULT); @@ -1158,9 +1149,9 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* if (ppro->EnterString(szBuffer, SIZEOF(szBuffer), szTitle, JES_MULTINE, "gcReason_")) { ppro->m_ThreadInfo->send( - XmlNodeIq(_T("set"), ppro->SerialNext(), item->jid) << XQUERY(JABBER_FEAT_MUC_ADMIN) - << XCHILD(_T("item")) << XATTR(_T("jid"), szVictimBareJid) << XATTR(_T("affiliation"), _T("outcast")) - << XCHILD(_T("reason"), szBuffer)); + XmlNodeIq(_T("set"), ppro->SerialNext(), item->jid) << XQUERY(JABBER_FEAT_MUC_ADMIN) + << XCHILD(_T("item")) << XATTR(_T("jid"), szVictimBareJid) << XATTR(_T("affiliation"), _T("outcast")) + << XCHILD(_T("reason"), szBuffer)); } } } @@ -1187,7 +1178,7 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* mir_sntprintf(szTitle, SIZEOF(szTitle), TranslateT("Invite %s to %s"), him->m_tszResourceName, szInviteTo); *szBuffer = 0; - if ( !ppro->EnterString(szBuffer, SIZEOF(szBuffer), szTitle, JES_MULTINE)) + if (!ppro->EnterString(szBuffer, SIZEOF(szBuffer), szTitle, JES_MULTINE)) break; mir_sntprintf(szTitle, SIZEOF(szTitle), _T("%s/%s"), item->jid, resourceName_copy); @@ -1220,7 +1211,7 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* case IDM_RJID_VCARD: if (him->m_tszRealJid && *him->m_tszRealJid) { HANDLE hContact; - JABBER_SEARCH_RESULT jsr ={0}; + JABBER_SEARCH_RESULT jsr = { 0 }; jsr.hdr.cbSize = sizeof(JABBER_SEARCH_RESULT); mir_sntprintf(jsr.jid, SIZEOF(jsr.jid), _T("%s"), him->m_tszRealJid); if (TCHAR *tmp = _tcschr(jsr.jid, _T('/'))) *tmp = 0; @@ -1235,14 +1226,14 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* case IDM_RJID_ADD: if (him->m_tszRealJid && *him->m_tszRealJid) { - JABBER_SEARCH_RESULT jsr={0}; + JABBER_SEARCH_RESULT jsr = { 0 }; jsr.hdr.cbSize = sizeof(JABBER_SEARCH_RESULT); jsr.hdr.flags = PSR_TCHAR; mir_sntprintf(jsr.jid, SIZEOF(jsr.jid), _T("%s"), him->m_tszRealJid); if (TCHAR *tmp = _tcschr(jsr.jid, _T('/'))) *tmp = 0; jsr.hdr.nick = jsr.jid; - ADDCONTACTSTRUCT acs={0}; + ADDCONTACTSTRUCT acs = { 0 }; acs.handleType = HANDLE_SEARCHRESULT; acs.szProto = ppro->m_szModuleName; acs.psr = (PROTOSEARCHRESULT *)&jsr; @@ -1257,7 +1248,7 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g TCHAR szCaption[1024], szBuffer[1024]; szBuffer[0] = 0; - switch(gch->dwData) { + switch (gch->dwData) { case IDM_LST_PARTICIPANT: ppro->AdminGet(gch->pDest->ptszID, JABBER_FEAT_MUC_ADMIN, _T("role"), _T("participant"), &CJabberProto::OnIqResultMucGetVoiceList); break; @@ -1284,14 +1275,14 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g case IDM_TOPIC: mir_sntprintf(szCaption, SIZEOF(szCaption), TranslateT("Set topic for %s"), gch->pDest->ptszID); - { + { LPCTSTR s = item->getTemp()->m_tszStatusMessage; - size_t cbLen = 2048 + lstrlen(s)*2; - TCHAR *ptszBuf = (TCHAR*)_alloca(sizeof(TCHAR) * cbLen); + size_t cbLen = 2048 + lstrlen(s) * 2; + TCHAR *ptszBuf = (TCHAR*)_alloca(sizeof(TCHAR)* cbLen); if (s) { TCHAR *d = ptszBuf; - for (size_t i=0; i < cbLen && s[i] != 0; i++) { - if (s[i] != '\n' || (i && s[i-1] == '\r')) + for (size_t i = 0; i < cbLen && s[i] != 0; i++) { + if (s[i] != '\n' || (i && s[i - 1] == '\r')) *d++ = s[i]; else { *d++ = '\r'; @@ -1304,8 +1295,8 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g if (ppro->EnterString(ptszBuf, cbLen, szCaption, JES_RICHEDIT, "gcTopic_")) ppro->m_ThreadInfo->send( - XmlNode(_T("message")) << XATTR(_T("to"), gch->pDest->ptszID) << XATTR(_T("type"), _T("groupchat")) - << XCHILD(_T("subject"), ptszBuf)); + XmlNode(_T("message")) << XATTR(_T("to"), gch->pDest->ptszID) << XATTR(_T("type"), _T("groupchat")) + << XCHILD(_T("subject"), ptszBuf)); } break; @@ -1316,10 +1307,11 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g if (ppro->EnterString(szBuffer, SIZEOF(szBuffer), szCaption, JES_COMBO, "gcNick_")) { JABBER_LIST_ITEM *item = ppro->ListGetItemPtr(LIST_CHATROOM, gch->pDest->ptszID); if (item != NULL) { - TCHAR text[ 1024 ]; + TCHAR text[1024]; mir_sntprintf(text, SIZEOF(text), _T("%s/%s"), gch->pDest->ptszID, szBuffer); ppro->SendPresenceTo(ppro->m_iStatus == ID_STATUS_INVISIBLE ? ID_STATUS_ONLINE : ppro->m_iStatus, text, NULL); - } } + } + } break; case IDM_INVITE: @@ -1328,7 +1320,7 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g case IDM_CONFIG: ppro->m_ThreadInfo->send( - XmlNodeIq( ppro->AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, gch->pDest->ptszID)) + XmlNodeIq(ppro->AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, gch->pDest->ptszID)) << XQUERY(JABBER_FEAT_MUC_OWNER)); break; @@ -1348,7 +1340,7 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g } case IDM_DESTROY: mir_sntprintf(szBuffer, SIZEOF(szBuffer), TranslateT("Reason to destroy %s"), gch->pDest->ptszID); - if ( !ppro->EnterString(szBuffer, SIZEOF(szBuffer), NULL, JES_MULTINE, "gcReason_")) + if (!ppro->EnterString(szBuffer, SIZEOF(szBuffer), NULL, JES_MULTINE, "gcReason_")) break; ppro->m_ThreadInfo->send( @@ -1391,6 +1383,7 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g case IDM_CPY_RJID: JabberCopyText((HWND)CallService(MS_CLUI_GETHWND, 0, 0), item->jid); break; + case IDM_CPY_TOPIC: JabberCopyText((HWND)CallService(MS_CLUI_GETHWND, 0, 0), item->getTemp()->m_tszStatusMessage); break; @@ -1406,7 +1399,7 @@ static void sttSendPrivateMessage(CJabberProto *ppro, JABBER_LIST_ITEM *item, co mir_sntprintf(szFullJid, SIZEOF(szFullJid), _T("%s/%s"), item->jid, nick); HANDLE hContact = ppro->DBCreateContact(szFullJid, NULL, TRUE, FALSE); if (hContact != NULL) { - pResourceStatus r( item->findResource(nick)); + pResourceStatus r(item->findResource(nick)); if (r) ppro->setWord(hContact, "Status", r->m_iStatus); @@ -1414,7 +1407,8 @@ static void sttSendPrivateMessage(CJabberProto *ppro, JABBER_LIST_ITEM *item, co ppro->setTString(hContact, "Nick", nick); db_set_dw(hContact, "Ignore", "Mask1", 0); CallService(MS_MSG_SENDMESSAGE, (WPARAM)hContact, 0); -} } + } +} ///////////////////////////////////////////////////////////////////////////////////////// // General chat event processing hook @@ -1443,7 +1437,8 @@ int CJabberProto::JabberGcEventHook(WPARAM, LPARAM lParam) m_ThreadInfo->send( XmlNode(_T("message")) << XATTR(_T("to"), item->jid) << XATTR(_T("type"), _T("groupchat")) << XCHILD(_T("body"), buf)); - } } + } + } break; case GC_USER_PRIVMESS: @@ -1460,8 +1455,8 @@ int CJabberProto::JabberGcEventHook(WPARAM, LPARAM lParam) case GC_USER_CHANMGR: m_ThreadInfo->send( - XmlNodeIq( AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, item->jid)) - << XQUERY(JABBER_FEAT_MUC_OWNER)); + XmlNodeIq(AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, item->jid)) + << XQUERY(JABBER_FEAT_MUC_OWNER)); break; } @@ -1469,9 +1464,10 @@ int CJabberProto::JabberGcEventHook(WPARAM, LPARAM lParam) } ///////////////////////////////////////////////////////////////////////////////////////////////// -void CJabberProto::AddMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* str , TCHAR* rsn) + +void CJabberProto::AddMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* str, TCHAR* rsn) { - const TCHAR *field = (jidListInfo->type == MUC_BANLIST || _tcschr(str,'@')) ? _T("jid") : _T("nick"); + const TCHAR *field = (jidListInfo->type == MUC_BANLIST || _tcschr(str, '@')) ? _T("jid") : _T("nick"); TCHAR *roomJid = jidListInfo->roomJid; if (jidListInfo->type == MUC_BANLIST) { AdminSetReason(roomJid, JABBER_FEAT_MUC_ADMIN, field, str, _T("affiliation"), _T("outcast"), rsn); @@ -1481,7 +1477,7 @@ void CJabberProto::AddMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* s void CJabberProto::AddMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* str) { - const TCHAR *field = (jidListInfo->type == MUC_BANLIST || _tcschr(str,'@')) ? _T("jid") : _T("nick"); + const TCHAR *field = (jidListInfo->type == MUC_BANLIST || _tcschr(str, '@')) ? _T("jid") : _T("nick"); TCHAR *roomJid = jidListInfo->roomJid; switch (jidListInfo->type) { @@ -1509,7 +1505,8 @@ void CJabberProto::AddMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* s AdminSet(roomJid, JABBER_FEAT_MUC_ADMIN, field, str, _T("affiliation"), _T("owner")); AdminGet(roomJid, JABBER_FEAT_MUC_ADMIN, _T("affiliation"), _T("owner"), &CJabberProto::OnIqResultMucGetOwnerList); break; -} } + } +} void CJabberProto::DeleteMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR* jid) { @@ -1532,4 +1529,5 @@ void CJabberProto::DeleteMucListItem(JABBER_MUC_JIDLIST_INFO* jidListInfo, TCHAR case MUC_OWNERLIST: // change affiliation to admin (from owner) AdminSet(roomJid, JABBER_FEAT_MUC_ADMIN, _T("jid"), jid, _T("affiliation"), _T("admin")); break; -} } + } +} diff --git a/protocols/JabberG/src/jabber_groupchat.cpp b/protocols/JabberG/src/jabber_groupchat.cpp index 3a1c740926..ad2091d41e 100644 --- a/protocols/JabberG/src/jabber_groupchat.cpp +++ b/protocols/JabberG/src/jabber_groupchat.cpp @@ -95,12 +95,12 @@ struct JabberGcRecentInfo this->room = mir_tstrdup(room); this->server = mir_tstrdup(server); this->nick = mir_tstrdup(nick); - this->password = mir_tstrdup(password); + this->password = mir_tstrdup(password); } void fillData(const TCHAR *jid) { - TCHAR *room, *server, *nick=NULL; + TCHAR *room, *server, *nick = NULL; room = NEWTSTR_ALLOCA(jid); server = _tcschr(room, _T('@')); if (server) { @@ -211,7 +211,7 @@ INT_PTR __cdecl CJabberProto::OnJoinChat(WPARAM wParam, LPARAM) INT_PTR __cdecl CJabberProto::OnLeaveChat(WPARAM wParam, LPARAM) { HANDLE hContact = (HANDLE)wParam; - ptrT jid( getTStringA(hContact, "ChatRoomID")); + ptrT jid(getTStringA(hContact, "ChatRoomID")); if (jid != NULL) { if (getWord(hContact, "Status", 0) != ID_STATUS_OFFLINE) { JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_CHATROOM, jid); @@ -227,8 +227,8 @@ void CJabberProto::GroupchatJoinRoom(const TCHAR *server, const TCHAR *room, con JabberGcRecentInfo info(this); bool found = false; - for (int i=0 ; i < 5; i++) { - if ( !info.loadRecent(i)) + for (int i = 0; i < 5; i++) { + if (!info.loadRecent(i)) continue; if (info.equals(room, server, nick, password)) { @@ -290,38 +290,32 @@ static int sttRoomListAppend(HWND hwndList, RoomInfo::Overlay overlay, const TCH void CJabberProto::OnIqResultDiscovery(HXML iqNode, CJabberIqInfo *pInfo) { - if ( !iqNode || !pInfo) + if (!iqNode || !pInfo) return; HWND hwndList = (HWND)pInfo->GetUserData(); SendMessage(hwndList, CB_SHOWDROPDOWN, FALSE, 0); SendMessage(hwndList, CB_RESETCONTENT, 0, 0); - if (pInfo->GetIqType() == JABBER_IQ_TYPE_RESULT) - { - HXML query = xmlGetChild(iqNode , "query"); - if (query == NULL) - { + if (pInfo->GetIqType() == JABBER_IQ_TYPE_RESULT) { + HXML query = xmlGetChild(iqNode, "query"); + if (query == NULL) { sttRoomListAppend(hwndList, RoomInfo::ROOM_FAIL, TranslateT("Jabber Error"), TranslateT("Failed to retrieve room list from server."), _T("")); - } else - { + } + else { bool found = false; HXML item; - for (int i = 1; item = xmlGetNthChild(query, _T("item"), i); i++) - { + for (int i = 1; item = xmlGetNthChild(query, _T("item"), i); i++) { const TCHAR *jid = xmlGetAttrValue(item, _T("jid")); TCHAR *name = NEWTSTR_ALLOCA(jid); - if (name) - { + if (name) { if (TCHAR *p = _tcschr(name, _T('@'))) *p = 0; - } else - { - name = _T(""); } + else name = _T(""); sttRoomListAppend(hwndList, ListGetItemPtr(LIST_BOOKMARK, jid) ? RoomInfo::ROOM_BOOKMARK : RoomInfo::ROOM_DEFAULT, @@ -331,31 +325,28 @@ void CJabberProto::OnIqResultDiscovery(HXML iqNode, CJabberIqInfo *pInfo) found = true; } - if ( !found) - { + if (!found) { sttRoomListAppend(hwndList, RoomInfo::ROOM_FAIL, TranslateT("Jabber Error"), TranslateT("No rooms available on server."), _T("")); } } - } else - if (pInfo->GetIqType() == JABBER_IQ_TYPE_ERROR) - { - HXML errorNode = xmlGetChild(iqNode , "error"); + } + else if (pInfo->GetIqType() == JABBER_IQ_TYPE_ERROR) { + HXML errorNode = xmlGetChild(iqNode, "error"); TCHAR *str = JabberErrorMsg(errorNode); sttRoomListAppend(hwndList, RoomInfo::ROOM_FAIL, TranslateT("Jabber Error"), str, _T("")); mir_free(str); - } else - { + } + else sttRoomListAppend(hwndList, RoomInfo::ROOM_FAIL, TranslateT("Jabber Error"), TranslateT("Room list request timed out."), _T("")); - } SendMessage(hwndList, CB_SHOWDROPDOWN, TRUE, 0); } @@ -374,20 +365,20 @@ static void sttJoinDlgShowRecentItems(HWND hwndDlg, int newCount) int curRecentHeight = rcLastItem.bottom - rcTitle.top - (5 - oldCount) * (rcLastItem.bottom - rcLastItem.top); int newRecentHeight = rcLastItem.bottom - rcTitle.top - (5 - newCount) * (rcLastItem.bottom - rcLastItem.top); - if ( !newCount) newRecentHeight = 0; + if (!newCount) + newRecentHeight = 0; int offset = newRecentHeight - curRecentHeight; RECT rc; int ctrls[] = { IDC_BOOKMARKS, IDOK, IDCANCEL }; - for (int i=0; i < SIZEOF(ctrls); i++) - { + for (int i = 0; i < SIZEOF(ctrls); i++) { GetWindowRect(GetDlgItem(hwndDlg, ctrls[i]), &rc); MapWindowPoints(NULL, hwndDlg, (LPPOINT)&rc, 2); - SetWindowPos(GetDlgItem(hwndDlg, ctrls[i]), NULL, rc.left, rc.top + offset, 0, 0, SWP_NOSIZE|SWP_NOZORDER); + SetWindowPos(GetDlgItem(hwndDlg, ctrls[i]), NULL, rc.left, rc.top + offset, 0, 0, SWP_NOSIZE | SWP_NOZORDER); } GetWindowRect(hwndDlg, &rc); - SetWindowPos(hwndDlg, NULL, 0, 0, rc.right-rc.left, rc.bottom-rc.top+offset, SWP_NOMOVE|SWP_NOZORDER); + SetWindowPos(hwndDlg, NULL, 0, 0, rc.right - rc.left, rc.bottom - rc.top + offset, SWP_NOMOVE | SWP_NOZORDER); } class CJabberDlgGcJoin: public CJabberDlgBase @@ -440,19 +431,19 @@ void CJabberDlgGcJoin::OnInitDialog() delete info; } - ptrT tszNick( m_proto->getTStringA("Nick")); + ptrT tszNick(m_proto->getTStringA("Nick")); if (tszNick == NULL) tszNick = JabberNickFromJID(m_proto->m_szJabberJID); SetDlgItemText(m_hwnd, IDC_NICK, tszNick); - TEXTMETRIC tm = {0}; + TEXTMETRIC tm = { 0 }; HDC hdc = GetDC(m_hwnd); GetTextMetrics(hdc, &tm); ReleaseDC(m_hwnd, hdc); sttTextLineHeight = tm.tmHeight; - SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_SETITEMHEIGHT, -1, sttTextLineHeight-1); + SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_SETITEMHEIGHT, -1, sttTextLineHeight - 1); - LOGFONT lf = {0}; + LOGFONT lf = { 0 }; HFONT hfnt = (HFONT)SendDlgItemMessage(m_hwnd, IDC_TXT_RECENT, WM_GETFONT, 0, 0); GetObject(hfnt, sizeof(lf), &lf); lf.lfWeight = FW_BOLD; @@ -466,16 +457,16 @@ void CJabberDlgGcJoin::OnInitDialog() m_proto->ComboLoadRecentStrings(m_hwnd, IDC_SERVER, "joinWnd_rcSvr"); int i; - for (i=0; i < 5; i++) { + for (i = 0; i < 5; i++) { TCHAR jid[JABBER_MAX_JID_LEN]; JabberGcRecentInfo info(m_proto); - if ( !info.loadRecent(i)) + if (!info.loadRecent(i)) break; mir_sntprintf(jid, SIZEOF(jid), _T("%s@%s (%s)"), info.room, info.server, info.nick ? info.nick : TranslateT("")); - SetDlgItemText(m_hwnd, IDC_RECENT1+i, jid); + SetDlgItemText(m_hwnd, IDC_RECENT1 + i, jid); } sttJoinDlgShowRecentItems(m_hwnd, i); } @@ -502,89 +493,83 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) switch (msg) { case WM_DELETEITEM: - { - LPDELETEITEMSTRUCT lpdis = (LPDELETEITEMSTRUCT)lParam; - if (lpdis->CtlID != IDC_ROOM) - break; + { + LPDELETEITEMSTRUCT lpdis = (LPDELETEITEMSTRUCT)lParam; + if (lpdis->CtlID != IDC_ROOM) + break; - RoomInfo *info = (RoomInfo *)lpdis->itemData; - mir_free(info->line1); - mir_free(info->line2); - mir_free(info); + RoomInfo *info = (RoomInfo *)lpdis->itemData; + mir_free(info->line1); + mir_free(info->line2); + mir_free(info); + } break; - } case WM_MEASUREITEM: - { - LPMEASUREITEMSTRUCT lpmis = (LPMEASUREITEMSTRUCT)lParam; - if (lpmis->CtlID != IDC_ROOM) - break; + { + LPMEASUREITEMSTRUCT lpmis = (LPMEASUREITEMSTRUCT)lParam; + if (lpmis->CtlID != IDC_ROOM) + break; - lpmis->itemHeight = 2*sttTextLineHeight; - if (lpmis->itemID == -1) - lpmis->itemHeight = sttTextLineHeight-1; + lpmis->itemHeight = 2*sttTextLineHeight; + if (lpmis->itemID == -1) + lpmis->itemHeight = sttTextLineHeight-1; + } break; - } case WM_DRAWITEM: - { - LPDRAWITEMSTRUCT lpdis = (LPDRAWITEMSTRUCT)lParam; - if (lpdis->CtlID != IDC_ROOM) - break; - - if (lpdis->itemID < 0) - break; + { + LPDRAWITEMSTRUCT lpdis = (LPDRAWITEMSTRUCT)lParam; + if (lpdis->CtlID != IDC_ROOM || lpdis->itemID < 0) + break; - RoomInfo *info = (RoomInfo *)SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_GETITEMDATA, lpdis->itemID, 0); - COLORREF clLine1, clLine2, clBack; + RoomInfo *info = (RoomInfo *)SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_GETITEMDATA, lpdis->itemID, 0); + COLORREF clLine1, clBack; - if (lpdis->itemState & ODS_SELECTED) - { - FillRect(lpdis->hDC, &lpdis->rcItem, GetSysColorBrush(COLOR_HIGHLIGHT)); - clBack = GetSysColor(COLOR_HIGHLIGHT); - clLine1 = GetSysColor(COLOR_HIGHLIGHTTEXT); - } else - { - FillRect(lpdis->hDC, &lpdis->rcItem, GetSysColorBrush(COLOR_WINDOW)); - clBack = GetSysColor(COLOR_WINDOW); - clLine1 = GetSysColor(COLOR_WINDOWTEXT); - } - clLine2 = RGB( - GetRValue(clLine1) * 0.66 + GetRValue(clBack) * 0.34, - GetGValue(clLine1) * 0.66 + GetGValue(clBack) * 0.34, - GetBValue(clLine1) * 0.66 + GetBValue(clBack) * 0.34 - ); - - SetBkMode(lpdis->hDC, TRANSPARENT); - - RECT rc; - - rc = lpdis->rcItem; - rc.bottom -= (rc.bottom - rc.top) / 2; - rc.left += 20; - SetTextColor(lpdis->hDC, clLine1); - DrawText(lpdis->hDC, info->line1, lstrlen(info->line1), &rc, DT_LEFT|DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER|DT_WORD_ELLIPSIS); - - rc = lpdis->rcItem; - rc.top += (rc.bottom - rc.top) / 2; - rc.left += 20; - SetTextColor(lpdis->hDC, clLine2); - DrawText(lpdis->hDC, info->line2, lstrlen(info->line2), &rc, DT_LEFT|DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER|DT_WORD_ELLIPSIS); - - DrawIconEx(lpdis->hDC, lpdis->rcItem.left+1, lpdis->rcItem.top+1, m_proto->LoadIconEx("group"), 16, 16, 0, NULL, DI_NORMAL); - switch (info->overlay) { - case RoomInfo::ROOM_WAIT: - DrawIconEx(lpdis->hDC, lpdis->rcItem.left+1, lpdis->rcItem.top+1, m_proto->LoadIconEx("disco_progress"), 16, 16, 0, NULL, DI_NORMAL); - break; - case RoomInfo::ROOM_FAIL: - DrawIconEx(lpdis->hDC, lpdis->rcItem.left+1, lpdis->rcItem.top+1, m_proto->LoadIconEx("disco_fail"), 16, 16, 0, NULL, DI_NORMAL); - break; - case RoomInfo::ROOM_BOOKMARK: - DrawIconEx(lpdis->hDC, lpdis->rcItem.left+1, lpdis->rcItem.top+1, m_proto->LoadIconEx("disco_ok"), 16, 16, 0, NULL, DI_NORMAL); - break; + if (lpdis->itemState & ODS_SELECTED) { + FillRect(lpdis->hDC, &lpdis->rcItem, GetSysColorBrush(COLOR_HIGHLIGHT)); + clBack = GetSysColor(COLOR_HIGHLIGHT); + clLine1 = GetSysColor(COLOR_HIGHLIGHTTEXT); + } + else { + FillRect(lpdis->hDC, &lpdis->rcItem, GetSysColorBrush(COLOR_WINDOW)); + clBack = GetSysColor(COLOR_WINDOW); + clLine1 = GetSysColor(COLOR_WINDOWTEXT); + } + COLORREF clLine2 = RGB( + GetRValue(clLine1) * 0.66 + GetRValue(clBack) * 0.34, + GetGValue(clLine1) * 0.66 + GetGValue(clBack) * 0.34, + GetBValue(clLine1) * 0.66 + GetBValue(clBack) * 0.34); + + SetBkMode(lpdis->hDC, TRANSPARENT); + + RECT rc = lpdis->rcItem; + rc.bottom -= (rc.bottom - rc.top) / 2; + rc.left += 20; + SetTextColor(lpdis->hDC, clLine1); + DrawText(lpdis->hDC, info->line1, lstrlen(info->line1), &rc, DT_LEFT|DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER|DT_WORD_ELLIPSIS); + + rc = lpdis->rcItem; + rc.top += (rc.bottom - rc.top) / 2; + rc.left += 20; + SetTextColor(lpdis->hDC, clLine2); + DrawText(lpdis->hDC, info->line2, lstrlen(info->line2), &rc, DT_LEFT | DT_NOPREFIX | DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS); + + DrawIconEx(lpdis->hDC, lpdis->rcItem.left + 1, lpdis->rcItem.top + 1, m_proto->LoadIconEx("group"), 16, 16, 0, NULL, DI_NORMAL); + switch (info->overlay) { + case RoomInfo::ROOM_WAIT: + DrawIconEx(lpdis->hDC, lpdis->rcItem.left + 1, lpdis->rcItem.top + 1, m_proto->LoadIconEx("disco_progress"), 16, 16, 0, NULL, DI_NORMAL); + break; + case RoomInfo::ROOM_FAIL: + DrawIconEx(lpdis->hDC, lpdis->rcItem.left + 1, lpdis->rcItem.top + 1, m_proto->LoadIconEx("disco_fail"), 16, 16, 0, NULL, DI_NORMAL); + break; + case RoomInfo::ROOM_BOOKMARK: + DrawIconEx(lpdis->hDC, lpdis->rcItem.left + 1, lpdis->rcItem.top + 1, m_proto->LoadIconEx("disco_ok"), 16, 16, 0, NULL, DI_NORMAL); + break; + } } - } + break; case WM_COMMAND: switch (LOWORD(wParam)) { @@ -594,8 +579,7 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) case CBN_SELCHANGE: { int iqid = GetWindowLongPtr(GetDlgItem(m_hwnd, IDC_ROOM), GWLP_USERDATA); - if (iqid) - { + if (iqid) { m_proto->m_iqManager.ExpireIq(iqid); SetWindowLongPtr(GetDlgItem(m_hwnd, IDC_ROOM), GWLP_USERDATA, 0); } @@ -608,11 +592,9 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) case IDC_ROOM: switch (HIWORD(wParam)) { case CBN_DROPDOWN: - if ( !SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_GETCOUNT, 0, 0)) - { + if (!SendDlgItemMessage(m_hwnd, IDC_ROOM, CB_GETCOUNT, 0, 0)) { int iqid = GetWindowLongPtr(GetDlgItem(m_hwnd, IDC_ROOM), GWLP_USERDATA); - if (iqid) - { + if (iqid) { m_proto->m_iqManager.ExpireIq(iqid); SetWindowLongPtr(GetDlgItem(m_hwnd, IDC_ROOM), GWLP_USERDATA, 0); } @@ -623,8 +605,7 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) TCHAR *server = (TCHAR *)_alloca(len * sizeof(TCHAR)); GetWindowText(GetDlgItem(m_hwnd, IDC_SERVER), server, len); - if (*server) - { + if (*server) { sttRoomListAppend(GetDlgItem(m_hwnd, IDC_ROOM), RoomInfo::ROOM_WAIT, TranslateT("Loading..."), TranslateT("Please wait for room list to download."), _T("")); CJabberIqInfo *pInfo = m_proto->AddIQ(&CJabberProto::OnIqResultDiscovery, JABBER_IQ_TYPE_GET, server, 0, -1, (void*)GetDlgItem(m_hwnd, IDC_ROOM)); @@ -634,13 +615,12 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) m_proto->m_ThreadInfo->send(iq); SetWindowLongPtr(GetDlgItem(m_hwnd, IDC_ROOM), GWLP_USERDATA, pInfo->GetIqId()); - } else - { + } + else sttRoomListAppend(GetDlgItem(m_hwnd, IDC_ROOM), RoomInfo::ROOM_FAIL, TranslateT("Jabber Error"), TranslateT("Please specify group chat directory first."), _T("")); - } } break; } @@ -697,8 +677,8 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) if (GetAsyncKeyState(VK_CONTROL)) break; } - // fall through + // fall through case IDOK: { GetDlgItemText(m_hwnd, IDC_SERVER, text, SIZEOF(text)); @@ -722,8 +702,9 @@ INT_PTR CJabberDlgGcJoin::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) break; } break; + case WM_JABBER_CHECK_ONLINE: - if ( !m_proto->m_bJabberOnline) + if (!m_proto->m_bJabberOnline) EndDialog(m_hwnd, 0); break; } @@ -767,9 +748,9 @@ static VOID CALLBACK JabberGroupchatChangeNickname(void* arg) JABBER_LIST_ITEM *item = param->ppro->ListGetItemPtr(LIST_CHATROOM, param->jid); if (item != NULL) { - TCHAR szBuffer[ 1024 ]; - TCHAR szCaption[ 1024 ]; - szBuffer[ 0 ] = _T('\0'); + TCHAR szBuffer[1024]; + TCHAR szCaption[1024]; + szBuffer[0] = _T('\0'); TCHAR *roomName = item->name ? item->name : item->jid; mir_sntprintf(szCaption, SIZEOF(szCaption), TranslateT("Change nickname in <%s>"), roomName); @@ -777,18 +758,19 @@ static VOID CALLBACK JabberGroupchatChangeNickname(void* arg) mir_sntprintf(szBuffer, SIZEOF(szBuffer), _T("%s"), item->nick); if (param->ppro->EnterString(szBuffer, SIZEOF(szBuffer), szCaption, JES_COMBO, "gcNick_")) { - TCHAR text[ 1024 ]; + TCHAR text[1024]; replaceStrT(item->nick, szBuffer); mir_sntprintf(text, SIZEOF(text), _T("%s/%s"), item->jid, szBuffer); param->ppro->SendPresenceTo(param->ppro->m_iStatus, text, NULL); - } } + } + } delete param; } static int sttGetStatusCode(HXML node) { - HXML statusNode = xmlGetChild(node , "status"); + HXML statusNode = xmlGetChild(node, "status"); if (statusNode == NULL) return -1; @@ -806,13 +788,13 @@ void CJabberProto::RenameParticipantNick(JABBER_LIST_ITEM *item, const TCHAR *ol if (newNick == NULL) return; - pResourceStatus r( item->findResource(oldNick)); + pResourceStatus r(item->findResource(oldNick)); if (r == NULL) return; r->m_tszResourceName = mir_tstrdup(newNick); - if ( !lstrcmp(item->nick, oldNick)) { + if (!lstrcmp(item->nick, oldNick)) { replaceStrT(item->nick, newNick); HANDLE hContact = HContactFromJID(item->jid); @@ -840,7 +822,7 @@ void CJabberProto::GroupchatProcessPresence(HXML node) { const TCHAR *from; - if ( !node || !xmlGetName(node) || lstrcmp(xmlGetName(node), _T("presence"))) return; + if (!node || !xmlGetName(node) || lstrcmp(xmlGetName(node), _T("presence"))) return; if ((from = xmlGetAttrValue(node, _T("from"))) == NULL) return; const TCHAR *resource = _tcschr(from, '/'); @@ -851,7 +833,7 @@ void CJabberProto::GroupchatProcessPresence(HXML node) if (item == NULL) return; - pResourceStatus r( item->findResource(resource)); + pResourceStatus r(item->findResource(resource)); HXML nNode = xmlGetChildByTag(node, "nick", "xmlns", JABBER_FEAT_NICK); const TCHAR *cnick = xmlGetText(nNode); @@ -862,7 +844,7 @@ void CJabberProto::GroupchatProcessPresence(HXML node) r->m_tszNick = mir_tstrdup(cnick); HXML xNode = xmlGetChildByTag(node, "x", "xmlns", JABBER_FEAT_MUC_USER); - HXML itemNode = xmlGetChild(xNode , "item"); + HXML itemNode = xmlGetChild(xNode, "item"); const TCHAR *type = xmlGetAttrValue(node, _T("type")); @@ -877,26 +859,26 @@ void CJabberProto::GroupchatProcessPresence(HXML node) // Update status of room participant int status = ID_STATUS_ONLINE; - LPCTSTR ptszShow = xmlGetText( xmlGetChild(node , "show")); + LPCTSTR ptszShow = xmlGetText(xmlGetChild(node, "show")); if (ptszShow) { - if ( !_tcscmp(ptszShow, _T("away"))) status = ID_STATUS_AWAY; - else if ( !_tcscmp(ptszShow, _T("xa"))) status = ID_STATUS_NA; - else if ( !_tcscmp(ptszShow, _T("dnd"))) status = ID_STATUS_DND; - else if ( !_tcscmp(ptszShow, _T("chat"))) status = ID_STATUS_FREECHAT; + if (!_tcscmp(ptszShow, _T("away"))) status = ID_STATUS_AWAY; + else if (!_tcscmp(ptszShow, _T("xa"))) status = ID_STATUS_NA; + else if (!_tcscmp(ptszShow, _T("dnd"))) status = ID_STATUS_DND; + else if (!_tcscmp(ptszShow, _T("chat"))) status = ID_STATUS_FREECHAT; } - LPCTSTR str = xmlGetText( xmlGetChild(node , "status")); + LPCTSTR str = xmlGetText(xmlGetChild(node, "status")); char priority = 0; - if (LPCTSTR ptszPriority = xmlGetText( xmlGetChild(node , "priority"))) + if (LPCTSTR ptszPriority = xmlGetText(xmlGetChild(node, "priority"))) priority = (char)_ttoi(ptszPriority); bool bStatusChanged = false, bRoomCreated = false, bAffiliationChanged = false, bRoleChanged = false; int newRes = ListAddResource(LIST_CHATROOM, from, status, str, priority, cnick) ? GC_EVENT_JOIN : 0; if (pResourceStatus oldRes = ListFindResource(LIST_CHATROOM, from)) - if ((oldRes->m_iStatus != status) || lstrcmp_null(oldRes->m_tszStatusMessage, str)) - bStatusChanged = true; + if ((oldRes->m_iStatus != status) || lstrcmp_null(oldRes->m_tszStatusMessage, str)) + bStatusChanged = true; // Check additional MUC info for this user if (itemNode != NULL) { @@ -907,22 +889,22 @@ void CJabberProto::GroupchatProcessPresence(HXML node) JABBER_GC_ROLE role = r->m_role; if ((str = xmlGetAttrValue(itemNode, _T("affiliation"))) != NULL) { - if ( !_tcscmp(str, _T("owner"))) affiliation = AFFILIATION_OWNER; - else if ( !_tcscmp(str, _T("admin"))) affiliation = AFFILIATION_ADMIN; - else if ( !_tcscmp(str, _T("member"))) affiliation = AFFILIATION_MEMBER; - else if ( !_tcscmp(str, _T("none"))) affiliation = AFFILIATION_NONE; - else if ( !_tcscmp(str, _T("outcast"))) affiliation = AFFILIATION_OUTCAST; + if (!_tcscmp(str, _T("owner"))) affiliation = AFFILIATION_OWNER; + else if (!_tcscmp(str, _T("admin"))) affiliation = AFFILIATION_ADMIN; + else if (!_tcscmp(str, _T("member"))) affiliation = AFFILIATION_MEMBER; + else if (!_tcscmp(str, _T("none"))) affiliation = AFFILIATION_NONE; + else if (!_tcscmp(str, _T("outcast"))) affiliation = AFFILIATION_OUTCAST; } if ((str = xmlGetAttrValue(itemNode, _T("role"))) != NULL) { - if ( !_tcscmp(str, _T("moderator"))) role = ROLE_MODERATOR; - else if ( !_tcscmp(str, _T("participant"))) role = ROLE_PARTICIPANT; - else if ( !_tcscmp(str, _T("visitor"))) role = ROLE_VISITOR; + if (!_tcscmp(str, _T("moderator"))) role = ROLE_MODERATOR; + else if (!_tcscmp(str, _T("participant"))) role = ROLE_PARTICIPANT; + else if (!_tcscmp(str, _T("visitor"))) role = ROLE_VISITOR; else role = ROLE_NONE; } if ((role != ROLE_NONE) && (JabberGcGetStatus(r) != JabberGcGetStatus(affiliation, role))) { GcLogUpdateMemberStatus(item, resource, nick, NULL, GC_EVENT_REMOVESTATUS, NULL); - if ( !newRes) newRes = GC_EVENT_ADDSTATUS; + if (!newRes) newRes = GC_EVENT_ADDSTATUS; } if (affiliation != r->m_affiliation) { @@ -946,8 +928,8 @@ void CJabberProto::GroupchatProcessPresence(HXML node) // show status change if needed if (bStatusChanged) - if (pResourceStatus res = ListFindResource(LIST_CHATROOM, from)) - GcLogShowInformation(item, res, INFO_STATUS); + if (pResourceStatus res = ListFindResource(LIST_CHATROOM, from)) + GcLogShowInformation(item, res, INFO_STATUS); // Update groupchat log window GcLogUpdateMemberStatus(item, resource, nick, str, newRes, NULL); @@ -959,40 +941,33 @@ void CJabberProto::GroupchatProcessPresence(HXML node) if (hContact != NULL) setWord(hContact, "Status", status); - // Update room status - //if (item->status != ID_STATUS_ONLINE) { - // item->status = ID_STATUS_ONLINE; - // setWord(hContact, "Status", (WORD)ID_STATUS_ONLINE); - // JabberLog("Room %s online", from); - //} - // Check if (bRoomCreated) { - HXML n = xmlGetChild(node , "created"); + HXML n = xmlGetChild(node, "created"); if (n != NULL && (str = xmlGetAttrValue(n, _T("xmlns"))) != NULL && !_tcscmp(str, JABBER_FEAT_MUC_OWNER)) // A new room just created by me // Request room config m_ThreadInfo->send( - XmlNodeIq( AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, item->jid)) - << XQUERY(JABBER_FEAT_MUC_OWNER)); + XmlNodeIq(AddIQ(&CJabberProto::OnIqResultGetMuc, JABBER_IQ_TYPE_GET, item->jid)) + << XQUERY(JABBER_FEAT_MUC_OWNER)); } mir_free(room); } // leaving room - else if ( !_tcscmp(type, _T("unavailable"))) { + else if (!_tcscmp(type, _T("unavailable"))) { const TCHAR *str = 0; if (xNode != NULL && item->nick != NULL) { - HXML reasonNode = xmlGetChild(itemNode , "reason"); + HXML reasonNode = xmlGetChild(itemNode, "reason"); str = xmlGetAttrValue(itemNode, _T("jid")); int iStatus = sttGetStatusCode(xNode); if (iStatus == 301 && r != NULL) GcLogShowInformation(item, r, INFO_BAN); - if ( !lstrcmp(resource, item->nick)) { - switch(iStatus) { + if (!lstrcmp(resource, item->nick)) { + switch (iStatus) { case 301: case 307: GcQuit(item, iStatus, reasonNode); @@ -1001,9 +976,10 @@ void CJabberProto::GroupchatProcessPresence(HXML node) case 303: RenameParticipantNick(item, resource, itemNode); return; - } } + } + } else { - switch(iStatus) { + switch (iStatus) { case 303: RenameParticipantNick(item, resource, itemNode); return; @@ -1014,9 +990,11 @@ void CJabberProto::GroupchatProcessPresence(HXML node) ListRemoveResource(LIST_CHATROOM, from); GcLogUpdateMemberStatus(item, resource, nick, str, GC_EVENT_KICK, reasonNode, iStatus); return; - } } } + } + } + } - HXML statusNode = xmlGetChild(node , "status"); + HXML statusNode = xmlGetChild(node, "status"); GcLogUpdateMemberStatus(item, resource, nick, str, GC_EVENT_PART, statusNode); ListRemoveResource(LIST_CHATROOM, from); @@ -1026,13 +1004,13 @@ void CJabberProto::GroupchatProcessPresence(HXML node) } // processing room errors - else if ( !_tcscmp(type, _T("error"))) { + else if (!_tcscmp(type, _T("error"))) { int errorCode = 0; - HXML errorNode = xmlGetChild(node , "error"); - ptrT str( JabberErrorMsg(errorNode, &errorCode)); + HXML errorNode = xmlGetChild(node, "error"); + ptrT str(JabberErrorMsg(errorNode, &errorCode)); if (errorCode == JABBER_ERROR_CONFLICT) { - ptrT newNick( getTStringA("GcAltNick")); + ptrT newNick(getTStringA("GcAltNick")); if (++item->iChatState == 1 && newNick != NULL && newNick[0] != 0) { replaceStrT(item->nick, newNick); TCHAR text[1024] = { 0 }; @@ -1059,12 +1037,12 @@ void CJabberProto::GroupchatProcessMessage(HXML node) const TCHAR *from, *type, *p, *nick, *resource; JABBER_LIST_ITEM *item; - if ( !xmlGetName(node) || lstrcmp(xmlGetName(node), _T("message"))) return; + if (!xmlGetName(node) || lstrcmp(xmlGetName(node), _T("message"))) return; if ((from = xmlGetAttrValue(node, _T("from"))) == NULL) return; if ((item = ListGetItemPtr(LIST_CHATROOM, from)) == NULL) return; if ((type = xmlGetAttrValue(node, _T("type"))) == NULL) return; - if ( !lstrcmp(type, _T("error"))) + if (!lstrcmp(type, _T("error"))) return; GCDEST gcd = { m_szModuleName, item->jid, 0 }; @@ -1075,7 +1053,7 @@ void CJabberProto::GroupchatProcessMessage(HXML node) if (resource != NULL && *++resource == '\0') resource = NULL; - if ((n = xmlGetChild(node , "subject")) != NULL) { + if ((n = xmlGetChild(node, "subject")) != NULL) { msgText = xmlGetText(n); if (msgText == NULL || msgText[0] == '\0') return; @@ -1098,8 +1076,8 @@ void CJabberProto::GroupchatProcessMessage(HXML node) item->getTemp()->m_tszStatusMessage = mir_tstrdup(msgText); } else { - if ((n = xmlGetChildByTag(node , "body", "xml:lang", m_tszSelectedLang)) == NULL) - if ((n = xmlGetChild(node , "body")) == NULL) + if ((n = xmlGetChildByTag(node, "body", "xml:lang", m_tszSelectedLang)) == NULL) + if ((n = xmlGetChild(node, "body")) == NULL) return; msgText = xmlGetText(n); @@ -1118,7 +1096,7 @@ void CJabberProto::GroupchatProcessMessage(HXML node) GcLogCreate(item); time_t msgTime = 0; - if ( !JabberReadXep203delay(node, msgTime)) { + if (!JabberReadXep203delay(node, msgTime)) { HXML xDelay = xmlGetChildByTag(node, "x", "xmlns", _T("jabber:x:delay")); if (xDelay && (p = xmlGetAttrValue(xDelay, _T("stamp"))) != NULL) msgTime = JabberIsoToUnixTime(p); @@ -1130,7 +1108,7 @@ void CJabberProto::GroupchatProcessMessage(HXML node) msgTime = now; if (resource != NULL) { - pResourceStatus r( item->findResource(resource)); + pResourceStatus r(item->findResource(resource)); nick = (r && r->m_tszNick) ? r->m_tszNick : resource; } else nick = NULL; @@ -1230,10 +1208,10 @@ void CJabberProto::GroupchatProcessInvite(const TCHAR *roomJid, const TCHAR *fro return; if (m_options.AutoAcceptMUC == FALSE) { - JABBER_GROUPCHAT_INVITE_INFO* inviteInfo = (JABBER_GROUPCHAT_INVITE_INFO *) mir_alloc(sizeof(JABBER_GROUPCHAT_INVITE_INFO)); - inviteInfo->roomJid = mir_tstrdup(roomJid); - inviteInfo->from = mir_tstrdup(from); - inviteInfo->reason = mir_tstrdup(reason); + JABBER_GROUPCHAT_INVITE_INFO* inviteInfo = (JABBER_GROUPCHAT_INVITE_INFO *)mir_alloc(sizeof(JABBER_GROUPCHAT_INVITE_INFO)); + inviteInfo->roomJid = mir_tstrdup(roomJid); + inviteInfo->from = mir_tstrdup(from); + inviteInfo->reason = mir_tstrdup(reason); inviteInfo->password = mir_tstrdup(password); ForkThread((MyThreadFunc)&CJabberProto::GroupchatInviteAcceptThread, inviteInfo); } @@ -1241,7 +1219,8 @@ void CJabberProto::GroupchatProcessInvite(const TCHAR *roomJid, const TCHAR *fro TCHAR *myNick = JabberNickFromJID(m_szJabberJID); AcceptGroupchatInvite(roomJid, myNick, password); mir_free(myNick); -} } + } +} void CJabberProto::AcceptGroupchatInvite(const TCHAR *roomJid, const TCHAR *reason, const TCHAR *password) { diff --git a/protocols/JabberG/src/resource.h b/protocols/JabberG/src/resource.h index bae55ddb9b..aa0b90632c 100644 --- a/protocols/JabberG/src/resource.h +++ b/protocols/JabberG/src/resource.h @@ -8,13 +8,23 @@ #define IDD_OPT_REGISTER 105 #define IDD_AGENTS 106 #define IDD_FORM 107 +#define IDD_NOTEBOOK 108 #define IDI_USER2ROOM 109 #define IDI_REFRESH 110 #define IDD_PASSWORD 111 +#define IDD_CAPTCHAFORM 112 +#define IDI_BOOKMARKS 113 +#define IDD_BOOKMARKS 114 +#define IDD_BOOKMARK_ADD 115 +#define IDD_PRIVACY_LISTS 116 +#define IDD_PRIVACY_RULE 117 +#define IDD_PRIVACY_ADD_LIST 118 +#define IDD_SERVICE_DISCOVERY 119 +#define IDD_NOTE_EDIT 120 +#define IDD_MODERNOPT 121 #define IDI_ADDCONTACT 122 #define IDI_DELETE 123 #define IDI_EDIT 124 -#define IDD_DATAFORM_TEST 125 #define IDD_VCARD_HOME 126 #define IDD_VCARD_PERSONAL 127 #define IDD_VCARD_WORK 128 @@ -24,10 +34,10 @@ #define IDI_OPEN 131 #define IDD_VCARD_PHOTO 132 #define IDD_VCARD_NOTE 133 +#define IDD_PEP_SIMPLE 134 #define IDD_CHANGEPASSWORD 136 #define IDD_SEARCHUSER 138 #define IDD_OPT_JABBER2 140 -#define IDD_GROUPCHAT 141 #define IDI_KEYS 144 #define IDI_GROUP 147 #define IDD_GROUPCHAT_JOIN 148 @@ -36,7 +46,6 @@ #define IDI_SAVE 166 #define IDD_GROUPCHAT_INPUT 167 #define IDD_JIDLIST 171 -#define IDD_AGENT_MANUAL_REGISTER 182 #define IDD_GROUPCHAT_INVITE 183 #define IDD_GROUPCHAT_INVITE_ACCEPT 184 #define IDD_OPT_JABBER3 185 @@ -58,7 +67,6 @@ #define IDI_NODE_WEATHER 203 #define IDD_CONSOLE 205 #define IDI_CONSOLE 207 -#define IDD_DATAFORM_PAGE 208 #define IDI_PL_MSG_ALLOW 209 #define IDI_PL_MSG_DENY 210 #define IDI_PL_PRIN_ALLOW 211 @@ -66,7 +74,6 @@ #define IDI_PL_PROUT_ALLOW 213 #define IDI_PL_PROUT_DENY 214 #define IDI_PL_QUERY_ALLOW 215 -#define IDD_SETMOODMSG 216 #define IDI_PL_QUERY_DENY 216 #define IDI_PL_LIST_ACTIVE 217 #define IDI_PL_LIST_ANY 218 @@ -80,9 +87,6 @@ #define IDD_ACCMGRUI 227 #define IDD_HTTP_AUTH 228 #define IDI_HTTP_AUTH 229 -#define IDD_PEP_SIMPLE 230 -#define IDD_NOTEBOOK 231 -#define IDD_NOTE_EDIT 232 #define IDI_NOTES 233 #define IDI_SEND_NOTE 234 #define IDC_STATUSBAR 999 @@ -96,14 +100,6 @@ #define IDC_LINK_PUBLIC_SERVER 1009 #define IDC_NAME 1009 #define IDC_PROGRESS_REG 1011 -#define IDC_AGENT_TRANSPORT 1015 -#define IDC_AGENT_REGISTER 1016 -#define IDC_AGENT_LOGON 1017 -#define IDC_AGENT_UNREGISTER 1018 -#define IDC_AGENT_SERVER 1019 -#define IDC_AGENT_LOGOFF 1020 -#define IDC_AGENT_LIST 1021 -#define IDC_AGENT_SEARCH 1022 #define IDC_SUBMIT 1023 #define IDC_NEXT 1025 #define IDC_PREV 1026 @@ -172,7 +168,6 @@ #define IDC_PRIORITY_LABEL 1106 #define IDC_NEWPASSWD 1107 #define IDC_COMBO_ACCTYPE 1108 -#define IDD_MODERNOPT 1110 #define IDC_PROXY_ADDR 1112 #define IDC_DIRECT_ADDR 1114 #define IDC_DIRECT_MANUAL 1121 @@ -182,7 +177,6 @@ #define IDC_ROOM 1124 #define IDC_PROXY_MANUAL 1124 #define IDC_SERVER 1125 -#define IDC_BROWSE 1126 #define IDC_VSCROLL 1128 #define IDC_NICK 1129 #define IDC_EDIT 1131 @@ -246,7 +240,6 @@ #define IDC_BTN_VIEWLIST 1255 #define IDC_BTN_FILTERAPPLY 1258 #define IDC_ROSTER 1261 -#define IDC_MSG_MOOD 1262 #define IDC_OPTTREE 1263 #define IDC_LB_LISTS 1264 #define IDC_LST_NOTES 1264 @@ -316,34 +309,24 @@ #define IDC_USEDOMAINLOGIN 1323 #define IDC_TXT_ALTNICK 1323 #define IDC_SAVE_PERM 1324 -#define IDI_BOOKMARKS 3000 -#define IDD_BOOKMARKS 3001 #define IDC_BM_LIST 3002 #define IDC_ADD 3004 #define IDC_REMOVE 3005 -#define IDD_BOOKMARK_ADD 3006 #define IDC_UP_RULE 3006 #define IDC_ROOM_JID 3007 -#define IDD_PRIVACY_LISTS 3007 #define IDC_DOWN_RULE 3007 #define IDC_APPLY 3008 -#define IDD_PRIVACY_RULE 3008 #define IDC_ROOM_RADIO 3009 -#define IDD_PRIVACY_ADD_LIST 3009 -#define IDD_SERVICE_DISCOVERY 3010 #define IDC_URL_RADIO 3011 -#define IDD_GROUPCHAT_INFO_TABS 3011 #define IDC_AGENT_RADIO 3012 -#define IDD_GROUPCHAT_ADMLIST 3012 #define IDC_BOOKMARK_TYPE 3013 #define IDC_CHECK_BM_AUTOJOIN 3014 #define IDI_PRIVACY_LISTS 3016 #define IDI_SERVICE_DISCOVERY 3017 -#define IDD_CAPTCHAFORM 3018 #define IDC_VALUE 3019 // Next default values for new objects -// +// #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 -- cgit v1.2.3