Exemplo n.º 1
0
void CChatChanMember::ToggleIgnore(LPCTSTR pszName)
{
	ADDTOCALLSTACK("CChatChanMember::ToggleIgnore");
	size_t i = FindIgnoringIndex( pszName );
	if ( i != m_IgnoredMembers.BadIndex() )
	{
		ASSERT( m_IgnoredMembers.IsValidIndex(i) );
		m_IgnoredMembers.DeleteAt(i);

		SendChatMsg(CHATMSG_NoLongerIgnoring, pszName);

		// Resend the un ignored member to the client's local list of members (but only if they are currently in the same channel!)
		if (m_pChannel)
		{
			CChatChanMember * pMember = m_pChannel->FindMember(pszName);
			if (pMember)
				m_pChannel->SendThisMember(pMember, this);
		}
	}
	else
	{
		CGString * name = new CGString(pszName);
		m_IgnoredMembers.Add( name );
		SendChatMsg(CHATMSG_NowIgnoring, pszName); // This message also takes the ignored person off the clients local list of channel members
	}
}
Exemplo n.º 2
0
void CChatMember::ToggleIgnore(LPCTSTR pszName)
{
	ADDTOCALLSTACK("CChatMember::ToggleIgnore");
	size_t i = FindIgnoringIndex(pszName);
	if ( i != m_IgnoredMembers.BadIndex() )
	{
		// Remove member from ignore list
		ASSERT(m_IgnoredMembers.IsValidIndex(i));
		m_IgnoredMembers.DeleteAt(i);
		SendChatMsg(CHATMSG_NoLongerIgnoring, pszName);

		// Show member name on members list again
		if ( m_pChannel )
		{
			CChatMember *pMember = m_pChannel->FindMember(pszName);
			if ( pMember )
				m_pChannel->SendMember(pMember, this);
		}
		return;
	}
	else
	{
		// Check if ignore list reached max limit
		if ( m_IgnoredMembers.GetCount() >= 30 )
		{
			SendChatMsg(CHATMSG_AlreadyIgnoringMax, pszName);
			return;
		}

		// Add member on ignore list
		CGString *sName = new CGString(pszName);
		m_IgnoredMembers.Add(sName);
		SendChatMsg(CHATMSG_NowIgnoring, pszName);	// this message will also hide member name on members list
	}
}
Exemplo n.º 3
0
bool CChatChanMember::IsIgnoring(lpctstr pszName) const
{
    return( FindIgnoringIndex( pszName ) != m_IgnoredMembers.BadIndex() );
}