-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 | 11 |
4 files changed, 54 insertions, 7 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 39d14bb..7f592e9 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -51,6 +51,7 @@ struct Addressee::AddresseeData : public KShared QString uid; QString name; QString formattedName; + QString defaultFormattedName; QString familyName; QString givenName; QString additionalName; @@ -747,17 +748,33 @@ void Addressee::setFormattedName( const QString &formattedName ) 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 ) { @@ -980,6 +997,14 @@ 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 @@ -154,14 +154,17 @@ 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. @@ -328,6 +331,8 @@ 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 @@ -86,7 +86,10 @@ class Field::FieldImpl Note, Url, Resource, - Sip + Sip, + DefaultFormattedName, + MobileWorkPhone, + MobileHomePhone }; int fieldId() { return mFieldId; } @@ -126,6 +129,8 @@ 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: @@ -170,6 +175,10 @@ QString Field::label() 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: @@ -239,6 +248,8 @@ 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: @@ -288,6 +299,10 @@ QString Field::value( const KABC::Addressee &a ) 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: @@ -393,6 +408,7 @@ 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 ); @@ -416,6 +432,8 @@ Field::List Field::allFields() 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 ); diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 041effc..4c6231d 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp @@ -177,15 +177,14 @@ QString PhoneNumber::typeLabel( int type ) { QString typeString; - if ((type & Home) == Home) - typeString += i18n("Home"); - else if ((type & Work) == Work) - typeString += i18n("Work"); - if (!typeString.isEmpty()) - typeString += " "; if ((type & Cell) == Cell) typeString += i18n("Mobile") +" "; + if ((type & Home) == Home) + typeString += i18n("Home")+" "; + else if ((type & Work) == Work) + typeString += i18n("Work")+" "; + if ((type & Sip) == Sip) typeString += i18n("SIP")+" "; if ((type & Car) == Car) |