本文整理汇总了C++中kabc::Addressee::familyName方法的典型用法代码示例。如果您正苦于以下问题:C++ Addressee::familyName方法的具体用法?C++ Addressee::familyName怎么用?C++ Addressee::familyName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kabc::Addressee
的用法示例。
在下文中一共展示了Addressee::familyName方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: formattedName
QString NameEditDialog::formattedName( const KABC::Addressee &addr, int type )
{
QString name;
switch ( type ) {
case SimpleName:
name = addr.givenName() + " " + addr.familyName();
break;
case FullName:
name = addr.assembledName();
break;
case ReverseNameWithComma:
name = addr.familyName() + ", " + addr.givenName();
break;
case ReverseName:
name = addr.familyName() + " " + addr.givenName();
break;
case Organization:
name = addr.organization();
break;
default:
name = "";
break;
}
return name.simplifyWhiteSpace();
}
示例2: guessedDisplayType
// Tries to guess the display type that is used for the passed contact
static DisplayNameEditWidget::DisplayType guessedDisplayType( const KABC::Addressee &contact )
{
if ( contact.formattedName() == ( contact.givenName() + QLatin1Char( ' ' ) + contact.familyName() ) ) {
return DisplayNameEditWidget::SimpleName;
} else if ( contact.formattedName() == contact.assembledName() ) {
return DisplayNameEditWidget::FullName;
} else if ( contact.formattedName() == ( contact.familyName() + QLatin1String( ", " ) + contact.givenName() ) ) {
return DisplayNameEditWidget::ReverseNameWithComma;
} else if ( contact.formattedName() == ( contact.familyName() + QLatin1Char( ' ' ) + contact.givenName() ) ) {
return DisplayNameEditWidget::ReverseName;
} else if ( contact.formattedName() == contact.organization() ) {
return DisplayNameEditWidget::Organization;
} else {
return DisplayNameEditWidget::CustomName;
}
}
示例3: getName
QString ContactsModel::getName(KABC::Addressee contact) const
{
QString name = contact.formattedName();
if (name.isEmpty()) {
name = QString("%1 %2").arg(contact.givenName()).arg(contact.familyName());
}
return name;
}
示例4: expandMacros
bool TemplateInterface::expandMacros( QMap<QString, QString> &map, QWidget *parentWindow )
{
KABC::StdAddressBook *addrBook = 0;
KABC::Addressee userAddress;
QDateTime datetime = QDateTime::currentDateTime();
QDate date = datetime.date();
QTime time = datetime.time();
QMap<QString,QString>::Iterator it;
for ( it = map.begin(); it != map.end(); ++it )
{
QString placeholder = it.key();
if ( map[ placeholder ].isEmpty() )
{
if ( placeholder == "index" ) map[ placeholder ] = "i";
else if ( placeholder == "loginname" )
{}
else if ( placeholder == "firstname" )
{
INITKABC;
if ( !userAddress.isEmpty() )
map[ placeholder ] = userAddress.givenName();
}
else if ( placeholder == "lastname" )
{
INITKABC;
if ( !userAddress.isEmpty() )
map[ placeholder ] = userAddress.familyName();
}
else if ( placeholder == "fullname" )
{
INITKABC;
if ( !userAddress.isEmpty() )
map[ placeholder ] = userAddress.assembledName();
}
else if ( placeholder == "email" )
{
INITKABC;
if ( !userAddress.isEmpty() )
map[ placeholder ] = userAddress.preferredEmail();
}
else if ( placeholder == "date" )
{
map[ placeholder ] = KGlobal::locale() ->formatDate( date, true );
}
else if ( placeholder == "time" )
{
map[ placeholder ] = KGlobal::locale() ->formatTime( time, true, false );
}
else if ( placeholder == "year" )
{
map[ placeholder ] = KGlobal::locale() ->calendar() ->yearString( date, false );
}
else if ( placeholder == "month" )
{
map[ placeholder ] = QString::number( KGlobal::locale() ->calendar() ->month( date ) );
}
else if ( placeholder == "day" )
{
map[ placeholder ] = QString::number( KGlobal::locale() ->calendar() ->day( date ) );
}
else if ( placeholder == "hostname" )
{
char hostname[ 256 ];
hostname[ 0 ] = 0;
gethostname( hostname, 255 );
hostname[ 255 ] = 0;
map[ placeholder ] = QString::fromLocal8Bit( hostname );
}
else if ( placeholder == "cursor" )
{
map[ placeholder ] = "|";
}
else map[ placeholder ] = placeholder;
}
}
return true;
}
示例5: config
NameEditDialog::NameEditDialog( const KABC::Addressee &addr, int type,
bool readOnly, QWidget *parent, const char *name )
: KDialogBase( Plain, i18n( "Edit Contact Name" ), Help | Ok | Cancel,
Ok, parent, name, true ), mAddressee( addr )
{
QWidget *page = plainPage();
QGridLayout *layout = new QGridLayout( page );
layout->setSpacing( spacingHint() );
layout->addColSpacing( 2, 100 );
QLabel *label;
label = new QLabel( i18n( "Honorific prefixes:" ), page );
layout->addWidget( label, 0, 0 );
mPrefixCombo = new KComboBox( page );
mPrefixCombo->setDuplicatesEnabled( false );
mPrefixCombo->setEditable( true );
mPrefixCombo->setEnabled( !readOnly );
label->setBuddy( mPrefixCombo );
layout->addMultiCellWidget( mPrefixCombo, 0, 0, 1, 2 );
QWhatsThis::add( mPrefixCombo, i18n( "The predefined honorific prefixes can be extended in the settings dialog." ) );
label = new QLabel( i18n( "Given name:" ), page );
layout->addWidget( label, 1, 0 );
mGivenNameEdit = new KLineEdit( page );
mGivenNameEdit->setReadOnly( readOnly );
label->setBuddy( mGivenNameEdit );
layout->addMultiCellWidget( mGivenNameEdit, 1, 1, 1, 2 );
label = new QLabel( i18n( "Additional names:" ), page );
layout->addWidget( label, 2, 0 );
mAdditionalNameEdit = new KLineEdit( page );
mAdditionalNameEdit->setReadOnly( readOnly );
label->setBuddy( mAdditionalNameEdit );
layout->addMultiCellWidget( mAdditionalNameEdit, 2, 2, 1, 2 );
label = new QLabel( i18n( "Family names:" ), page );
layout->addWidget( label, 3, 0 );
mFamilyNameEdit = new KLineEdit( page );
mFamilyNameEdit->setReadOnly( readOnly );
label->setBuddy( mFamilyNameEdit );
layout->addMultiCellWidget( mFamilyNameEdit, 3, 3, 1, 2 );
label = new QLabel( i18n( "Honorific suffixes:" ), page );
layout->addWidget( label, 4, 0 );
mSuffixCombo = new KComboBox( page );
mSuffixCombo->setDuplicatesEnabled( false );
mSuffixCombo->setEditable( true );
mSuffixCombo->setEnabled( !readOnly );
label->setBuddy( mSuffixCombo );
layout->addMultiCellWidget( mSuffixCombo, 4, 4, 1, 2 );
QWhatsThis::add( mSuffixCombo, i18n( "The predefined honorific suffixes can be extended in the settings dialog." ) );
label = new QLabel( i18n( "Formatted name:" ), page );
layout->addWidget( label, 5, 0 );
mFormattedNameCombo = new KComboBox( page );
mFormattedNameCombo->setEnabled( !readOnly );
layout->addWidget( mFormattedNameCombo, 5, 1 );
connect( mFormattedNameCombo, SIGNAL( activated( int ) ), SLOT( typeChanged( int ) ) );
mFormattedNameEdit = new KLineEdit( page );
mFormattedNameEdit->setEnabled( type == CustomName && !readOnly );
layout->addWidget( mFormattedNameEdit, 5, 2 );
mParseBox = new QCheckBox( i18n( "Parse name automatically" ), page );
mParseBox->setEnabled( !readOnly );
connect( mParseBox, SIGNAL( toggled(bool) ), SLOT( parseBoxChanged(bool) ) );
connect( mParseBox, SIGNAL( toggled(bool) ), SLOT( modified() ) );
layout->addMultiCellWidget( mParseBox, 6, 6, 0, 1 );
// Fill in the values
mFamilyNameEdit->setText( addr.familyName() );
mGivenNameEdit->setText( addr.givenName() );
mAdditionalNameEdit->setText( addr.additionalName() );
mFormattedNameEdit->setText( addr.formattedName() );
// Prefix and suffix combos
KConfig config( "kabcrc" );
config.setGroup( "General" );
QStringList sTitle;
sTitle += "";
sTitle += i18n( "Dr." );
sTitle += i18n( "Miss" );
sTitle += i18n( "Mr." );
sTitle += i18n( "Mrs." );
sTitle += i18n( "Ms." );
sTitle += i18n( "Prof." );
sTitle += config.readListEntry( "Prefixes" );
sTitle.sort();
QStringList sSuffix;
sSuffix += "";
sSuffix += i18n( "I" );
sSuffix += i18n( "II" );
sSuffix += i18n( "III" );
sSuffix += i18n( "Jr." );
sSuffix += i18n( "Sr." );
//.........这里部分代码省略.........
示例6: getValue
QString KWMailMergeKABC::getValue( const QString &name, int record ) const
{
kdDebug() << "KWMailMergeKABC::getValue(" << name << ", " << record << ")" << endl;
if ( record < 0 )
return name;
// This doesn't ever happen, right? So why is it there? Dirk Schmidt
if ( record == -1 && _iterator == _addressBook->end() )
return "";
//
// Set the iterator to the asked Addressee.
//
bool uidAvailable = false;
if ( record != -1 )
{
int counter = 0;
for ( _UIDIterator = _exclusiveUIDs.begin(); _UIDIterator != _exclusiveUIDs.end()
&& counter < record; _UIDIterator++ )
{
counter++;
}
for ( _iterator = _addressBook->begin(); _iterator != _addressBook->end(); ++_iterator )
{
if( _iterator->uid() == *_UIDIterator )
{
uidAvailable = true;
break;
}
}
}
if( !uidAvailable )
{
return ( i18n ( "KAddressbook entry '%1' not available." ).arg( *_UIDIterator ) );
}
KABC::Addressee addr = *_iterator;
_iterator++; // Don't know why. Could be removed? Dirk Schmidt
//
// Return the asked variable.
//
if ( name == "KAddressbook identifier" )
return addr.uid();
if ( name == "Name" )
return addr.name();
if ( name == "Formatted name" )
return addr.formattedName();
if ( name == "Family names" )
return addr.familyName();
if ( name == "Given name" )
return addr.givenName();
if ( name == "Additional names" )
return addr.additionalName();
if ( name == "Honorific prefixes" )
return addr.prefix();
if ( name == "Honorific suffixes" )
return addr.suffix();
if ( name == "Nick name" )
return addr.nickName();
if ( name == "Birthday" )
return KGlobal::locale()->formatDate( addr.birthday().date() );
if ( name == "Home address: Street" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.street();
}
if ( name == "Home address: Locality" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.locality();
}
if ( name == "Home address: Region" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.region();
}
if ( name == "Home address: Postal code" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.postalCode();
}
if ( name == "Home address: Country" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.country();
}
if ( name == "Home address: Label" )
{
KABC::Address a = addr.address( KABC::Address::Home );
return a.label();
}
//.........这里部分代码省略.........
示例7: readContents
bool VCard_LDIFCreator::readContents( const QString &path )
{
// read file contents
QFile file( path );
if ( !file.open( QIODevice::ReadOnly ) )
return false;
QString info;
text.truncate(0);
// read the file
QByteArray contents = file.readAll();
file.close();
// convert the file contents to a KABC::Addressee address
KABC::Addressee::List addrList;
KABC::Addressee addr;
KABC::VCardConverter converter;
addrList = converter.parseVCards( contents);
if ( addrList.count() == 0 ) {
KABC::AddresseeList l; // FIXME porting
if ( !KABC::LDIFConverter::LDIFToAddressee( contents, l ) )
return false;
// FIXME porting
KABC::AddresseeList::ConstIterator it( l.constBegin() );
for ( ; it != l.constEnd(); ++ it ) {
addrList.append( *it );
}
}
if ( addrList.count()>1 ) {
// create an overview (list of all names)
name = i18np("One contact found:", "%1 contacts found:", addrList.count());
int no, linenr;
for (linenr=no=0; linenr<30 && no<addrList.count(); ++no) {
addr = addrList[no];
info = addr.formattedName().simplified();
if (info.isEmpty())
info = addr.givenName() + ' ' + addr.familyName();
info = info.simplified();
if (info.isEmpty())
continue;
text.append(info);
text.append("\n");
++linenr;
}
return true;
}
// create card for _one_ contact
addr = addrList[ 0 ];
// prepare the text
name = addr.formattedName().simplified();
if ( name.isEmpty() )
name = addr.givenName() + ' ' + addr.familyName();
name = name.simplified();
KABC::PhoneNumber::List pnList = addr.phoneNumbers();
QStringList phoneNumbers;
for (int no=0; no<pnList.count(); ++no) {
QString pn = pnList[no].number().simplified();
if (!pn.isEmpty() && !phoneNumbers.contains(pn))
phoneNumbers.append(pn);
}
if ( !phoneNumbers.isEmpty() )
text += phoneNumbers.join("\n") + '\n';
info = addr.organization().simplified();
if ( !info.isEmpty() )
text += info + '\n';
// get an address
KABC::Address address = addr.address(KABC::Address::Work);
if (address.isEmpty())
address = addr.address(KABC::Address::Home);
if (address.isEmpty())
address = addr.address(KABC::Address::Pref);
info = address.formattedAddress();
if ( !info.isEmpty() )
text += info + '\n';
return true;
}
示例8: toXml
QString Contact::toXml(const KABC::Addressee &addr)
{
/**
* Handle distribution lists.
*/
if(KPIM::DistributionList::isDistributionList(addr))
{
if(s_distListMap)
return (*s_distListMap)[ addr.uid() ];
else
return QString();
}
/**
* Handle normal contacts.
*/
QString xml;
xml += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
xml += "<contact>\n";
xml += "<direct_ref>" + addr.uid() + "</direct_ref>\n";
xml += "<sensitivity>" + custom("sensitivity", addr, "0") + "</sensitivity>\n";
xml += "<message_class>IPM.Contact</message_class>\n";
xml += "<is_recurring>" + custom("is_recurring", addr, "false") + "</is_recurring>\n";
xml += "<reminder_set>" + custom("reminder_set", addr, "false") + "</reminder_set>\n";
xml += "<send_rich_info>" + custom("send_rich_info", addr, "false") + "</send_rich_info>\n";
xml += "<subject>" + addr.formattedName() + "</subject>\n";
xml += "<last_modification_time>" + addr.revision().toString(Qt::ISODate) + "</last_modification_time>\n";
xml += "<display_name_prefix>" + addr.prefix() + "</display_name_prefix>\n";
xml += "<first_name>" + addr.givenName() + "</first_name>\n";
xml += "<middle_name>" + addr.additionalName() + "</middle_name>\n";
xml += "<last_name>" + addr.familyName() + "</last_name>\n";
xml += "<suffix>" + addr.suffix() + "</suffix>\n";
xml += "<display_name>" + addr.assembledName() + "</display_name>\n";
xml += "<file_as>" + addr.formattedName() + "</file_as>\n";
xml += "<nickname>" + addr.nickName() + "</nickname>\n";
xml += "<web_page_address>" + addr.url().url() + "</web_page_address>\n";
xml += "<company_name>" + addr.organization() + "</company_name>\n";
xml += "<job_title>" + addr.title() + "</job_title>\n";
QStringList emails = addr.emails();
for(uint i = 0; i < 3; ++i)
{
QString type, address, comment, display;
if(i < emails.count())
{
type = "SMTP";
address = emails[ i ];
/**
* If the contact was created by kontact use the email address as
* display name and the formatted name as comment, otherwise we use
* the values from the server.
*/
if(custom("comes_from_scalix", addr) != "true")
{
comment = addr.formattedName();
display = emails[ i ];
}
else
{
comment = custom(QString("email%1_address_with_comment").arg(i + 1), addr);
display = custom(QString("email%1_display_name").arg(i + 1), addr);
}
}
xml += QString("<email%1_address_type>").arg(i + 1) + type +
QString("</email%1_address_type>").arg(i + 1) + "\n";
xml += QString("<email%1_address>").arg(i + 1) + address +
QString("</email%1_address>").arg(i + 1) + "\n";
xml += QString("<email%1_address_with_comment>").arg(i + 1) + comment +
QString("</email%1_address_with_comment>").arg(i + 1) + "\n";
xml += QString("<email%1_display_name>").arg(i + 1) + display +
QString("</email%1_display_name>").arg(i + 1) + "\n";
}
KABC::PhoneNumber phone = addr.phoneNumber(KABC::PhoneNumber::Home);
xml += "<home_phone_number>" + phone.number() + "</home_phone_number>\n";
phone = addr.phoneNumber(KABC::PhoneNumber::Work);
xml += "<work_phone_number>" + phone.number() + "</work_phone_number>\n";
phone = addr.phoneNumber(KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax);
xml += "<work_fax_number>" + phone.number() + "</work_fax_number>\n";
phone = addr.phoneNumber(KABC::PhoneNumber::Cell);
xml += "<mobile_phone_number>" + phone.number() + "</mobile_phone_number>\n";
const KABC::Address workAddress = addr.address(KABC::Address::Work);
xml += "<work_address_street>" + workAddress.street() + "</work_address_street>\n";
xml += "<work_address_zip>" + workAddress.postalCode() + "</work_address_zip>\n";
xml += "<work_address_city>" + workAddress.locality() + "</work_address_city>\n";
xml += "<work_address_state>" + workAddress.region() + "</work_address_state>\n";
xml += "<work_address_country>" + workAddress.country() + "</work_address_country>\n";
const KABC::Address homeAddress = addr.address(KABC::Address::Home);
//.........这里部分代码省略.........
示例9: fieldText
QString CSVTemplate::fieldText(int column, const KABC::Addressee& addressee) const
{
if (column < 0 || addressee.isEmpty()) return QString();
if (m_columnToField.isEmpty()) return QString();
QMap<int, int>::const_iterator it = m_columnToField.find(column);
if (it == m_columnToField.end()) return QString();
QString text;
switch (it.value())
{
case 0: // "Formatted Name"
text = addressee.formattedName();
break;
case 1: // "Family Name"
text = addressee.familyName();
break;
case 2: // "Given Name"
text = addressee.givenName();
break;
case 3: // "Additional Names"
text = addressee.additionalName();
break;
case 4: // "Honorific Prefixes"
text = addressee.prefix();
break;
case 5: // "Honorific Suffixes"
text = addressee.suffix();
break;
case 6: // "Nick Name"
text = addressee.nickName();
break;
case 7: // "Birthday"
text = formatDate(addressee.birthday());
break;
case 8: // "Home Address Street"
text = addressee.address(Address::Home).street();
break;
case 9: // "Home Address Locality"
text = addressee.address(Address::Home).locality();
break;
case 10: // "Home Address Region"
text = addressee.address(Address::Home).region();
break;
case 11: // "Home Address Postal Code"
text = addressee.address(Address::Home).postalCode();
break;
case 12: // "Home Address Country"
text = addressee.address(Address::Home).country();
break;
case 13: // "Home Address Label"
text = addressee.address(Address::Home).label();
break;
case 14: // "Business Address Street"
text = addressee.address(Address::Work).street();
break;
case 15: // "Business Address Locality"
text = addressee.address(Address::Work).locality();
break;
case 16: // "Business Address Region"
text = addressee.address(Address::Work).region();
break;
case 17: // "Business Address Postal Code"
text = addressee.address(Address::Work).postalCode();
break;
case 18: // "Business Address Country"
text = addressee.address(Address::Work).country();
break;
case 19: // "Business Address Label"
text = addressee.address(Address::Work).label();
break;
case 20: // "Home Phone"
text = addressee.phoneNumber(PhoneNumber::Home).number();
break;
case 21: // "Business Phone"
text = addressee.phoneNumber(PhoneNumber::Work).number();
break;
case 22: // "Mobile Phone"
text = addressee.phoneNumber(PhoneNumber::Cell).number();
break;
case 23: // "Home Fax"
text = addressee.phoneNumber(PhoneNumber::Fax | PhoneNumber::Home).number();
break;
case 24: // "Business Fax"
text = addressee.phoneNumber(PhoneNumber::Fax | PhoneNumber::Work).number();
break;
case 25: // "Car Phone"
text = addressee.phoneNumber(PhoneNumber::Car).number();
break;
case 26: // "Isdn"
text = addressee.phoneNumber(PhoneNumber::Isdn).number();
break;
case 27: // "Pager"
text = addressee.phoneNumber(PhoneNumber::Pager).number();
break;
case 28: // "Email Address"
text = addressee.preferredEmail();
break;
case 29: // "Mail Client"
text = addressee.mailer();
//.........这里部分代码省略.........
示例10: entityData
QVariant ContactsTreeModel::entityData( const Item &item, int column, int role ) const
{
if ( item.mimeType() == KABC::Addressee::mimeType() ) {
if ( !item.hasPayload<KABC::Addressee>() ) {
// Pass modeltest
if ( role == Qt::DisplayRole ) {
return item.remoteId();
}
return QVariant();
}
const KABC::Addressee contact = item.payload<KABC::Addressee>();
if ( role == Qt::DecorationRole ) {
if ( column == 0 ) {
const KABC::Picture picture = contact.photo();
if ( picture.isIntern() ) {
return picture.data().scaled( QSize( d->mIconSize, d->mIconSize ), Qt::KeepAspectRatio );
} else {
return KIcon( QLatin1String( "user-identity" ) );
}
}
return QVariant();
} else if ( ( role == Qt::DisplayRole ) || ( role == Qt::EditRole ) ) {
switch ( d->mColumns.at( column ) ) {
case FullName:
if( contact.realName().isEmpty() ) {
if( contact.preferredEmail().isEmpty() ) {
return contact.familyName();
}
return contact.preferredEmail();
}
return contact.realName();
break;
case FamilyName:
return contact.familyName();
break;
case GivenName:
return contact.givenName();
break;
case Birthday:
if ( contact.birthday().date().isValid() ) {
return KGlobal::locale()->formatDate( contact.birthday().date(), KLocale::ShortDate );
}
break;
case HomeAddress:
{
const KABC::Address address = contact.address( KABC::Address::Home );
if ( !address.isEmpty() ) {
return address.formattedAddress();
}
}
break;
case BusinessAddress:
{
const KABC::Address address = contact.address( KABC::Address::Work );
if ( !address.isEmpty() ) {
return address.formattedAddress();
}
}
break;
case PhoneNumbers:
{
QStringList values;
const KABC::PhoneNumber::List numbers = contact.phoneNumbers();
foreach ( const KABC::PhoneNumber &number, numbers ) {
values += number.number();
}
return values.join( QLatin1String( "\n" ) );
}
break;
case PreferredEmail:
return contact.preferredEmail();
break;
case AllEmails:
return contact.emails().join( QLatin1String( "\n" ) );
break;
case Organization:
return contact.organization();
break;
case Role:
return contact.role();
break;
case Homepage:
return contact.url().url();
break;
case Note:
return contact.note();
break;
}
} else if ( role == DateRole ) {
if ( d->mColumns.at( column ) == Birthday ) {
return contact.birthday();
} else {
return QDate();
}
//.........这里部分代码省略.........
示例11: getLastName
static QString getLastName(const KABC::Addressee &addressee)
{
return addressee.familyName();
}
示例12: addEmail
//-----------------------------------------------------------------------------
void KAddrBookExternal::addEmail(const QString &addr, QWidget *parent)
{
QString email;
QString name;
KABC::Addressee::parseEmailAddress(addr, name, email);
KABC::AddressBook *ab = KABC::StdAddressBook::self(true);
ab->setErrorHandler(new KABC::GuiErrorHandler(parent));
// force a reload of the address book file so that changes that were made
// by other programs are loaded
ab->asyncLoad();
// if we have to reload the address book then we should also wait until
// it's completely reloaded
#if KDE_IS_VERSION(3,4,89)
// This ugly hack will be removed in 4.0
while(!ab->loadingHasFinished())
{
QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
// use sleep here to reduce cpu usage
usleep(100);
}
#endif
KABC::Addressee::List addressees = ab->findByEmail(email);
if(addressees.isEmpty())
{
KABC::Addressee a;
a.setNameFromString(name);
a.insertEmail(email, true);
{
KConfig config("kaddressbookrc");
config.setGroup("General");
int type = config.readNumEntry("FormattedNameType", 1);
QString name;
switch(type)
{
case 1:
name = a.givenName() + " " + a.familyName();
break;
case 2:
name = a.assembledName();
break;
case 3:
name = a.familyName() + ", " + a.givenName();
break;
case 4:
name = a.familyName() + " " + a.givenName();
break;
case 5:
name = a.organization();
break;
default:
name = "";
break;
}
name.simplifyWhiteSpace();
a.setFormattedName(name);
}
if(KAddrBookExternal::addAddressee(a))
{
QString text = i18n("<qt>The email address <b>%1</b> was added to your "
"addressbook; you can add more information to this "
"entry by opening the addressbook.</qt>").arg(addr);
KMessageBox::information(parent, text, QString::null, "addedtokabc");
}
}
else
{
QString text = i18n("<qt>The email address <b>%1</b> is already in your "
"addressbook.</qt>").arg(addr);
KMessageBox::information(parent, text, QString::null,
"alreadyInAddressBook");
}
ab->setErrorHandler(0);
}