summaryrefslogtreecommitdiffabout
path: root/kabc/phonenumber.cpp
Unidiff
Diffstat (limited to 'kabc/phonenumber.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/phonenumber.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index eee25a5..90cc4cf 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -101,264 +101,264 @@ int PhoneNumber::getCompatType( int type )
101 return Pcs | Pref; 101 return Pcs | Pref;
102 return Pcs; 102 return Pcs;
103 } 103 }
104 if ((type & Car) == Car) 104 if ((type & Car) == Car)
105 return Car; 105 return Car;
106 if ((type & Pager) == Pager) 106 if ((type & Pager) == Pager)
107 return Pager; 107 return Pager;
108 if ((type & Isdn) == Isdn) 108 if ((type & Isdn) == Isdn)
109 return Isdn; 109 return Isdn;
110 if ((type & Video) == Video) 110 if ((type & Video) == Video)
111 return Video; 111 return Video;
112 112
113 if ((type & Msg) == Msg) 113 if ((type & Msg) == Msg)
114 return Msg; 114 return Msg;
115 if ((type & Fax) == Fax) 115 if ((type & Fax) == Fax)
116 return Fax; 116 return Fax;
117 117
118 if ((type & Pref) == Pref) 118 if ((type & Pref) == Pref)
119 return Pref; 119 return Pref;
120 120
121 return Voice; 121 return Voice;
122 122
123} 123}
124bool PhoneNumber::simplifyNumber() 124bool PhoneNumber::simplifyNumber()
125{ 125{
126 QString Number; 126 QString Number;
127 int i; 127 int i;
128 Number = mNumber.stripWhiteSpace (); 128 Number = mNumber.stripWhiteSpace ();
129 mNumber = ""; 129 mNumber = "";
130 for ( i = 0; i < Number.length(); ++i) { 130 for ( i = 0; i < Number.length(); ++i) {
131 if ( Number.at(i).isDigit() || Number.at(i) == '+'|| Number.at(i) == '*'|| Number.at(i) == '#' ) 131 if ( Number.at(i).isDigit() || Number.at(i) == '+'|| Number.at(i) == '*'|| Number.at(i) == '#' )
132 mNumber += Number.at(i); 132 mNumber += Number.at(i);
133 } 133 }
134 return ( mNumber.length() > 0 ); 134 return ( mNumber.length() > 0 );
135} 135}
136// make cellphone compatible 136// make cellphone compatible
137void PhoneNumber::simplifyType() 137void PhoneNumber::simplifyType()
138{ 138{
139 if ( mType & Fax ) mType = Fax; 139 if ( mType & Fax ) mType = Fax;
140 else if ( mType & Cell ) mType = Cell; 140 else if ( mType & Cell ) mType = Cell;
141 else if ( mType & Work ) mType = Work ; 141 else if ( mType & Work ) mType = Work ;
142 else if ( mType & Home ) mType = Home; 142 else if ( mType & Home ) mType = Home;
143 else mType = Pref; 143 else mType = Pref;
144} 144}
145bool PhoneNumber::contains( const PhoneNumber &p ) 145bool PhoneNumber::contains( const PhoneNumber &p )
146{ 146{
147 PhoneNumber myself; 147 PhoneNumber myself;
148 PhoneNumber other; 148 PhoneNumber other;
149 myself = *this; 149 myself = *this;
150 other = p; 150 other = p;
151 myself.simplifyNumber(); 151 myself.simplifyNumber();
152 other.simplifyNumber(); 152 other.simplifyNumber();
153 if ( myself.number() != other.number ()) 153 if ( myself.number() != other.number ())
154 return false; 154 return false;
155 myself.simplifyType(); 155 myself.simplifyType();
156 other.simplifyType(); 156 other.simplifyType();
157 if ( myself.type() == other.type()) 157 if ( myself.type() == other.type())
158 return true; 158 return true;
159 return false; 159 return false;
160} 160}
161 161
162void PhoneNumber::setId( const QString &id ) 162void PhoneNumber::setId( const QString &id )
163{ 163{
164 mId = id; 164 mId = id;
165} 165}
166 166
167QString PhoneNumber::id() const 167QString PhoneNumber::id() const
168{ 168{
169 return mId; 169 return mId;
170} 170}
171 171
172void PhoneNumber::setNumber( const QString &number ) 172void PhoneNumber::setNumber( const QString &number )
173{ 173{
174 mNumber = number; 174 mNumber = number;
175} 175}
176 176
177QString PhoneNumber::number() const 177QString PhoneNumber::number() const
178{ 178{
179 return mNumber; 179 return mNumber;
180} 180}
181 181
182void PhoneNumber::setType( int type ) 182void PhoneNumber::setType( int type )
183{ 183{
184 mType = type; 184 mType = type;
185} 185}
186 186
187int PhoneNumber::type() const 187int PhoneNumber::type() const
188{ 188{
189 return mType; 189 return mType;
190} 190}
191 191
192QString PhoneNumber::typeLabel() const 192QString PhoneNumber::typeLabel() const
193{ 193{
194 QString label; 194 QString label;
195 bool first = true; 195 bool first = true;
196 196
197 TypeList list = typeList(); 197 TypeList list = typeList();
198 198
199 TypeList::Iterator it; 199 TypeList::Iterator it;
200 for ( it = list.begin(); it != list.end(); ++it ) { 200 for ( it = list.begin(); it != list.end(); ++it ) {
201 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { 201 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) {
202 label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); 202 label.append( ( first ? "" : "/" ) + typeLabel( *it ) );
203 if ( first ) 203 if ( first )
204 first = false; 204 first = false;
205 } 205 }
206 } 206 }
207 207
208 return label; 208 return label;
209} 209}
210 210
211QString PhoneNumber::label() const 211QString PhoneNumber::label() const
212{ 212{
213 return typeLabel( type() ); 213 return typeLabel( type() );
214} 214}
215 215
216PhoneNumber::TypeList PhoneNumber::typeList() 216PhoneNumber::TypeList PhoneNumber::typeList()
217{ 217{
218 TypeList list; 218 TypeList list;
219 219
220 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video 220 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video
221 << Bbs << Modem << Car << Isdn << Pcs << Pager; 221 << Bbs << Modem << Car << Isdn << Pcs << Pager;
222 222
223 return list; 223 return list;
224} 224}
225PhoneNumber::TypeList PhoneNumber::supportedTypeList() 225PhoneNumber::TypeList PhoneNumber::supportedTypeList()
226{ 226{
227 static TypeList list; 227 static TypeList list;
228 if ( list.count() == 0 ) 228 if ( list.count() == 0 )
229 list << (Home| Pref) << (Work| Pref) << Cell << Home << Work << Car << (Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< (Pcs|Pref)<< Pcs<< Pager << Isdn << Video << Msg << Pref << Voice; 229 list << (Home| Pref) << (Work| Pref) << Cell <<(Pcs|Pref)<< Pcs<< Home << Work << Car << (Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< Pager << Isdn << Video << Msg << Pref << Voice;
230 return list; 230 return list;
231} 231}
232QStringList PhoneNumber::supportedTypeListNames() 232QStringList PhoneNumber::supportedTypeListNames()
233{ 233{
234 static QStringList list; 234 static QStringList list;
235 if ( list.count() == 0 ) 235 if ( list.count() == 0 )
236 list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("Home2")<< i18n("Work2") << i18n("Mobile2 (Work)") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("SIP") << i18n("VoIP") << i18n("Pager") << i18n("ISDN") << i18n("Video") << i18n("Callback") << i18n("Primary")<< i18n("Other"); 236 list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("SIP") << i18n("VoIP") <<i18n("Home2")<< i18n("Work2") << i18n("Mobile2 (Work)") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("Pager") << i18n("ISDN") << i18n("Video") << i18n("Callback") << i18n("Primary")<< i18n("Other");
237 return list; 237 return list;
238} 238}
239 239
240int PhoneNumber::typeListIndex4Type(int type ) 240int PhoneNumber::typeListIndex4Type(int type )
241{ 241{
242 TypeList list = supportedTypeList(); 242 TypeList list = supportedTypeList();
243 int i = 0; 243 int i = 0;
244 while ( i < list.count() ) { 244 while ( i < list.count() ) {
245 if ( list [i] == type ) 245 if ( list [i] == type )
246 return i; 246 return i;
247 ++i; 247 ++i;
248 } 248 }
249 return list.count()-1; 249 return list.count()-1;
250} 250}
251 251
252QString PhoneNumber::label( int type ) 252QString PhoneNumber::label( int type )
253{ 253{
254 return typeLabel( type ); 254 return typeLabel( type );
255} 255}
256 256
257QString PhoneNumber::typeLabel( int type ) 257QString PhoneNumber::typeLabel( int type )
258{ 258{
259 if ((type & Cell) == Cell) 259 if ((type & Cell) == Cell)
260 return i18n("Mobile"); 260 return i18n("Mobile");
261 if ((type & Home) == Home) { 261 if ((type & Home) == Home) {
262 if ((type & Pref) == Pref) 262 if ((type & Pref) == Pref)
263 return i18n("Home"); 263 return i18n("Home");
264 if ((type & Fax) == Fax) 264 if ((type & Fax) == Fax)
265 return i18n("Fax (Home)"); 265 return i18n("Fax (Home)");
266 return i18n("Home2"); 266 return i18n("Home2");
267 } 267 }
268 268
269 if ((type & Work) == Work) { 269 if ((type & Work) == Work) {
270 if ((type & Pref) == Pref) 270 if ((type & Pref) == Pref)
271 return i18n("Work"); 271 return i18n("Work");
272 if ((type & Fax) == Fax) 272 if ((type & Fax) == Fax)
273 return i18n("Fax (Work)"); 273 return i18n("Fax (Work)");
274 if ((type & Msg) == Msg) { 274 if ((type & Msg) == Msg) {
275 if ((type & Voice) == Voice) 275 if ((type & Voice) == Voice)
276 return i18n("Assistent"); 276 return i18n("Assistent");
277 return i18n("Company"); 277 return i18n("Company");
278 } 278 }
279 return i18n("Work2"); 279 return i18n("Work2");
280 } 280 }
281 if ((type & Pcs) == Pcs) { 281 if ((type & Pcs) == Pcs) {
282 if ((type & Pref) == Pref) 282 if ((type & Pref) == Pref)
283 return i18n("SIP"); 283 return i18n("SIP");
284 return i18n("VoIP"); 284 return i18n("VoIP");
285 } 285 }
286 if ((type & Car) == Car) 286 if ((type & Car) == Car)
287 return i18n("Mobile2 (Work)"); 287 return i18n("Mobile2 (Work)");
288 if ((type & Pager) == Pager) 288 if ((type & Pager) == Pager)
289 return i18n("Pager"); 289 return i18n("Pager");
290 if ((type & Isdn) == Isdn) 290 if ((type & Isdn) == Isdn)
291 return i18n("ISDN"); 291 return i18n("ISDN");
292 if ((type & Video) == Video) 292 if ((type & Video) == Video)
293 return i18n("Video"); 293 return i18n("Video");
294 294
295 if ((type & Msg) == Msg) 295 if ((type & Msg) == Msg)
296 return i18n("Callback"); 296 return i18n("Callback");
297 if ((type & Fax) == Fax) 297 if ((type & Fax) == Fax)
298 return i18n("Fax (Other)"); 298 return i18n("Fax (Other)");
299 299
300 if ((type & Pref) == Pref) 300 if ((type & Pref) == Pref)
301 return i18n("Primary"); 301 return i18n("Primary");
302 302
303 303
304 return i18n("Other"); 304 return i18n("Other");
305 305
306 306
307#if 0 307#if 0
308 308
309 309
310 310
311 QString typeString; 311 QString typeString;
312 312
313 313
314 if ((type & Cell) == Cell) 314 if ((type & Cell) == Cell)
315 typeString += i18n("Mobile") +" "; 315 typeString += i18n("Mobile") +" ";
316 if ((type & Home) == Home) 316 if ((type & Home) == Home)
317 typeString += i18n("Home")+" "; 317 typeString += i18n("Home")+" ";
318 else if ((type & Work) == Work) 318 else if ((type & Work) == Work)
319 typeString += i18n("Work")+" "; 319 typeString += i18n("Work")+" ";
320 320
321 if ((type & Sip) == Sip) 321 if ((type & Sip) == Sip)
322 typeString += i18n("SIP")+" "; 322 typeString += i18n("SIP")+" ";
323 if ((type & Car) == Car) 323 if ((type & Car) == Car)
324 typeString += i18n("Car")+" "; 324 typeString += i18n("Car")+" ";
325 325
326 if ((type & Fax) == Fax) 326 if ((type & Fax) == Fax)
327 typeString += i18n("Fax"); 327 typeString += i18n("Fax");
328 else if ((type & Msg) == Msg) 328 else if ((type & Msg) == Msg)
329 typeString += i18n("Messenger"); 329 typeString += i18n("Messenger");
330 else if ((type & Video) == Video) 330 else if ((type & Video) == Video)
331 typeString += i18n("Video"); 331 typeString += i18n("Video");
332 else if ((type & Bbs) == Bbs) 332 else if ((type & Bbs) == Bbs)
333 typeString += i18n("Mailbox"); 333 typeString += i18n("Mailbox");
334 else if ((type & Modem) == Modem) 334 else if ((type & Modem) == Modem)
335 typeString += i18n("Modem"); 335 typeString += i18n("Modem");
336 else if ((type & Isdn) == Isdn) 336 else if ((type & Isdn) == Isdn)
337 typeString += i18n("ISDN"); 337 typeString += i18n("ISDN");
338 else if ((type & Pcs) == Pcs) 338 else if ((type & Pcs) == Pcs)
339 typeString += i18n("PCS"); 339 typeString += i18n("PCS");
340 else if ((type & Pager) == Pager) 340 else if ((type & Pager) == Pager)
341 typeString += i18n("Pager"); 341 typeString += i18n("Pager");
342 // add the prefered flag 342 // add the prefered flag
343 /* 343 /*
344 if ((type & Pref) == Pref) 344 if ((type & Pref) == Pref)
345 typeString += i18n("(p)"); 345 typeString += i18n("(p)");
346 */ 346 */
347 //if we still have no match, return "other" 347 //if we still have no match, return "other"
348 if (typeString.isEmpty()) { 348 if (typeString.isEmpty()) {
349 if ((type & Voice) == Voice) 349 if ((type & Voice) == Voice)
350 return i18n("Voice"); 350 return i18n("Voice");
351 else 351 else
352 return i18n("Other"); 352 return i18n("Other");
353 } 353 }
354 354
355 return typeString.stripWhiteSpace(); 355 return typeString.stripWhiteSpace();
356#endif 356#endif
357} 357}
358 358
359QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) 359QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone )
360{ 360{
361 return s << phone.mId << phone.mType << phone.mNumber; 361 return s << phone.mId << phone.mType << phone.mNumber;
362} 362}
363 363
364QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) 364QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone )