示例#1
0
BOOL SM_ChangeNick(const TCHAR* pszID, const char* pszModule, GCEVENT * gce)
{
	SESSION_INFO* pTemp = m_WndList, *pLast = NULL;

	if (!pszModule)
		return FALSE;

	while (pTemp != NULL) {
		if ((!pszID || !lstrcmpi(pTemp->ptszID, pszID)) && !lstrcmpiA(pTemp->pszModule, pszModule)) {
			USERINFO* ui = UM_FindUser(pTemp->pUsers, gce->ptszUID);
			if (ui) {
				replaceStr(&ui->pszNick, gce->ptszText);
				SM_MoveUser(pTemp->ptszID, pTemp->pszModule, ui->pszUID);
				if (pTemp->hWnd) {
					SendMessage(pTemp->hWnd, GC_UPDATENICKLIST, 0, 0);
					if(pTemp->dat)
						GetMyNick(pTemp->dat);
					SendMessage(pTemp->hWnd, GC_UPDATESTATUSBAR, 0, 0);
				}
			}
			if (pszID)
				return TRUE;
		}
		pLast = pTemp;
		pTemp = pTemp->next;
	}
	return TRUE;
}
示例#2
0
static void OnChangeNick(SESSION_INFO *si)
{
	if (si->hWnd) {
		if (si->dat)
			GetMyNick(si->dat);
		SendMessage(si->hWnd, GC_UPDATESTATUSBAR, 0, 0);
	}
}
示例#3
0
static void OnNewUser(SESSION_INFO *si, USERINFO*)
{
	if (si->hWnd) {
		SendMessage(si->hWnd, GC_UPDATENICKLIST, 0, 0);
		if (si->dat)
			GetMyNick(si->dat);
	}
}