From 03a0b643b94d5aa7f9c129fe73eea314d099cf56 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 7 Sep 2013 12:09:27 +0000 Subject: shameful end of the group processing zoo, part 1 git-svn-id: http://svn.miranda-ng.org/main/trunk@5994 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/JabberG/src/jabber.h | 1 - protocols/JabberG/src/jabber_iq_handlers.cpp | 8 ++--- protocols/JabberG/src/jabber_iqid.cpp | 5 ++- protocols/JabberG/src/jabber_misc.cpp | 49 ---------------------------- protocols/JabberG/src/jabber_privacy.cpp | 26 +-------------- 5 files changed, 6 insertions(+), 83 deletions(-) (limited to 'protocols/JabberG') diff --git a/protocols/JabberG/src/jabber.h b/protocols/JabberG/src/jabber.h index 1a20f671c9..585f434a88 100644 --- a/protocols/JabberG/src/jabber.h +++ b/protocols/JabberG/src/jabber.h @@ -676,7 +676,6 @@ int g_OnToolbarInit(WPARAM, LPARAM); void JabberChatDllError(void); int JabberCompareJids(const TCHAR *jid1, const TCHAR *jid2); -void JabberContactListCreateGroup(TCHAR* groupName); TCHAR* EscapeChatTags(TCHAR* pszText); TCHAR* UnEscapeChatTags(TCHAR* str_in); diff --git a/protocols/JabberG/src/jabber_iq_handlers.cpp b/protocols/JabberG/src/jabber_iq_handlers.cpp index 24d72a83f6..aa00846287 100644 --- a/protocols/JabberG/src/jabber_iq_handlers.cpp +++ b/protocols/JabberG/src/jabber_iq_handlers.cpp @@ -608,14 +608,12 @@ BOOL CJabberProto::OnRosterPushRequest(HXML, CJabberIqInfo *pInfo) } else db_unset(hContact, "CList", "MyHandle"); - if ( !m_options.IgnoreRosterGroups) - { + if ( !m_options.IgnoreRosterGroups) { if (item->group != NULL) { - JabberContactListCreateGroup(item->group); + Clist_CreateGroup(0, item->group); db_set_ts(hContact, "CList", "Group", item->group); } - else - db_unset(hContact, "CList", "Group"); + else db_unset(hContact, "CList", "Group"); } } mir_free(nick); diff --git a/protocols/JabberG/src/jabber_iqid.cpp b/protocols/JabberG/src/jabber_iqid.cpp index 17c070d9fd..aa906cdc4e 100644 --- a/protocols/JabberG/src/jabber_iqid.cpp +++ b/protocols/JabberG/src/jabber_iqid.cpp @@ -484,7 +484,7 @@ void CJabberProto::OnIqResultGetRoster(HXML iqNode, CJabberIqInfo* pInfo) if ( !m_options.IgnoreRosterGroups) { if (item->group != NULL) { - JabberContactListCreateGroup(item->group); + Clist_CreateGroup(0, item->group); // Don't set group again if already correct, or Miranda may show wrong group count in some case DBVARIANT dbv; @@ -495,8 +495,7 @@ void CJabberProto::OnIqResultGetRoster(HXML iqNode, CJabberIqInfo* pInfo) } else db_set_ts(hContact, "CList", "Group", item->group); } - else - db_unset(hContact, "CList", "Group"); + else db_unset(hContact, "CList", "Group"); } if (hContact != NULL) { diff --git a/protocols/JabberG/src/jabber_misc.cpp b/protocols/JabberG/src/jabber_misc.cpp index f66613402b..d5f38fb6e7 100644 --- a/protocols/JabberG/src/jabber_misc.cpp +++ b/protocols/JabberG/src/jabber_misc.cpp @@ -64,55 +64,6 @@ int JabberCompareJids(const TCHAR *jid1, const TCHAR *jid2) JabberStripJid(jid2, szTempJid2, SIZEOF(szTempJid2))); } -/////////////////////////////////////////////////////////////////////////////// -// JabberContactListCreateGroup() - -static void JabberContactListCreateClistGroup(TCHAR* groupName) -{ - char str[33]; - int i; - DBVARIANT dbv; - - for (i=0;;i++) { - _itoa(i, str, 10); - if ( db_get_ts(NULL, "CListGroups", str, &dbv)) - break; - TCHAR *name = dbv.ptszVal; - if (name[0]!='\0' && !_tcscmp(name+1, groupName)) { - // Already exists, no need to create - db_free(&dbv); - return; - } - db_free(&dbv); - } - - // Create new group with id = i (str is the text representation of i) - TCHAR newName[128]; - newName[0] = 1 | GROUPF_EXPANDED; - _tcsncpy(newName+1, groupName, SIZEOF(newName)-1); - newName[ SIZEOF(newName)-1] = '\0'; - db_set_ts(NULL, "CListGroups", str, newName); - CallService(MS_CLUI_GROUPADDED, i+1, 0); -} - -void JabberContactListCreateGroup(TCHAR* groupName) -{ - TCHAR name[128], *p; - - if (groupName == NULL || groupName[0]=='\0' || groupName[0]=='\\') return; - - _tcsncpy(name, groupName, SIZEOF(name)); - name[ SIZEOF(name)-1] = '\0'; - for (p=name; *p!='\0'; p++) { - if (*p == '\\') { - *p = '\0'; - JabberContactListCreateClistGroup(name); - *p = '\\'; - } - } - JabberContactListCreateClistGroup(name); -} - /////////////////////////////////////////////////////////////////////////////// // JabberDBAddAuthRequest() diff --git a/protocols/JabberG/src/jabber_privacy.cpp b/protocols/JabberG/src/jabber_privacy.cpp index abe3a5dead..a0b7704844 100644 --- a/protocols/JabberG/src/jabber_privacy.cpp +++ b/protocols/JabberG/src/jabber_privacy.cpp @@ -642,7 +642,6 @@ protected: void CListResetOptions(HWND hwndList); void CListFilter(HWND hwndList); bool CListIsGroup(HANDLE hGroup); - HANDLE CListFindGroupByName(TCHAR *name); void CListResetIcons(HWND hwndList, HANDLE hItem, bool hide=false); void CListSetupIcons(HWND hwndList, HANDLE hItem, int iSlot, DWORD dwProcess, BOOL bAction); HANDLE CListAddContact(HWND hwndList, TCHAR *jid); @@ -1373,29 +1372,6 @@ bool CJabberDlgPrivacyLists::CListIsGroup(HANDLE hGroup) return result; } -HANDLE CJabberDlgPrivacyLists::CListFindGroupByName(TCHAR *name) -{ - char idstr[33]; - DBVARIANT dbv; - - HANDLE hGroup = 0; - - for (int i= 0; !hGroup; i++) - { - _itoa(i, idstr, 10); - - if ( db_get_ts(NULL, "CListGroups", idstr, &dbv)) - break; - - if ( !_tcscmp(dbv.ptszVal + 1, name)) - hGroup = (HANDLE)(i+1); - - db_free(&dbv); - } - - return hGroup; -} - void CJabberDlgPrivacyLists::CListResetIcons(HWND, HANDLE hItem, bool hide) { for (int i = 0; i < 4; i++) @@ -1477,7 +1453,7 @@ void CJabberDlgPrivacyLists::CListApplyList(HWND hwndList, CPrivacyList *pList) } case Group: { - HANDLE hGroup = CListFindGroupByName(pRule->GetValue()); + HANDLE hGroup = Clist_GroupExists(pRule->GetValue()); hItem = m_clcClist.FindGroup(hGroup); break; } -- cgit v1.2.3