// -*- mode: C++; c-file-style: "gnu" -*- // kmaddrbook.cpp // Author: Stefan Taferner // This code is under GPL #include #include #include "kmaddrbook.h" #include "kcursorsaver.h" #include "kmmessage.h" #include "kmkernel.h" // for KabcBridge #include #include #include #include #include #include #include #include #include //----------------------------------------------------------------------------- QString KabcBridge::expandNickName( const QString& nickName ) { if ( nickName.isEmpty() ) return QString::null; const QString lowerNickName = nickName.lower(); const KABC::AddressBook *addressBook = KABC::StdAddressBook::self(); for( KABC::AddressBook::ConstIterator it = addressBook->begin(); it != addressBook->end(); ++it ) { if ( (*it).nickName().lower() == lowerNickName ) return (*it).fullEmail(); } return QString::null; } //----------------------------------------------------------------------------- QStringList KabcBridge::categories() { KABC::AddressBook *addressBook = KABC::StdAddressBook::self(); KABC::Addressee::List addresses = addressBook->allAddressees(); QStringList allcategories, aux; for ( KABC::Addressee::List::Iterator it = addresses.begin(); it != addresses.end(); ++it ) { aux = ( *it ).categories(); for ( QStringList::ConstIterator itAux = aux.begin(); itAux != aux.end(); ++itAux ) { // don't have duplicates in allcategories if ( allcategories.find( *itAux ) == allcategories.end() ) allcategories += *itAux; } } return allcategories; }