summaryrefslogtreecommitdiff
path: root/src/mir_app
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir_app')
-rw-r--r--src/mir_app/src/chat.h1
-rw-r--r--src/mir_app/src/chat_manager.cpp4
-rw-r--r--src/mir_app/src/srmm_base.cpp14
3 files changed, 16 insertions, 3 deletions
diff --git a/src/mir_app/src/chat.h b/src/mir_app/src/chat.h
index 1168fc2815..bf406fe434 100644
--- a/src/mir_app/src/chat.h
+++ b/src/mir_app/src/chat.h
@@ -84,6 +84,7 @@ SESSION_INFO* SM_FindSessionByIndex(const char *pszModule, int iItem);
STATUSINFO* TM_AddStatus(STATUSINFO **ppStatusList, const wchar_t *pszStatus, int *iCount);
uint16_t TM_StringToWord(STATUSINFO *pStatusList, const wchar_t *pszStatus);
+USERINFO* UM_FindUserFromIndex(SESSION_INFO *si, int index);
BOOL UM_RemoveAll(SESSION_INFO *si);
BOOL UM_SetStatusEx(SESSION_INFO *si, const wchar_t* pszText, int flags);
void UM_SortKeys(SESSION_INFO *si);
diff --git a/src/mir_app/src/chat_manager.cpp b/src/mir_app/src/chat_manager.cpp
index be26a50a5b..a448c77be0 100644
--- a/src/mir_app/src/chat_manager.cpp
+++ b/src/mir_app/src/chat_manager.cpp
@@ -305,7 +305,7 @@ BOOL SM_RemoveUser(SESSION_INFO *pSI, const wchar_t *pszUID)
static USERINFO* SM_GetUserFromIndex(const wchar_t *pszID, const char *pszModule, int index)
{
SESSION_INFO *si = Chat_Find(pszID, pszModule);
- return (si == nullptr) ? nullptr : g_chatApi.UM_FindUserFromIndex(si, index);
+ return (si == nullptr) ? nullptr : UM_FindUserFromIndex(si, index);
}
BOOL SM_GiveStatus(SESSION_INFO *si, const wchar_t *pszUID, const wchar_t *pszStatus)
@@ -707,7 +707,7 @@ static int UM_CompareItem(const USERINFO *u1, const USERINFO *u2)
return mir_wstrcmpi(u1->pszNick, u2->pszNick);
}
-static USERINFO* UM_FindUserFromIndex(SESSION_INFO *si, int index)
+USERINFO* UM_FindUserFromIndex(SESSION_INFO *si, int index)
{
if (!si)
return nullptr;
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp
index 191bcf1980..2f0fc7e044 100644
--- a/src/mir_app/src/srmm_base.cpp
+++ b/src/mir_app/src/srmm_base.cpp
@@ -553,6 +553,18 @@ INT_PTR CSrmmBaseDialog::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
}
break;
+ case WM_DRAWITEM:
+ {
+ DRAWITEMSTRUCT *dis = (DRAWITEMSTRUCT *)lParam;
+ if (dis->CtlID == IDC_SRMM_NICKLIST) {
+ USERINFO *ui = UM_FindUserFromIndex(m_si, dis->itemID);
+ if (ui != nullptr)
+ DrawNickList(ui, dis);
+ return TRUE;
+ }
+ }
+ break;
+
case WM_CBD_RECREATE:
Srmm_CreateToolbarIcons(m_hwnd, isChat() ? BBBF_ISCHATBUTTON : BBBF_ISIMBUTTON);
break;
@@ -773,7 +785,7 @@ void CSrmmBaseDialog::onDblClick_List(CCtrlListBox *pList)
ScreenToClient(pList->GetHwnd(), &hti.pt);
int item = LOWORD(pList->SendMsg(LB_ITEMFROMPOINT, 0, MAKELPARAM(hti.pt.x, hti.pt.y)));
- USERINFO *ui = g_chatApi.UM_FindUserFromIndex(m_si, item);
+ USERINFO *ui = UM_FindUserFromIndex(m_si, item);
if (ui == nullptr)
return;