本文整理汇总了C++中kabc::AddressBook::emitAddressBookChanged方法的典型用法代码示例。如果您正苦于以下问题:C++ AddressBook::emitAddressBookChanged方法的具体用法?C++ AddressBook::emitAddressBookChanged怎么用?C++ AddressBook::emitAddressBookChanged使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kabc::AddressBook
的用法示例。
在下文中一共展示了AddressBook::emitAddressBookChanged方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addAddressee
bool KAddrBookExternal::addAddressee(const KABC::Addressee &addr)
{
KABC::AddressBook *addressBook = KABC::StdAddressBook::self(true);
#if KDE_IS_VERSION(3,4,89)
// This ugly hack will be removed in 4.0
while(!addressBook->loadingHasFinished())
{
QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
// use sleep here to reduce cpu usage
usleep(100);
}
#endif
// Select a resource
QPtrList<KABC::Resource> kabcResources = addressBook->resources();
QPtrList<KRES::Resource> kresResources;
QPtrListIterator<KABC::Resource> resIt(kabcResources);
KABC::Resource *kabcResource;
while((kabcResource = resIt.current()) != 0)
{
++resIt;
if(!kabcResource->readOnly())
{
KRES::Resource *res = static_cast<KRES::Resource *>(kabcResource);
if(res)
kresResources.append(res);
}
}
kabcResource = static_cast<KABC::Resource *>(KRES::SelectDialog::getResource(kresResources, 0));
KABC::Ticket *ticket = addressBook->requestSaveTicket(kabcResource);
bool saved = false;
if(ticket)
{
KABC::Addressee addressee(addr);
addressee.setResource(kabcResource);
addressBook->insertAddressee(addressee);
saved = addressBook->save(ticket);
if(!saved)
addressBook->releaseSaveTicket(ticket);
}
addressBook->emitAddressBookChanged();
return saved;
}