-rw-r--r-- | kabc/addressee.cpp | 25 | ||||
-rw-r--r-- | kabc/addressee.h | 5 | ||||
-rw-r--r-- | kabc/field.cpp | 20 | ||||
-rw-r--r-- | kabc/phonenumber.cpp | 13 |
4 files changed, 55 insertions, 8 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 39d14bb..7f592e9 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -50,8 +50,9 @@ struct Addressee::AddresseeData : public KShared { QString uid; QString name; QString formattedName; + QString defaultFormattedName; QString familyName; QString givenName; QString additionalName; QString prefix; @@ -746,19 +747,35 @@ void Addressee::setFormattedName( const QString &formattedName ) detach(); mData->empty = false; mData->formattedName = formattedName; } +void Addressee::setDefaultFormattedName( const QString &formattedName ) +{ + if ( formattedName == mData->defaultFormattedName ) return; + detach(); + mData->empty = false; + mData->defaultFormattedName = formattedName; +} QString Addressee::formattedName() const { return mData->formattedName; } +QString Addressee::defaultFormattedName() const +{ + return mData->defaultFormattedName; +} QString Addressee::formattedNameLabel() { return i18n("Formatted Name"); } +QString Addressee::defaultFormattedNameLabel() +{ + return i18n("Def.Formatted Name"); +} + void Addressee::setFamilyName( const QString &familyName ) { if ( familyName == mData->familyName ) return; @@ -979,8 +996,16 @@ QString Addressee::businessPhoneLabel() QString Addressee::mobilePhoneLabel() { return i18n("Mobile Phone"); } +QString Addressee::mobileWorkPhoneLabel() +{ + return i18n("Mobile (work)"); +} +QString Addressee::mobileHomePhoneLabel() +{ + return i18n("Mobile (home)"); +} QString Addressee::homeFaxLabel() { diff --git a/kabc/addressee.h b/kabc/addressee.h index 8051fec..0d688f8 100644 --- a/kabc/addressee.h +++ b/kabc/addressee.h @@ -153,16 +153,19 @@ class Addressee /** Set formatted name. */ void setFormattedName( const QString &formattedName ); + void setDefaultFormattedName( const QString &formattedName ); /** Return formatted name. */ QString formattedName() const; + QString defaultFormattedName() const; /** Return translated label for formattedName field. */ static QString formattedNameLabel(); + static QString defaultFormattedNameLabel(); /** Set family name. */ @@ -327,8 +330,10 @@ class Addressee /** Return translated label for mobilePhone field. */ static QString mobilePhoneLabel(); + static QString mobileWorkPhoneLabel(); + static QString mobileHomePhoneLabel(); /** Return translated label for homeFax field. */ diff --git a/kabc/field.cpp b/kabc/field.cpp index 89d0b77..5c561c3 100644 --- a/kabc/field.cpp +++ b/kabc/field.cpp @@ -85,9 +85,12 @@ class Field::FieldImpl Organization, Note, Url, Resource, - Sip + Sip, + DefaultFormattedName, + MobileWorkPhone, + MobileHomePhone }; int fieldId() { return mFieldId; } int category() { return mCategory; } @@ -125,8 +128,10 @@ QString Field::label() { switch ( mImpl->fieldId() ) { case FieldImpl::FormattedName: return Addressee::formattedNameLabel(); + case FieldImpl::DefaultFormattedName: + return Addressee::defaultFormattedNameLabel(); case FieldImpl::FamilyName: return Addressee::familyNameLabel(); case FieldImpl::GivenName: return Addressee::givenNameLabel(); @@ -169,8 +174,12 @@ QString Field::label() case FieldImpl::BusinessPhone: return Addressee::businessPhoneLabel(); case FieldImpl::MobilePhone: return Addressee::mobilePhoneLabel(); + case FieldImpl::MobileHomePhone: + return Addressee::mobileHomePhoneLabel(); + case FieldImpl::MobileWorkPhone: + return Addressee::mobileWorkPhoneLabel(); case FieldImpl::HomeFax: return Addressee::homeFaxLabel(); case FieldImpl::BusinessFax: return Addressee::businessFaxLabel(); @@ -238,8 +247,10 @@ QString Field::value( const KABC::Addressee &a ) { switch ( mImpl->fieldId() ) { case FieldImpl::FormattedName: return a.formattedName(); + case FieldImpl::DefaultFormattedName: + return a.defaultFormattedName(); case FieldImpl::FamilyName: return a.familyName(); case FieldImpl::GivenName: return a.givenName(); @@ -287,8 +298,12 @@ QString Field::value( const KABC::Addressee &a ) case FieldImpl::BusinessPhone: return a.phoneNumber( PhoneNumber::Work ).number(); case FieldImpl::MobilePhone: return a.phoneNumber( PhoneNumber::Cell ).number(); + case FieldImpl::MobileWorkPhone: + return a.phoneNumber( PhoneNumber::Cell | PhoneNumber::Work ).number(); + case FieldImpl::MobileHomePhone: + return a.phoneNumber( PhoneNumber::Cell | PhoneNumber::Home ).number(); case FieldImpl::HomeFax: return a.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ).number(); case FieldImpl::BusinessFax: return a.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ).number(); @@ -392,8 +407,9 @@ bool Field::isCustom() Field::List Field::allFields() { if ( mAllFields.isEmpty() ) { createField( FieldImpl::FormattedName, Frequent ); + createField( FieldImpl::DefaultFormattedName, Frequent ); createField( FieldImpl::FamilyName, Frequent ); createField( FieldImpl::GivenName, Frequent ); createField( FieldImpl::AdditionalName ); createField( FieldImpl::Prefix ); @@ -415,8 +431,10 @@ Field::List Field::allFields() createField( FieldImpl::BusinessAddressLabel, Address|Organization ); createField( FieldImpl::HomePhone, Personal|Frequent ); createField( FieldImpl::BusinessPhone, Organization|Frequent ); createField( FieldImpl::MobilePhone, Frequent ); + createField( FieldImpl::MobileHomePhone, Frequent ); + createField( FieldImpl::MobileWorkPhone, Frequent ); createField( FieldImpl::HomeFax ); createField( FieldImpl::BusinessFax ); createField( FieldImpl::CarPhone ); createField( FieldImpl::Isdn ); diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 041effc..4c6231d 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp @@ -176,18 +176,17 @@ QString PhoneNumber::label( int type ) QString PhoneNumber::typeLabel( int type ) { QString typeString; + + if ((type & Cell) == Cell) + typeString += i18n("Mobile") +" "; if ((type & Home) == Home) - typeString += i18n("Home"); + typeString += i18n("Home")+" "; else if ((type & Work) == Work) - typeString += i18n("Work"); + typeString += i18n("Work")+" "; - if (!typeString.isEmpty()) - typeString += " "; - if ((type & Cell) == Cell) - typeString += i18n("Mobile") +" "; - if ((type & Sip) == Sip) + if ((type & Sip) == Sip) typeString += i18n("SIP")+" "; if ((type & Car) == Car) typeString += i18n("Car")+" "; |