kabc
21 #include "phonenumber.h"
26 #include <QtCore/QDataStream>
27 #include <QtCore/QSharedData>
31 static QString cleanupNumber(
const QString &input )
33 return input.simplified();
36 class PhoneNumber::Private :
public QSharedData
40 : mId( KRandom::randomString( 8 ) ), mType( type )
44 Private(
const Private &other )
45 : QSharedData( other )
49 mNumber = other.mNumber;
58 : d( new Private( Home ) )
63 : d( new Private( type ) )
65 d->mNumber = cleanupNumber( number );
79 if ( d->mId != other.d->mId ) {
83 if ( d->mNumber != other.d->mNumber ) {
87 if ( d->mType != other.d->mType ) {
96 return !( other == *this );
101 if (
this != &other ) {
110 return d->mNumber.isEmpty();
125 d->mNumber = cleanupNumber( number );
152 if ( list.isEmpty() ) {
164 return i18nc(
"Home phone",
"Home" );
167 return i18nc(
"Work phone",
"Work" );
170 return i18n(
"Messenger" );
173 return i18nc(
"Preferred phone",
"Preferred" );
176 return i18n(
"Voice" );
179 return i18n(
"Fax" );
182 return i18nc(
"Mobile Phone",
"Mobile" );
185 return i18nc(
"Video phone",
"Video" );
188 return i18n(
"Mailbox" );
191 return i18n(
"Modem" );
194 return i18nc(
"Car Phone",
"Car" );
197 return i18n(
"ISDN" );
200 return i18n(
"PCS" );
203 return i18n(
"Pager" );
206 return i18nc(
"another type of phone",
"Other" );
218 if ( type ==
Pref ) {
219 return i18n(
"Preferred Number" );
224 label = i18n(
"Home Fax" );
228 }
else if ( type &
Work ) {
229 label = i18n(
"Work Fax" );
238 TypeList::ConstIterator it;
239 TypeList::ConstIterator end( list.end() );
240 for ( it = list.begin(); it != end; ++it ) {
245 label.append( QLatin1Char(
'/' ) );
263 str += QString::fromLatin1(
"PhoneNumber {\n" );
264 str += QString::fromLatin1(
" Id: %1\n" ).arg( d->mId );
265 str += QString::fromLatin1(
" Type: %1\n" ).arg(
typeLabel( d->mType ) );
266 str += QString::fromLatin1(
" Number: %1\n" ).arg( d->mNumber );
267 str += QString::fromLatin1(
"}\n" );
272 QDataStream &KABC::operator<<( QDataStream &s,
const PhoneNumber &phone )
274 return s << phone.d->mId << (uint)phone.d->mType << phone.d->mNumber;
277 QDataStream &KABC::operator>>( QDataStream &s,
PhoneNumber &phone )
280 s >> phone.d->mId >> type >> phone.d->mNumber;
281 phone.d->mType = PhoneNumber::Type( type );
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:29:41 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.