author | zautrix <zautrix> | 2005-10-30 03:18:28 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-10-30 03:18:28 (UTC) |
commit | 760f042066478106b87a63d6aba1ac1473a58dae (patch) (side-by-side diff) | |
tree | efa26bd696cd152e36552317e2d26a615db0866a /kabc | |
parent | 54d04eb1b2cb8ec4a3b2cf3dfdfbade45dc7ae7a (diff) | |
download | kdepimpi-760f042066478106b87a63d6aba1ac1473a58dae.zip kdepimpi-760f042066478106b87a63d6aba1ac1473a58dae.tar.gz kdepimpi-760f042066478106b87a63d6aba1ac1473a58dae.tar.bz2 |
fixes
-rw-r--r-- | kabc/phonenumber.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 897c56d..12b9b09 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp @@ -47,328 +47,328 @@ PhoneNumber::PhoneNumber( const QString &number, int type ) : PhoneNumber::~PhoneNumber() { } void PhoneNumber::init() { mId = KApplication::randomString( 8 ); } bool PhoneNumber::operator==( const PhoneNumber &p ) const { if ( mNumber != p.mNumber ) return false; if ( mType != p.mType ) return false; return true; } bool PhoneNumber::operator!=( const PhoneNumber &p ) const { return !( p == *this ); } void PhoneNumber::makeCompat() { mType = getCompatType( mType ); } int PhoneNumber::getCompatType( int type ) { if ((type & Cell) == Cell) { if ((type & Work) == Work) return Car; return Cell; } if ((type & Home) == Home) { if ((type & Pref) == Pref) return (Home | Pref); if ((type & Fax) == Fax) return (Home | Fax); return (Home); } if ((type & Work) == Work) { if ((type & Pref) == Pref) return (Work| Pref); if ((type & Fax) == Fax) return (Fax |Work); if ((type & Msg) == Msg) { if ((type & Voice) == Voice) return ( Msg | Voice |Work); return ( Msg | Work); } return Work; } if ((type & Pcs) == Pcs) { if ((type & Pref) == Pref) return Pcs | Pref; if ((type & Voice) == Voice) return Pcs | Voice; return Pcs; } if ((type & Car) == Car) return Car; if ((type & Pager) == Pager) return Pager; if ((type & Isdn) == Isdn) return Isdn; #if 0 if ((type & Video) == Video) return Video; #endif if ((type & Msg) == Msg) return Msg; if ((type & Fax) == Fax) return Fax; if ((type & Pref) == Pref) return Pref; return Voice; } bool PhoneNumber::simplifyNumber() { QString Number; int i; Number = mNumber.stripWhiteSpace (); mNumber = ""; for ( i = 0; i < Number.length(); ++i) { if ( Number.at(i).isDigit() || Number.at(i) == '+'|| Number.at(i) == '*'|| Number.at(i) == '#' ) mNumber += Number.at(i); } return ( mNumber.length() > 0 ); } // make cellphone compatible void PhoneNumber::simplifyType() { if ( mType & Fax ) mType = Fax; else if ( mType & Cell ) mType = Cell; else if ( mType & Work ) mType = Work ; else if ( mType & Home ) mType = Home; else mType = Pref; } bool PhoneNumber::contains( const PhoneNumber &p ) { PhoneNumber myself; PhoneNumber other; myself = *this; other = p; myself.simplifyNumber(); other.simplifyNumber(); if ( myself.number() != other.number ()) return false; myself.simplifyType(); other.simplifyType(); if ( myself.type() == other.type()) return true; return false; } void PhoneNumber::setId( const QString &id ) { mId = id; } QString PhoneNumber::id() const { return mId; } void PhoneNumber::setNumber( const QString &number ) { mNumber = number; } QString PhoneNumber::number() const { return mNumber; } void PhoneNumber::setType( int type ) { mType = type; } int PhoneNumber::type() const { return mType; } QString PhoneNumber::typeLabel() const { QString label; bool first = true; TypeList list = typeList(); TypeList::Iterator it; for ( it = list.begin(); it != list.end(); ++it ) { if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); if ( first ) first = false; } } return label; } QString PhoneNumber::label() const { return typeLabel( type() ); } PhoneNumber::TypeList PhoneNumber::typeList() { TypeList list; list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video << Bbs << Modem << Car << Isdn << Pcs << Pager; return list; } PhoneNumber::TypeList PhoneNumber::supportedTypeList() { static TypeList list; if ( list.count() == 0 ) list << (Home| Pref) << (Work| Pref) << Cell <<(Pcs|Pref)<< (Pcs|Voice)<< Home << Work << Car << Pcs <<(Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< Pager << Isdn << Msg << Pref << Voice; return list; } QStringList PhoneNumber::supportedTypeListNames() { static QStringList list; if ( list.count() == 0 ) - list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("SIP") << i18n("VoIP") <<i18n("Home2")<< i18n("Work2") << i18n("Mobile2") << i18n("SIP2") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("Pager") << i18n("ISDN") << i18n("Callback") << i18n("Primary")<< i18n("Other"); + list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("SiP") << i18n("VoIP") <<i18n("Home2")<< i18n("Work2") << i18n("Mobile2") << i18n("SiP2") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("Pager") << i18n("ISDN") << i18n("Callback") << i18n("Primary")<< i18n("Other"); return list; } int PhoneNumber::typeListIndex4Type(int type ) { TypeList list = supportedTypeList(); int i = 0; while ( i < list.count() ) { if ( list [i] == type ) return i; ++i; } return list.count()-1; } QString PhoneNumber::label( int type ) { return typeLabel( type ); } QString PhoneNumber::typeLabel( int type ) { if ((type & Cell) == Cell) return i18n("Mobile"); if ((type & Home) == Home) { if ((type & Pref) == Pref) return i18n("Home"); if ((type & Fax) == Fax) return i18n("Fax (Home)"); return i18n("Home2"); } if ((type & Work) == Work) { if ((type & Pref) == Pref) return i18n("Work"); if ((type & Fax) == Fax) return i18n("Fax (Work)"); if ((type & Msg) == Msg) { if ((type & Voice) == Voice) return i18n("Assistent"); return i18n("Company"); } return i18n("Work2"); } if ((type & Pcs) == Pcs) { if ((type & Pref) == Pref) return i18n("SiP"); if ((type & Voice) == Voice) return i18n("VoIP"); return i18n("SiP2"); } if ((type & Car) == Car) return i18n("Mobile2"); if ((type & Pager) == Pager) return i18n("Pager"); if ((type & Isdn) == Isdn) return i18n("ISDN"); if ((type & Video) == Video) return i18n("Video"); if ((type & Msg) == Msg) return i18n("Callback"); if ((type & Fax) == Fax) return i18n("Fax (Other)"); if ((type & Pref) == Pref) return i18n("Primary"); return i18n("Other"); #if 0 QString 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) typeString += i18n("Car")+" "; if ((type & Fax) == Fax) typeString += i18n("Fax"); else if ((type & Msg) == Msg) typeString += i18n("Messenger"); else if ((type & Video) == Video) typeString += i18n("Video"); else if ((type & Bbs) == Bbs) typeString += i18n("Mailbox"); else if ((type & Modem) == Modem) typeString += i18n("Modem"); else if ((type & Isdn) == Isdn) typeString += i18n("ISDN"); else if ((type & Pcs) == Pcs) typeString += i18n("PCS"); else if ((type & Pager) == Pager) typeString += i18n("Pager"); // add the prefered flag /* if ((type & Pref) == Pref) typeString += i18n("(p)"); */ //if we still have no match, return "other" if (typeString.isEmpty()) { if ((type & Voice) == Voice) return i18n("Voice"); else return i18n("Other"); } return typeString.stripWhiteSpace(); #endif } QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) { return s << phone.mId << phone.mType << phone.mNumber; } QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) { s >> phone.mId >> phone.mType >> phone.mNumber; return s; } |