TalkableFilter::FilterResult HideContactChatsTalkableFilter::filterChat(const Chat &chat)
{
    if (chat.type() == "Contact" || chat.type() == "Simple")
        return Rejected;
    else
        return Undecided;
}
Example #2
0
Jid JabberResourceService::bestChatJid(const Chat &chat) const
{
    if (!chat)
        return Jid{};

    auto chatType = m_chatTypeManager->chatType(chat.type());
    if (!chatType)
        return Jid{};

    if (chatType->name() == "Contact")
    {
        Q_ASSERT(1 == chat.contacts().size());
        return bestContactJid(chat.contacts().toContact());
    }

    if (chatType->name() == "Room")
    {
        auto details = qobject_cast<ChatDetailsRoom *>(chat.details());
        Q_ASSERT(details);

        return Jid::parse(details->room());
    }

    return Jid{};
}
Example #3
0
QXmppMessage::Type JabberChatService::chatMessageType(const Chat &chat, const QString &bareJid) const
{
	auto chatType = ChatTypeManager::instance()->chatType(chat.type());
	if (!chatType)
		return QXmppMessage::QXmppMessage::Normal;

	if (chatType->name() == "Room")
		return QXmppMessage::GroupChat;

	if (m_contactMessageTypes.contains(bareJid))
		return m_contactMessageTypes.value(bareJid);
	else
		return QXmppMessage::Chat;
}