From dd3b89ded0e7cbfdb6ce833895104ec4fda6448f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 21 Jan 2025 17:33:19 +0300 Subject: Steam: subfolders for chat groups --- protocols/Steam/src/steam_chats.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'protocols/Steam/src/steam_chats.cpp') diff --git a/protocols/Steam/src/steam_chats.cpp b/protocols/Steam/src/steam_chats.cpp index 8daa77cd53..78592f4e18 100644 --- a/protocols/Steam/src/steam_chats.cpp +++ b/protocols/Steam/src/steam_chats.cpp @@ -31,6 +31,13 @@ void CSteamProto::OnGetMyChats(const CChatRoomGetMyChatRoomGroupsResponse &reply for (int i = 0; i < reply.n_chat_room_groups; i++) { auto *pGroup = reply.chat_room_groups[i]->group_summary; + CMStringW wszGrpName; + if (pGroup->n_chat_rooms > 1 && pGroup->chat_group_name) { + wszGrpName = CMStringW(m_wszGroupName) + L"\\" + Utf2T(pGroup->chat_group_name); + if (!Clist_GroupExists(wszGrpName)) + Clist_GroupCreate(0, wszGrpName); + } + SESSION_INFO *pOwner = 0; for (int k = 0; k < pGroup->n_chat_rooms; k++) { @@ -81,6 +88,8 @@ void CSteamProto::OnGetMyChats(const CChatRoomGetMyChatRoomGroupsResponse &reply } setDword(si->hContact, "ChatId", pChat->chat_id); + if (!wszGrpName.IsEmpty()) + Clist_SetGroup(si->hContact, wszGrpName); if (mir_strlen(pGroup->chat_group_tagline)) { Utf2T wszTopic(pGroup->chat_group_tagline); -- cgit v1.2.3