Exemple #1
0
void ContactManager::removeContact(Contact contact)
{
	kdebugf();
	if (contact.isNull())
		return;

	ensureLoaded();

	if (!Contacts.contains(contact))
		return;

	disconnect(contact.data(), SIGNAL(updated()), this, SLOT(contactDataUpdated()));
	disconnect(contact.data(), SIGNAL(accountDataAboutToBeAdded(Account *)),
			this, SLOT(contactAccountDataAboutToBeAdded(Account *)));
	disconnect(contact.data(), SIGNAL(accountDataAdded(Account *)),
			this, SLOT(contactAccountDataAdded(Account *)));
	disconnect(contact.data(), SIGNAL(accountDataAboutToBeRemoved(Account *)),
			this, SLOT(contactAccountDataAboutToBeRemoved(Account *)));
	disconnect(contact.data(), SIGNAL(accountDataRemoved(Account *)),
			this, SLOT(contactAccountDataRemoved(Account *)));
	disconnect(contact.data(), SIGNAL(accountDataIdChanged(Account *, const QString &)),
			this, SLOT(contactAccountDataIdChanged(Account *, const QString &)));

	emit contactAboutToBeRemoved(contact);
	if (ContactRemovePredicateObject::inquireAll(contact))
	{
		Contacts.removeAll(contact);
		contact.removeFromStorage();
	}
	emit contactRemoved(contact);
	contact.setType(ContactData::TypeAnonymous);

	kdebugf();
}
Exemple #2
0
void ContactManager::addContact(Contact contact)
{
	if (contact.isNull())
		return;

	ensureLoaded();

	if (Contacts.contains(contact))
	{
		contact.setType(ContactData::TypeNormal);
		return;
	}


	emit contactAboutToBeAdded(contact);
	Contacts.append(contact);
	emit contactAdded(contact);

	connect(contact.data(), SIGNAL(updated()), this, SLOT(contactDataUpdated()));
	connect(contact.data(), SIGNAL(accountDataAboutToBeAdded(Account *)),
			this, SLOT(contactAccountDataAboutToBeAdded(Account *)));
	connect(contact.data(), SIGNAL(accountDataAdded(Account *)),
			this, SLOT(contactAccountDataAdded(Account *)));
	connect(contact.data(), SIGNAL(accountDataAboutToBeRemoved(Account *)),
			this, SLOT(contactAccountDataAboutToBeRemoved(Account *)));
	connect(contact.data(), SIGNAL(accountDataRemoved(Account *)),
			this, SLOT(contactAccountDataRemoved(Account *)));
	connect(contact.data(), SIGNAL(accountDataIdChanged(Account *, const QString &)),
			this, SLOT(contactAccountDataIdChanged(Account *, const QString &)));
}
Exemple #3
0
void ContactManager::unblockUpdatedSignal(Contact &contact)
{
	contact.data()->unblockUpdatedSignal();
}