本文整理汇总了C++中kabc::Addressee::phoneNumbers方法的典型用法代码示例。如果您正苦于以下问题:C++ Addressee::phoneNumbers方法的具体用法?C++ Addressee::phoneNumbers怎么用?C++ Addressee::phoneNumbers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kabc::Addressee
的用法示例。
在下文中一共展示了Addressee::phoneNumbers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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( 16, 16 ), Qt::KeepAspectRatio );
} else {
return KIcon( QLatin1String( "x-office-contact" ) );
}
}
return QVariant();
} else if ( (role == Qt::DisplayRole) || (role == Qt::EditRole) ) {
switch ( mColumns.at( column ) ) {
case FullName:
return contact.realName();
break;
case Birthday:
if ( contact.birthday().isValid() )
return KGlobal::locale()->formatDate( contact.birthday().date() );
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( "\n" );
}
break;
case PreferredEmail:
return contact.preferredEmail();
break;
case AllEmails:
return contact.emails().join( "\n" );
break;
case Organization:
return contact.organization();
break;
case Homepage:
return contact.url().url();
break;
case Note:
return contact.note();
break;
}
}
} else if ( item.mimeType() == KABC::ContactGroup::mimeType() ) {
示例2: 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;
}