summaryrefslogtreecommitdiffabout
path: root/kabc/phonenumber.cpp
Unidiff
Diffstat (limited to 'kabc/phonenumber.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/phonenumber.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index ad3e65b..04b1168 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -64,141 +64,150 @@ bool PhoneNumber::operator==( const PhoneNumber &p ) const
64bool PhoneNumber::operator!=( const PhoneNumber &p ) const 64bool PhoneNumber::operator!=( const PhoneNumber &p ) const
65{ 65{
66 return !( p == *this ); 66 return !( p == *this );
67} 67}
68 68
69void PhoneNumber::setId( const QString &id ) 69void PhoneNumber::setId( const QString &id )
70{ 70{
71 mId = id; 71 mId = id;
72} 72}
73 73
74QString PhoneNumber::id() const 74QString PhoneNumber::id() const
75{ 75{
76 return mId; 76 return mId;
77} 77}
78 78
79void PhoneNumber::setNumber( const QString &number ) 79void PhoneNumber::setNumber( const QString &number )
80{ 80{
81 mNumber = number; 81 mNumber = number;
82} 82}
83 83
84QString PhoneNumber::number() const 84QString PhoneNumber::number() const
85{ 85{
86 return mNumber; 86 return mNumber;
87} 87}
88 88
89void PhoneNumber::setType( int type ) 89void PhoneNumber::setType( int type )
90{ 90{
91 mType = type; 91 mType = type;
92} 92}
93 93
94int PhoneNumber::type() const 94int PhoneNumber::type() const
95{ 95{
96 return mType; 96 return mType;
97} 97}
98 98
99QString PhoneNumber::typeLabel() const 99QString PhoneNumber::typeLabel() const
100{ 100{
101 QString label; 101 QString label;
102 bool first = true; 102 bool first = true;
103 103
104 TypeList list = typeList(); 104 TypeList list = typeList();
105 105
106 TypeList::Iterator it; 106 TypeList::Iterator it;
107 for ( it = list.begin(); it != list.end(); ++it ) { 107 for ( it = list.begin(); it != list.end(); ++it ) {
108 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { 108 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) {
109 label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); 109 label.append( ( first ? "" : "/" ) + typeLabel( *it ) );
110 if ( first ) 110 if ( first )
111 first = false; 111 first = false;
112 } 112 }
113 } 113 }
114 114
115 return label; 115 return label;
116} 116}
117 117
118QString PhoneNumber::label() const 118QString PhoneNumber::label() const
119{ 119{
120 return typeLabel( type() ); 120 return typeLabel( type() );
121} 121}
122 122
123PhoneNumber::TypeList PhoneNumber::typeList() 123PhoneNumber::TypeList PhoneNumber::typeList()
124{ 124{
125 TypeList list; 125 TypeList list;
126 126
127 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video 127 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video
128 << Bbs << Modem << Car << Isdn << Pcs << Pager; 128 << Bbs << Modem << Car << Isdn << Pcs << Pager;
129 129
130 return list; 130 return list;
131} 131}
132 132
133QString PhoneNumber::label( int type ) 133QString PhoneNumber::label( int type )
134{ 134{
135 return typeLabel( type ); 135 return typeLabel( type );
136} 136}
137 137
138QString PhoneNumber::typeLabel( int type ) 138QString PhoneNumber::typeLabel( int type )
139{ 139{
140 switch ( type ) { 140 switch ( type ) {
141 case Home: 141 case Home:
142 return i18n("Home phone", "Home"); 142 return i18n("Home phone", "Home");
143 break; 143 break;
144 case Work: 144 case Work:
145 return i18n("Work phone", "Work"); 145 return i18n("Work phone", "Work");
146 break; 146 break;
147 case Msg: 147 case Msg:
148 return i18n("Messenger"); 148 return i18n("Messenger");
149 break; 149 break;
150 case Pref: 150 case Pref:
151 return i18n("Preferred Number"); 151 return i18n("Preferred Number");
152 break; 152 break;
153 case Voice: 153 case Voice:
154 return i18n("Voice"); 154 return i18n("Voice");
155 break; 155 break;
156 case Fax: 156 case Fax:
157 return i18n("Fax"); 157 return i18n("Fax");
158 break; 158 break;
159 case Cell: 159 case Cell:
160 return i18n("Mobile Phone", "Mobile" ); 160 return i18n("Mobile Phone" );
161 break;
162 case Cell | Home:
163 return i18n("Home Mobile" );
164 break;
165 case Cell | Work:
166 return i18n("Home Mobile" );
161 break; 167 break;
162 case Video: 168 case Video:
163 return i18n("Video"); 169 return i18n("Video");
164 break; 170 break;
165 case Bbs: 171 case Bbs:
166 return i18n("Mailbox"); 172 return i18n("Mailbox");
167 break; 173 break;
168 case Modem: 174 case Modem:
169 return i18n("Modem"); 175 return i18n("Modem");
170 break; 176 break;
171 case Car: 177 case Car:
172 return i18n("Car Phone", "Car" ); 178 return i18n("Car Phone", "Car" );
173 break; 179 break;
174 case Isdn: 180 case Isdn:
175 return i18n("ISDN"); 181 return i18n("ISDN");
176 break; 182 break;
177 case Pcs: 183 case Pcs:
178 return i18n("PCS"); 184 return i18n("PCS");
179 break; 185 break;
180 case Pager: 186 case Pager:
181 return i18n("Pager"); 187 return i18n("Pager");
182 break; 188 break;
189 case Work | Pager:
190 return i18n("Work Pager");
191 break;
183 case Home | Fax: 192 case Home | Fax:
184 return i18n("Home Fax"); 193 return i18n("Home Fax");
185 break; 194 break;
186 case Work | Fax: 195 case Work | Fax:
187 return i18n("Work Fax"); 196 return i18n("Work Fax");
188 break; 197 break;
189 default: 198 default:
190 return i18n("Other"); 199 return i18n("Other");
191 } 200 }
192} 201}
193 202
194QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) 203QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone )
195{ 204{
196 return s << phone.mId << phone.mType << phone.mNumber; 205 return s << phone.mId << phone.mType << phone.mNumber;
197} 206}
198 207
199QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) 208QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone )
200{ 209{
201 s >> phone.mId >> phone.mType >> phone.mNumber; 210 s >> phone.mId >> phone.mType >> phone.mNumber;
202 211
203 return s; 212 return s;
204} 213}