Example #1
0
ContactSet ContactSetConfigurationHelper::loadFromConfiguration(ContactManager *contactManager, StorableObject *parent, const QString &nodeName)
{
	if (!parent->isValidStorage())
		return ContactSet();

	ConfigurationApi *configurationStorage = parent->storage()->storage();
	QDomElement contactSetNode = configurationStorage->getNode(parent->storage()->point(), nodeName);

	return loadFromConfiguration(contactManager, configurationStorage, contactSetNode);
}
Example #2
0
void Firewall::filterOutgoingMessage(Chat chat, QString &msg, bool &stop)
{
    Q_UNUSED(msg)
    kdebugf();

    foreach (const Contact &contact, chat.contacts())
    {
        Chat chat = ChatManager::instance()->findChat(ContactSet(contact), false);
        if (!chat)
            continue;

        if (contact.ownerBuddy().isAnonymous() && ChatWidgetManager::instance()->byChat(chat, false))
            Passed.insert(contact);
    }

    if (SafeSending)
    {
        foreach (const Contact &contact, chat.contacts())
        {
            Buddy buddy = contact.ownerBuddy();

            BuddyFirewallData *bfd = 0;
            if (buddy.data())
                bfd = buddy.data()->moduleStorableData<BuddyFirewallData>("firewall-secured-sending", Firewall::instance(), false);

            if (!bfd || !bfd->securedSending())
                return;

            if (!SecuredTemporaryAllowed.contains(buddy))
            {
                switch (QMessageBox::warning(0, "Kadu", tr("Are you sure you want to send this message?"), tr("&Yes"), tr("Yes and allow until chat closed"), tr("&No"), 2, 2))
                {
                default:
                    stop = true;
                    return;
                case 0:
                    return;
                case 1:
                    SecuredTemporaryAllowed.insert(buddy);
                    return;
                }
            }
        }
    }

    kdebugf2();
}
Example #3
0
void HistorySqlStorage::deleteHistory(const Buddy &buddy)
{
	DatabaseMutex.lock();

	QSqlQuery query(Database);

	foreach (const Contact &contact, buddy.contacts())
	{
		Chat chat = ChatManager::instance()->findChat(ContactSet(contact), false);
		if (chat)
		{
			QString queryString = "DELETE FROM kadu_messages WHERE " + chatWhere(chat);
			query.prepare(queryString);
			executeQuery(query);
		}
	}

	QString queryString = "DELETE FROM kadu_statuses WHERE " + buddyContactsWhere(buddy);
	query.prepare(queryString);
	executeQuery(query);

	DatabaseMutex.unlock();
}
Example #4
0
ContactSet ProxyActionContext::contacts()
{
	return ForwardActionContext
			? ForwardActionContext->contacts()
			: ContactSet();
}
/**
 * @short Returns set of contracts of first chat in this aggregate chat or empty set.
 * @return set of contracts of first chat in this aggregate chat or empty set
 *
 * Returns set of contracts of first chat in this aggregate chat or empty set
 * no chats are aggreagated.
 */
ContactSet ChatDetailsAggregate::contacts() const
{
	return Chats.isEmpty() ? ContactSet() : Chats.at(0).contacts();
}