You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

61 lines
1.7 KiB

// -*- mode: C++; c-file-style: "gnu" -*-
// kmaddrbook.cpp
// Author: Stefan Taferner <taferner@kde.org>
// This code is under GPL
#include <config.h>
#include <unistd.h>
#include "kmaddrbook.h"
#include "kcursorsaver.h"
#include "kmmessage.h"
#include "kmkernel.h" // for KabcBridge
#include <kapplication.h>
#include <kdebug.h>
#include <klocale.h>
#include <kmessagebox.h>
#include <kabc/stdaddressbook.h>
#include <kabc/distributionlist.h>
#include <kabc/vcardconverter.h>
#include <dcopref.h>
#include <qregexp.h>
//-----------------------------------------------------------------------------
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;
}