diff options
| author | George Hazan <george.hazan@gmail.com> | 2025-01-21 17:33:19 +0300 |
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2025-01-21 17:33:19 +0300 |
| commit | dd3b89ded0e7cbfdb6ce833895104ec4fda6448f (patch) | |
| tree | 8111caafcc6a1d898c85654ba94545632ed1a77e | |
| parent | 7d65d72eaa0183180c41d2d18e70360b98c41910 (diff) | |
Steam: subfolders for chat groups
| -rw-r--r-- | protocols/Steam/src/steam_chats.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
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); |
