From 9885bf54f788e831a80c76001340aa68d31d2aaa Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 25 Jan 2023 18:34:51 +0300 Subject: Group chats: ChatRoomID setting replaced with real protocol id --- protocols/JabberG/src/jabber_api.cpp | 2 +- protocols/JabberG/src/jabber_groupchat.cpp | 4 ++-- protocols/JabberG/src/jabber_iqid.cpp | 2 +- protocols/JabberG/src/jabber_list.cpp | 13 +++---------- protocols/JabberG/src/jabber_menu.cpp | 6 +++--- protocols/JabberG/src/jabber_util.cpp | 3 +-- 6 files changed, 11 insertions(+), 19 deletions(-) (limited to 'protocols/JabberG/src') diff --git a/protocols/JabberG/src/jabber_api.cpp b/protocols/JabberG/src/jabber_api.cpp index 738e1bb439..775102599e 100644 --- a/protocols/JabberG/src/jabber_api.cpp +++ b/protocols/JabberG/src/jabber_api.cpp @@ -57,7 +57,7 @@ MCONTACT CJabberProto::ContactFromJID(const char *jid) char* CJabberProto::ContactToJID(MCONTACT hContact) { - return getUStringA(hContact, isChatRoom(hContact) ? "ChatRoomID" : "jid"); + return getUStringA(hContact, "jid"); } char* CJabberProto::GetBestResourceName(const char *jid) diff --git a/protocols/JabberG/src/jabber_groupchat.cpp b/protocols/JabberG/src/jabber_groupchat.cpp index f4f3e6c008..719144a127 100644 --- a/protocols/JabberG/src/jabber_groupchat.cpp +++ b/protocols/JabberG/src/jabber_groupchat.cpp @@ -186,7 +186,7 @@ INT_PTR __cdecl CJabberProto::OnMenuHandleJoinGroupchat(WPARAM, LPARAM) INT_PTR __cdecl CJabberProto::OnJoinChat(WPARAM hContact, LPARAM) { - ptrA jid(getUStringA(hContact, "ChatRoomID")); + ptrA jid(ContactToJID(hContact)); if (jid == nullptr) return 0; @@ -210,7 +210,7 @@ INT_PTR __cdecl CJabberProto::OnJoinChat(WPARAM hContact, LPARAM) INT_PTR __cdecl CJabberProto::OnLeaveChat(WPARAM hContact, LPARAM) { - ptrA jid(getUStringA(hContact, "ChatRoomID")); + ptrA jid(ContactToJID(hContact)); if (jid != nullptr) { if (getWord(hContact, "Status", 0) != ID_STATUS_OFFLINE) { JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_CHATROOM, jid); diff --git a/protocols/JabberG/src/jabber_iqid.cpp b/protocols/JabberG/src/jabber_iqid.cpp index 041a2052bf..85e2397829 100644 --- a/protocols/JabberG/src/jabber_iqid.cpp +++ b/protocols/JabberG/src/jabber_iqid.cpp @@ -423,7 +423,7 @@ void CJabberProto::OnIqResultSession(const TiXmlElement*, CJabberIqInfo *pInfo) void CJabberProto::GroupchatJoinByHContact(MCONTACT hContact, bool autojoin) { - ptrA roomjid(getUStringA(hContact, "ChatRoomID")); + ptrA roomjid(ContactToJID(hContact)); if (roomjid == nullptr) return; diff --git a/protocols/JabberG/src/jabber_list.cpp b/protocols/JabberG/src/jabber_list.cpp index 73abe09e2b..da6cfb955d 100644 --- a/protocols/JabberG/src/jabber_list.cpp +++ b/protocols/JabberG/src/jabber_list.cpp @@ -89,16 +89,9 @@ void JABBER_RESOURCE_STATUS::Release() void CJabberProto::ListInit(void) { for (auto &hContact : AccContacts()) { - if (isChatRoom(hContact)) { - ptrA jid(getUStringA(hContact, "ChatRoomID")); - if (jid != nullptr) - ListAdd(LIST_CHATROOM, jid, hContact); - } - else { - ptrA jid(getUStringA(hContact, "jid")); - if (jid != nullptr) - ListAdd(LIST_ROSTER, jid, hContact); - } + ptrA jid(ContactToJID(hContact)); + if (jid != nullptr) + ListAdd(isChatRoom(hContact) ? LIST_CHATROOM : LIST_ROSTER, jid, hContact); } } diff --git a/protocols/JabberG/src/jabber_menu.cpp b/protocols/JabberG/src/jabber_menu.cpp index 0d510f6859..715909e915 100644 --- a/protocols/JabberG/src/jabber_menu.cpp +++ b/protocols/JabberG/src/jabber_menu.cpp @@ -282,7 +282,7 @@ int CJabberProto::OnPrebuildContactMenu(WPARAM hContact, LPARAM) Menu_ShowItem(GetMenuItem(PROTO_MENU_LOAD_HISTORY), true); if (bIsChatRoom) { - ptrA roomid(getUStringA(hContact, "ChatRoomID")); + ptrA roomid(ContactToJID(hContact)); if (ListGetItemPtr(LIST_BOOKMARK, roomid) == nullptr) if (m_ThreadInfo && m_ThreadInfo->jabberServerCaps & JABBER_CAPS_PRIVATE_STORAGE) Menu_ShowItem(g_hMenuAddBookmark, true); @@ -425,7 +425,7 @@ INT_PTR __cdecl CJabberProto::OnMenuBookmarkAdd(WPARAM hContact, LPARAM) if (!hContact) return 0; // we do not add ourself to the roster. (buggy situation - should not happen) - ptrA roomID(getUStringA(hContact, "ChatRoomID")); + ptrA roomID(ContactToJID(hContact)); if (roomID == nullptr) return 0; @@ -922,7 +922,7 @@ INT_PTR __cdecl CJabberProto::OnMenuHandleDirectPresence(WPARAM hContact, LPARAM CMStringA jid; ptrA szJid(getUStringA(hContact, "jid")); if (szJid == nullptr) { - ptrA roomid(getUStringA(hContact, "ChatRoomID")); + ptrA roomid(ContactToJID(hContact)); if (roomid == nullptr) return 0; diff --git a/protocols/JabberG/src/jabber_util.cpp b/protocols/JabberG/src/jabber_util.cpp index a3e1c856f6..2782aef450 100644 --- a/protocols/JabberG/src/jabber_util.cpp +++ b/protocols/JabberG/src/jabber_util.cpp @@ -570,8 +570,7 @@ char* CJabberProto::GetClientJID(MCONTACT hContact, char *dest, size_t destLen) if (hContact == 0) return nullptr; - ptrA jid(getUStringA(hContact, isChatRoom(hContact) ? "ChatRoomID" : "jid")); - return GetClientJID(jid, dest, destLen); + return GetClientJID(ptrA(ContactToJID(hContact)), dest, destLen); } char* CJabberProto::GetClientJID(const char *jid, char *dest, size_t destLen) -- cgit v1.2.3