summaryrefslogtreecommitdiffabout
path: root/kabc
Unidiff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addressee.cpp4
-rw-r--r--kabc/addressee.h2
-rw-r--r--kabc/field.cpp8
3 files changed, 12 insertions, 2 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 789a694..0d8e8e8 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -1002,192 +1002,196 @@ QString Addressee::homeAddressCountryLabel()
1002QString Addressee::homeAddressLabelLabel() 1002QString Addressee::homeAddressLabelLabel()
1003{ 1003{
1004 return i18n("Home Address Label"); 1004 return i18n("Home Address Label");
1005} 1005}
1006 1006
1007 1007
1008QString Addressee::businessAddressStreetLabel() 1008QString Addressee::businessAddressStreetLabel()
1009{ 1009{
1010 return i18n("Business Address Street"); 1010 return i18n("Business Address Street");
1011} 1011}
1012 1012
1013 1013
1014QString Addressee::businessAddressLocalityLabel() 1014QString Addressee::businessAddressLocalityLabel()
1015{ 1015{
1016 return i18n("Business Address Locality"); 1016 return i18n("Business Address Locality");
1017} 1017}
1018 1018
1019 1019
1020QString Addressee::businessAddressRegionLabel() 1020QString Addressee::businessAddressRegionLabel()
1021{ 1021{
1022 return i18n("Business Address Region"); 1022 return i18n("Business Address Region");
1023} 1023}
1024 1024
1025 1025
1026QString Addressee::businessAddressPostalCodeLabel() 1026QString Addressee::businessAddressPostalCodeLabel()
1027{ 1027{
1028 return i18n("Business Address Postal Code"); 1028 return i18n("Business Address Postal Code");
1029} 1029}
1030 1030
1031 1031
1032QString Addressee::businessAddressCountryLabel() 1032QString Addressee::businessAddressCountryLabel()
1033{ 1033{
1034 return i18n("Business Address Country"); 1034 return i18n("Business Address Country");
1035} 1035}
1036 1036
1037 1037
1038QString Addressee::businessAddressLabelLabel() 1038QString Addressee::businessAddressLabelLabel()
1039{ 1039{
1040 return i18n("Business Address Label"); 1040 return i18n("Business Address Label");
1041} 1041}
1042 1042
1043 1043
1044QString Addressee::homePhoneLabel() 1044QString Addressee::homePhoneLabel()
1045{ 1045{
1046 return i18n("Home Phone"); 1046 return i18n("Home Phone");
1047} 1047}
1048 1048
1049 1049
1050QString Addressee::businessPhoneLabel() 1050QString Addressee::businessPhoneLabel()
1051{ 1051{
1052 return i18n("Work Phone"); 1052 return i18n("Work Phone");
1053} 1053}
1054 1054
1055 1055
1056QString Addressee::mobilePhoneLabel() 1056QString Addressee::mobilePhoneLabel()
1057{ 1057{
1058 return i18n("Mobile Phone"); 1058 return i18n("Mobile Phone");
1059} 1059}
1060QString Addressee::mobileWorkPhoneLabel() 1060QString Addressee::mobileWorkPhoneLabel()
1061{ 1061{
1062 return i18n("Mobile2 (Work)"); 1062 return i18n("Mobile2 (Work)");
1063} 1063}
1064QString Addressee::mobileHomePhoneLabel() 1064QString Addressee::mobileHomePhoneLabel()
1065{ 1065{
1066 return i18n("Mobile (Home)"); 1066 return i18n("Mobile (Home)");
1067} 1067}
1068 1068
1069 1069
1070QString Addressee::homeFaxLabel() 1070QString Addressee::homeFaxLabel()
1071{ 1071{
1072 return i18n("Fax (Home)"); 1072 return i18n("Fax (Home)");
1073} 1073}
1074 1074
1075 1075
1076QString Addressee::businessFaxLabel() 1076QString Addressee::businessFaxLabel()
1077{ 1077{
1078 return i18n("Fax (Work)"); 1078 return i18n("Fax (Work)");
1079} 1079}
1080 1080
1081 1081
1082QString Addressee::carPhoneLabel() 1082QString Addressee::carPhoneLabel()
1083{ 1083{
1084 return i18n("Mobile2 (Car)"); 1084 return i18n("Mobile2 (Car)");
1085} 1085}
1086 1086
1087 1087
1088QString Addressee::isdnLabel() 1088QString Addressee::isdnLabel()
1089{ 1089{
1090 return i18n("ISDN"); 1090 return i18n("ISDN");
1091} 1091}
1092 1092
1093 1093
1094QString Addressee::pagerLabel() 1094QString Addressee::pagerLabel()
1095{ 1095{
1096 return i18n("Pager"); 1096 return i18n("Pager");
1097} 1097}
1098QString Addressee::otherPhoneLabel()
1099{
1100 return i18n("Other Phone");
1101}
1098 1102
1099QString Addressee::sipLabel() 1103QString Addressee::sipLabel()
1100{ 1104{
1101 return i18n("SIP"); 1105 return i18n("SIP");
1102} 1106}
1103 1107
1104QString Addressee::emailLabel() 1108QString Addressee::emailLabel()
1105{ 1109{
1106 return i18n("Email Address"); 1110 return i18n("Email Address");
1107} 1111}
1108 1112
1109 1113
1110void Addressee::setMailer( const QString &mailer ) 1114void Addressee::setMailer( const QString &mailer )
1111{ 1115{
1112 if ( mailer == mData->mailer ) return; 1116 if ( mailer == mData->mailer ) return;
1113 detach(); 1117 detach();
1114 mData->empty = false; 1118 mData->empty = false;
1115 mData->mailer = mailer; 1119 mData->mailer = mailer;
1116} 1120}
1117 1121
1118QString Addressee::mailer() const 1122QString Addressee::mailer() const
1119{ 1123{
1120 return mData->mailer; 1124 return mData->mailer;
1121} 1125}
1122 1126
1123QString Addressee::mailerLabel() 1127QString Addressee::mailerLabel()
1124{ 1128{
1125 return i18n("Mail Client"); 1129 return i18n("Mail Client");
1126} 1130}
1127 1131
1128 1132
1129void Addressee::setTimeZone( const TimeZone &timeZone ) 1133void Addressee::setTimeZone( const TimeZone &timeZone )
1130{ 1134{
1131 if ( timeZone == mData->timeZone ) return; 1135 if ( timeZone == mData->timeZone ) return;
1132 detach(); 1136 detach();
1133 mData->empty = false; 1137 mData->empty = false;
1134 mData->timeZone = timeZone; 1138 mData->timeZone = timeZone;
1135} 1139}
1136 1140
1137TimeZone Addressee::timeZone() const 1141TimeZone Addressee::timeZone() const
1138{ 1142{
1139 return mData->timeZone; 1143 return mData->timeZone;
1140} 1144}
1141 1145
1142QString Addressee::timeZoneLabel() 1146QString Addressee::timeZoneLabel()
1143{ 1147{
1144 return i18n("Time Zone"); 1148 return i18n("Time Zone");
1145} 1149}
1146 1150
1147 1151
1148void Addressee::setGeo( const Geo &geo ) 1152void Addressee::setGeo( const Geo &geo )
1149{ 1153{
1150 if ( geo == mData->geo ) return; 1154 if ( geo == mData->geo ) return;
1151 detach(); 1155 detach();
1152 mData->empty = false; 1156 mData->empty = false;
1153 mData->geo = geo; 1157 mData->geo = geo;
1154} 1158}
1155 1159
1156Geo Addressee::geo() const 1160Geo Addressee::geo() const
1157{ 1161{
1158 return mData->geo; 1162 return mData->geo;
1159} 1163}
1160 1164
1161QString Addressee::geoLabel() 1165QString Addressee::geoLabel()
1162{ 1166{
1163 return i18n("Geographic Position"); 1167 return i18n("Geographic Position");
1164} 1168}
1165 1169
1166 1170
1167void Addressee::setTitle( const QString &title ) 1171void Addressee::setTitle( const QString &title )
1168{ 1172{
1169 if ( title == mData->title ) return; 1173 if ( title == mData->title ) return;
1170 detach(); 1174 detach();
1171 mData->empty = false; 1175 mData->empty = false;
1172 mData->title = title; 1176 mData->title = title;
1173} 1177}
1174 1178
1175QString Addressee::title() const 1179QString Addressee::title() const
1176{ 1180{
1177 return mData->title; 1181 return mData->title;
1178} 1182}
1179 1183
1180QString Addressee::titleLabel() 1184QString Addressee::titleLabel()
1181{ 1185{
1182 return i18n("Title"); 1186 return i18n("Title");
1183} 1187}
1184 1188
1185 1189
1186void Addressee::setRole( const QString &role ) 1190void Addressee::setRole( const QString &role )
1187{ 1191{
1188 if ( role == mData->role ) return; 1192 if ( role == mData->role ) return;
1189 detach(); 1193 detach();
1190 mData->empty = false; 1194 mData->empty = false;
1191 mData->role = role; 1195 mData->role = role;
1192} 1196}
1193 1197
diff --git a/kabc/addressee.h b/kabc/addressee.h
index 0c488eb..fcadda6 100644
--- a/kabc/addressee.h
+++ b/kabc/addressee.h
@@ -265,193 +265,193 @@ class Addressee
265 /** 265 /**
266 Return translated label for homeAddressLocality field. 266 Return translated label for homeAddressLocality field.
267 */ 267 */
268 static QString homeAddressLocalityLabel(); 268 static QString homeAddressLocalityLabel();
269 269
270 /** 270 /**
271 Return translated label for homeAddressRegion field. 271 Return translated label for homeAddressRegion field.
272 */ 272 */
273 static QString homeAddressRegionLabel(); 273 static QString homeAddressRegionLabel();
274 274
275 /** 275 /**
276 Return translated label for homeAddressPostalCode field. 276 Return translated label for homeAddressPostalCode field.
277 */ 277 */
278 static QString homeAddressPostalCodeLabel(); 278 static QString homeAddressPostalCodeLabel();
279 279
280 /** 280 /**
281 Return translated label for homeAddressCountry field. 281 Return translated label for homeAddressCountry field.
282 */ 282 */
283 static QString homeAddressCountryLabel(); 283 static QString homeAddressCountryLabel();
284 284
285 /** 285 /**
286 Return translated label for homeAddressLabel field. 286 Return translated label for homeAddressLabel field.
287 */ 287 */
288 static QString homeAddressLabelLabel(); 288 static QString homeAddressLabelLabel();
289 289
290 /** 290 /**
291 Return translated label for businessAddressStreet field. 291 Return translated label for businessAddressStreet field.
292 */ 292 */
293 static QString businessAddressStreetLabel(); 293 static QString businessAddressStreetLabel();
294 294
295 /** 295 /**
296 Return translated label for businessAddressLocality field. 296 Return translated label for businessAddressLocality field.
297 */ 297 */
298 static QString businessAddressLocalityLabel(); 298 static QString businessAddressLocalityLabel();
299 299
300 /** 300 /**
301 Return translated label for businessAddressRegion field. 301 Return translated label for businessAddressRegion field.
302 */ 302 */
303 static QString businessAddressRegionLabel(); 303 static QString businessAddressRegionLabel();
304 304
305 /** 305 /**
306 Return translated label for businessAddressPostalCode field. 306 Return translated label for businessAddressPostalCode field.
307 */ 307 */
308 static QString businessAddressPostalCodeLabel(); 308 static QString businessAddressPostalCodeLabel();
309 309
310 /** 310 /**
311 Return translated label for businessAddressCountry field. 311 Return translated label for businessAddressCountry field.
312 */ 312 */
313 static QString businessAddressCountryLabel(); 313 static QString businessAddressCountryLabel();
314 314
315 /** 315 /**
316 Return translated label for businessAddressLabel field. 316 Return translated label for businessAddressLabel field.
317 */ 317 */
318 static QString businessAddressLabelLabel(); 318 static QString businessAddressLabelLabel();
319 319
320 /** 320 /**
321 Return translated label for homePhone field. 321 Return translated label for homePhone field.
322 */ 322 */
323 static QString homePhoneLabel(); 323 static QString homePhoneLabel();
324 324
325 /** 325 /**
326 Return translated label for businessPhone field. 326 Return translated label for businessPhone field.
327 */ 327 */
328 static QString businessPhoneLabel(); 328 static QString businessPhoneLabel();
329 329
330 /** 330 /**
331 Return translated label for mobilePhone field. 331 Return translated label for mobilePhone field.
332 */ 332 */
333 static QString mobilePhoneLabel(); 333 static QString mobilePhoneLabel();
334 static QString mobileWorkPhoneLabel(); 334 static QString mobileWorkPhoneLabel();
335 static QString mobileHomePhoneLabel(); 335 static QString mobileHomePhoneLabel();
336 336
337 /** 337 /**
338 Return translated label for homeFax field. 338 Return translated label for homeFax field.
339 */ 339 */
340 static QString homeFaxLabel(); 340 static QString homeFaxLabel();
341 341
342 /** 342 /**
343 Return translated label for businessFax field. 343 Return translated label for businessFax field.
344 */ 344 */
345 static QString businessFaxLabel(); 345 static QString businessFaxLabel();
346 346
347 /** 347 /**
348 Return translated label for carPhone field. 348 Return translated label for carPhone field.
349 */ 349 */
350 static QString carPhoneLabel(); 350 static QString carPhoneLabel();
351 351
352 /** 352 /**
353 Return translated label for isdn field. 353 Return translated label for isdn field.
354 */ 354 */
355 static QString isdnLabel(); 355 static QString isdnLabel();
356 356
357 /** 357 /**
358 Return translated label for pager field. 358 Return translated label for pager field.
359 */ 359 */
360 static QString pagerLabel(); 360 static QString pagerLabel();
361 361 static QString otherPhoneLabel();
362 /** 362 /**
363 Return translated label for sip field. 363 Return translated label for sip field.
364 */ 364 */
365 static QString sipLabel(); 365 static QString sipLabel();
366 366
367 /** 367 /**
368 Return translated label for email field. 368 Return translated label for email field.
369 */ 369 */
370 static QString emailLabel(); 370 static QString emailLabel();
371 371
372 /** 372 /**
373 Set mail client. 373 Set mail client.
374 */ 374 */
375 void setMailer( const QString &mailer ); 375 void setMailer( const QString &mailer );
376 /** 376 /**
377 Return mail client. 377 Return mail client.
378 */ 378 */
379 QString mailer() const; 379 QString mailer() const;
380 /** 380 /**
381 Return translated label for mailer field. 381 Return translated label for mailer field.
382 */ 382 */
383 static QString mailerLabel(); 383 static QString mailerLabel();
384 384
385 /** 385 /**
386 Set time zone. 386 Set time zone.
387 */ 387 */
388 void setTimeZone( const TimeZone &timeZone ); 388 void setTimeZone( const TimeZone &timeZone );
389 /** 389 /**
390 Return time zone. 390 Return time zone.
391 */ 391 */
392 TimeZone timeZone() const; 392 TimeZone timeZone() const;
393 /** 393 /**
394 Return translated label for timeZone field. 394 Return translated label for timeZone field.
395 */ 395 */
396 static QString timeZoneLabel(); 396 static QString timeZoneLabel();
397 397
398 /** 398 /**
399 Set geographic position. 399 Set geographic position.
400 */ 400 */
401 void setGeo( const Geo &geo ); 401 void setGeo( const Geo &geo );
402 /** 402 /**
403 Return geographic position. 403 Return geographic position.
404 */ 404 */
405 Geo geo() const; 405 Geo geo() const;
406 /** 406 /**
407 Return translated label for geo field. 407 Return translated label for geo field.
408 */ 408 */
409 static QString geoLabel(); 409 static QString geoLabel();
410 410
411 /** 411 /**
412 Set title. 412 Set title.
413 */ 413 */
414 void setTitle( const QString &title ); 414 void setTitle( const QString &title );
415 /** 415 /**
416 Return title. 416 Return title.
417 */ 417 */
418 QString title() const; 418 QString title() const;
419 /** 419 /**
420 Return translated label for title field. 420 Return translated label for title field.
421 */ 421 */
422 static QString titleLabel(); 422 static QString titleLabel();
423 423
424 /** 424 /**
425 Set role. 425 Set role.
426 */ 426 */
427 void setRole( const QString &role ); 427 void setRole( const QString &role );
428 /** 428 /**
429 Return role. 429 Return role.
430 */ 430 */
431 QString role() const; 431 QString role() const;
432 /** 432 /**
433 Return translated label for role field. 433 Return translated label for role field.
434 */ 434 */
435 static QString roleLabel(); 435 static QString roleLabel();
436 436
437 /** 437 /**
438 Set organization. 438 Set organization.
439 */ 439 */
440 void setOrganization( const QString &organization ); 440 void setOrganization( const QString &organization );
441 /** 441 /**
442 Return organization. 442 Return organization.
443 */ 443 */
444 QString organization() const; 444 QString organization() const;
445 /** 445 /**
446 Return translated label for organization field. 446 Return translated label for organization field.
447 */ 447 */
448 static QString organizationLabel(); 448 static QString organizationLabel();
449 449
450 /** 450 /**
451 Set note. 451 Set note.
452 */ 452 */
453 void setNote( const QString &note ); 453 void setNote( const QString &note );
454 /** 454 /**
455 Return note. 455 Return note.
456 */ 456 */
457 QString note() const; 457 QString note() const;
diff --git a/kabc/field.cpp b/kabc/field.cpp
index 20885de..6f2b307 100644
--- a/kabc/field.cpp
+++ b/kabc/field.cpp
@@ -1,540 +1,546 @@
1/*** Warning! This file has been generated by the script makeaddressee ***/ 1/*** Warning! This file has been generated by the script makeaddressee ***/
2/* 2/*
3 This file is part of libkabc. 3 This file is part of libkabc.
4 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22/* 22/*
23Enhanced Version of the file for platform independent KDE tools. 23Enhanced Version of the file for platform independent KDE tools.
24Copyright (c) 2004 Ulf Schenk 24Copyright (c) 2004 Ulf Schenk
25 25
26$Id$ 26$Id$
27*/ 27*/
28 28
29#include <klocale.h> 29#include <klocale.h>
30#include <kconfig.h> 30#include <kconfig.h>
31#include <kconfigbase.h> 31#include <kconfigbase.h>
32#include <kglobal.h> 32#include <kglobal.h>
33 33
34#include "field.h" 34#include "field.h"
35#include "resource.h" 35#include "resource.h"
36 36
37using namespace KABC; 37using namespace KABC;
38 38
39class Field::FieldImpl 39class Field::FieldImpl
40{ 40{
41 public: 41 public:
42 FieldImpl( int fieldId, int category = 0, 42 FieldImpl( int fieldId, int category = 0,
43 const QString &label = QString::null, 43 const QString &label = QString::null,
44 const QString &key = QString::null, 44 const QString &key = QString::null,
45 const QString &app = QString::null ) 45 const QString &app = QString::null )
46 : mFieldId( fieldId ), mCategory( category ), mLabel( label ), 46 : mFieldId( fieldId ), mCategory( category ), mLabel( label ),
47 mKey( key ), mApp( app ) {} 47 mKey( key ), mApp( app ) {}
48 48
49 enum FieldId 49 enum FieldId
50 { 50 {
51 CustomField, 51 CustomField,
52 FormattedName, 52 FormattedName,
53 FamilyName, 53 FamilyName,
54 GivenName, 54 GivenName,
55 AdditionalName, 55 AdditionalName,
56 Prefix, 56 Prefix,
57 Suffix, 57 Suffix,
58 NickName, 58 NickName,
59 Birthday, 59 Birthday,
60 Category, 60 Category,
61 HomeAddressStreet, 61 HomeAddressStreet,
62 HomeAddressLocality, 62 HomeAddressLocality,
63 HomeAddressRegion, 63 HomeAddressRegion,
64 HomeAddressPostalCode, 64 HomeAddressPostalCode,
65 HomeAddressCountry, 65 HomeAddressCountry,
66 HomeAddressLabel, 66 HomeAddressLabel,
67 BusinessAddressStreet, 67 BusinessAddressStreet,
68 BusinessAddressLocality, 68 BusinessAddressLocality,
69 BusinessAddressRegion, 69 BusinessAddressRegion,
70 BusinessAddressPostalCode, 70 BusinessAddressPostalCode,
71 BusinessAddressCountry, 71 BusinessAddressCountry,
72 BusinessAddressLabel, 72 BusinessAddressLabel,
73 HomePhone, 73 HomePhone,
74 BusinessPhone, 74 BusinessPhone,
75 MobilePhone, 75 MobilePhone,
76 HomeFax, 76 HomeFax,
77 BusinessFax, 77 BusinessFax,
78 CarPhone, 78 CarPhone,
79 Isdn, 79 Isdn,
80 Pager, 80 Pager,
81 Email, 81 Email,
82 Mailer, 82 Mailer,
83 Title, 83 Title,
84 Role, 84 Role,
85 Organization, 85 Organization,
86 Note, 86 Note,
87 Url, 87 Url,
88 Resource, 88 Resource,
89 Sip, 89 Sip,
90 MobileWorkPhone, 90 MobileWorkPhone,
91 MobileHomePhone 91 MobileHomePhone,
92 OtherPhone
92 }; 93 };
93 94
94 int fieldId() { return mFieldId; } 95 int fieldId() { return mFieldId; }
95 int category() { return mCategory; } 96 int category() { return mCategory; }
96 97
97 QString label() { return mLabel; } 98 QString label() { return mLabel; }
98 QString key() { return mKey; } 99 QString key() { return mKey; }
99 QString app() { return mApp; } 100 QString app() { return mApp; }
100 101
101 private: 102 private:
102 int mFieldId; 103 int mFieldId;
103 int mCategory; 104 int mCategory;
104 105
105 QString mLabel; 106 QString mLabel;
106 QString mKey; 107 QString mKey;
107 QString mApp; 108 QString mApp;
108}; 109};
109 110
110 111
111Field::List Field::mAllFields; 112Field::List Field::mAllFields;
112Field::List Field::mDefaultFields; 113Field::List Field::mDefaultFields;
113Field::List Field::mCustomFields; 114Field::List Field::mCustomFields;
114 115
115 116
116Field::Field( FieldImpl *impl ) 117Field::Field( FieldImpl *impl )
117{ 118{
118 mImpl = impl; 119 mImpl = impl;
119} 120}
120 121
121Field::~Field() 122Field::~Field()
122{ 123{
123 delete mImpl; 124 delete mImpl;
124} 125}
125 126
126QString Field::label() 127QString Field::label()
127{ 128{
128 switch ( mImpl->fieldId() ) { 129 switch ( mImpl->fieldId() ) {
129 case FieldImpl::FormattedName: 130 case FieldImpl::FormattedName:
130 return Addressee::formattedNameLabel(); 131 return Addressee::formattedNameLabel();
131 case FieldImpl::FamilyName: 132 case FieldImpl::FamilyName:
132 return Addressee::familyNameLabel(); 133 return Addressee::familyNameLabel();
133 case FieldImpl::GivenName: 134 case FieldImpl::GivenName:
134 return Addressee::givenNameLabel(); 135 return Addressee::givenNameLabel();
135 case FieldImpl::AdditionalName: 136 case FieldImpl::AdditionalName:
136 return Addressee::additionalNameLabel(); 137 return Addressee::additionalNameLabel();
137 case FieldImpl::Prefix: 138 case FieldImpl::Prefix:
138 return Addressee::prefixLabel(); 139 return Addressee::prefixLabel();
139 case FieldImpl::Suffix: 140 case FieldImpl::Suffix:
140 return Addressee::suffixLabel(); 141 return Addressee::suffixLabel();
141 case FieldImpl::NickName: 142 case FieldImpl::NickName:
142 return Addressee::nickNameLabel(); 143 return Addressee::nickNameLabel();
143 case FieldImpl::Birthday: 144 case FieldImpl::Birthday:
144 return Addressee::birthdayLabel(); 145 return Addressee::birthdayLabel();
145 case FieldImpl::HomeAddressStreet: 146 case FieldImpl::HomeAddressStreet:
146 return Addressee::homeAddressStreetLabel(); 147 return Addressee::homeAddressStreetLabel();
147 case FieldImpl::HomeAddressLocality: 148 case FieldImpl::HomeAddressLocality:
148 return Addressee::homeAddressLocalityLabel(); 149 return Addressee::homeAddressLocalityLabel();
149 case FieldImpl::HomeAddressRegion: 150 case FieldImpl::HomeAddressRegion:
150 return Addressee::homeAddressRegionLabel(); 151 return Addressee::homeAddressRegionLabel();
151 case FieldImpl::HomeAddressPostalCode: 152 case FieldImpl::HomeAddressPostalCode:
152 return Addressee::homeAddressPostalCodeLabel(); 153 return Addressee::homeAddressPostalCodeLabel();
153 case FieldImpl::HomeAddressCountry: 154 case FieldImpl::HomeAddressCountry:
154 return Addressee::homeAddressCountryLabel(); 155 return Addressee::homeAddressCountryLabel();
155 case FieldImpl::HomeAddressLabel: 156 case FieldImpl::HomeAddressLabel:
156 return Addressee::homeAddressLabelLabel(); 157 return Addressee::homeAddressLabelLabel();
157 case FieldImpl::BusinessAddressStreet: 158 case FieldImpl::BusinessAddressStreet:
158 return Addressee::businessAddressStreetLabel(); 159 return Addressee::businessAddressStreetLabel();
159 case FieldImpl::BusinessAddressLocality: 160 case FieldImpl::BusinessAddressLocality:
160 return Addressee::businessAddressLocalityLabel(); 161 return Addressee::businessAddressLocalityLabel();
161 case FieldImpl::BusinessAddressRegion: 162 case FieldImpl::BusinessAddressRegion:
162 return Addressee::businessAddressRegionLabel(); 163 return Addressee::businessAddressRegionLabel();
163 case FieldImpl::BusinessAddressPostalCode: 164 case FieldImpl::BusinessAddressPostalCode:
164 return Addressee::businessAddressPostalCodeLabel(); 165 return Addressee::businessAddressPostalCodeLabel();
165 case FieldImpl::BusinessAddressCountry: 166 case FieldImpl::BusinessAddressCountry:
166 return Addressee::businessAddressCountryLabel(); 167 return Addressee::businessAddressCountryLabel();
167 case FieldImpl::BusinessAddressLabel: 168 case FieldImpl::BusinessAddressLabel:
168 return Addressee::businessAddressLabelLabel(); 169 return Addressee::businessAddressLabelLabel();
169 case FieldImpl::HomePhone: 170 case FieldImpl::HomePhone:
170 return Addressee::homePhoneLabel(); 171 return Addressee::homePhoneLabel();
171 case FieldImpl::BusinessPhone: 172 case FieldImpl::BusinessPhone:
172 return Addressee::businessPhoneLabel(); 173 return Addressee::businessPhoneLabel();
173 case FieldImpl::MobilePhone: 174 case FieldImpl::MobilePhone:
174 return Addressee::mobilePhoneLabel(); 175 return Addressee::mobilePhoneLabel();
175 case FieldImpl::MobileHomePhone: 176 case FieldImpl::MobileHomePhone:
176 return Addressee::mobileHomePhoneLabel(); 177 return Addressee::mobileHomePhoneLabel();
177 case FieldImpl::MobileWorkPhone: 178 case FieldImpl::MobileWorkPhone:
178 return Addressee::mobileWorkPhoneLabel(); 179 return Addressee::mobileWorkPhoneLabel();
179 case FieldImpl::HomeFax: 180 case FieldImpl::HomeFax:
180 return Addressee::homeFaxLabel(); 181 return Addressee::homeFaxLabel();
181 case FieldImpl::BusinessFax: 182 case FieldImpl::BusinessFax:
182 return Addressee::businessFaxLabel(); 183 return Addressee::businessFaxLabel();
183 case FieldImpl::CarPhone: 184 case FieldImpl::CarPhone:
184 return Addressee::carPhoneLabel(); 185 return Addressee::carPhoneLabel();
185 case FieldImpl::Isdn: 186 case FieldImpl::Isdn:
186 return Addressee::isdnLabel(); 187 return Addressee::isdnLabel();
187 case FieldImpl::Pager: 188 case FieldImpl::Pager:
188 return Addressee::pagerLabel(); 189 return Addressee::pagerLabel();
189 case FieldImpl::Email: 190 case FieldImpl::Email:
190 return Addressee::emailLabel(); 191 return Addressee::emailLabel();
191 case FieldImpl::Mailer: 192 case FieldImpl::Mailer:
192 return Addressee::mailerLabel(); 193 return Addressee::mailerLabel();
193 case FieldImpl::Title: 194 case FieldImpl::Title:
194 return Addressee::titleLabel(); 195 return Addressee::titleLabel();
195 case FieldImpl::Role: 196 case FieldImpl::Role:
196 return Addressee::roleLabel(); 197 return Addressee::roleLabel();
197 case FieldImpl::Organization: 198 case FieldImpl::Organization:
198 return Addressee::organizationLabel(); 199 return Addressee::organizationLabel();
199 case FieldImpl::Note: 200 case FieldImpl::Note:
200 return Addressee::noteLabel(); 201 return Addressee::noteLabel();
201 case FieldImpl::Url: 202 case FieldImpl::Url:
202 return Addressee::urlLabel(); 203 return Addressee::urlLabel();
203 case FieldImpl::Resource: 204 case FieldImpl::Resource:
204 return Addressee::resourceLabel(); 205 return Addressee::resourceLabel();
205 case FieldImpl::Category: 206 case FieldImpl::Category:
206 return Addressee::categoryLabel(); 207 return Addressee::categoryLabel();
207 case FieldImpl::Sip: 208 case FieldImpl::Sip:
208 return Addressee::sipLabel(); 209 return Addressee::sipLabel();
210 case FieldImpl::OtherPhone:
211 return Addressee::otherPhoneLabel();
209 case FieldImpl::CustomField: 212 case FieldImpl::CustomField:
210 return mImpl->label(); 213 return mImpl->label();
211 default: 214 default:
212 return i18n("Unknown Field"); 215 return i18n("Unknown Field");
213 } 216 }
214} 217}
215 218
216int Field::category() 219int Field::category()
217{ 220{
218 return mImpl->category(); 221 return mImpl->category();
219} 222}
220 223
221QString Field::categoryLabel( int category ) 224QString Field::categoryLabel( int category )
222{ 225{
223 switch ( category ) { 226 switch ( category ) {
224 case All: 227 case All:
225 return i18n("All"); 228 return i18n("All");
226 case Frequent: 229 case Frequent:
227 return i18n("Frequent"); 230 return i18n("Frequent");
228 case Address: 231 case Address:
229 return i18n("Address"); 232 return i18n("Address");
230 case Email: 233 case Email:
231 return i18n("Email"); 234 return i18n("Email");
232 case Personal: 235 case Personal:
233 return i18n("Personal"); 236 return i18n("Personal");
234 case Organization: 237 case Organization:
235 return i18n("Organization"); 238 return i18n("Organization");
236 case CustomCategory: 239 case CustomCategory:
237 return i18n("Custom"); 240 return i18n("Custom");
238 default: 241 default:
239 return i18n("Undefined"); 242 return i18n("Undefined");
240 } 243 }
241} 244}
242 245
243QString Field::value( const KABC::Addressee &a ) 246QString Field::value( const KABC::Addressee &a )
244{ 247{
245 switch ( mImpl->fieldId() ) { 248 switch ( mImpl->fieldId() ) {
246 case FieldImpl::FormattedName: 249 case FieldImpl::FormattedName:
247 return a.formattedName(); 250 return a.formattedName();
248 case FieldImpl::FamilyName: 251 case FieldImpl::FamilyName:
249 return a.familyName(); 252 return a.familyName();
250 case FieldImpl::GivenName: 253 case FieldImpl::GivenName:
251 return a.givenName(); 254 return a.givenName();
252 case FieldImpl::AdditionalName: 255 case FieldImpl::AdditionalName:
253 return a.additionalName(); 256 return a.additionalName();
254 case FieldImpl::Prefix: 257 case FieldImpl::Prefix:
255 return a.prefix(); 258 return a.prefix();
256 case FieldImpl::Suffix: 259 case FieldImpl::Suffix:
257 return a.suffix(); 260 return a.suffix();
258 case FieldImpl::NickName: 261 case FieldImpl::NickName:
259 return a.nickName(); 262 return a.nickName();
260 case FieldImpl::Mailer: 263 case FieldImpl::Mailer:
261 return a.mailer(); 264 return a.mailer();
262 case FieldImpl::Title: 265 case FieldImpl::Title:
263 return a.title(); 266 return a.title();
264 case FieldImpl::Role: 267 case FieldImpl::Role:
265 return a.role(); 268 return a.role();
266 case FieldImpl::Organization: 269 case FieldImpl::Organization:
267 return a.organization(); 270 return a.organization();
268 case FieldImpl::Note: 271 case FieldImpl::Note:
269 return a.note(); 272 return a.note();
270 case FieldImpl::Email: 273 case FieldImpl::Email:
271 return a.preferredEmail(); 274 return a.preferredEmail();
272 case FieldImpl::Birthday: 275 case FieldImpl::Birthday:
273 if ( a.birthday().isValid() ) { 276 if ( a.birthday().isValid() ) {
274//the generated code had the following format: return a.birthday().date().toString( Qt::ISODate ); 277//the generated code had the following format: return a.birthday().date().toString( Qt::ISODate );
275// But Qt::IsoDate was not specified. 278// But Qt::IsoDate was not specified.
276// QString _oldFormat = KGlobal::locale()->dateFormat(); 279// QString _oldFormat = KGlobal::locale()->dateFormat();
277// KGlobal::locale()->setDateFormat("%Y-%m-%d"); // = Qt::ISODate 280// KGlobal::locale()->setDateFormat("%Y-%m-%d"); // = Qt::ISODate
278 QString dt = KGlobal::locale()->formatDate(a.birthday().date(), false, KLocale::ISODate); 281 QString dt = KGlobal::locale()->formatDate(a.birthday().date(), false, KLocale::ISODate);
279// KGlobal::locale()->setDateFormat(_oldFormat); 282// KGlobal::locale()->setDateFormat(_oldFormat);
280 return dt; 283 return dt;
281 } 284 }
282 else 285 else
283 return QString::null; 286 return QString::null;
284 case FieldImpl::Url: 287 case FieldImpl::Url:
285 return a.url().prettyURL(); 288 return a.url().prettyURL();
286//US 289//US
287 case FieldImpl::Resource: 290 case FieldImpl::Resource:
288 return a.resource()->resourceName(); 291 return a.resource()->resourceName();
289 case FieldImpl::Category: 292 case FieldImpl::Category:
290 return a.categories().join(","); 293 return a.categories().join(",");
291 case FieldImpl::HomePhone: 294 case FieldImpl::HomePhone:
292 return a.phoneNumber( PhoneNumber::Home| PhoneNumber::Pref ).number(); 295 return a.phoneNumber( PhoneNumber::Home| PhoneNumber::Pref ).number();
293 case FieldImpl::BusinessPhone: 296 case FieldImpl::BusinessPhone:
294 return a.phoneNumber( PhoneNumber::Work| PhoneNumber::Pref ).number(); 297 return a.phoneNumber( PhoneNumber::Work| PhoneNumber::Pref ).number();
295 case FieldImpl::MobilePhone: 298 case FieldImpl::MobilePhone:
296 return a.phoneNumber( PhoneNumber::Cell ).number(); 299 return a.phoneNumber( PhoneNumber::Cell ).number();
297 case FieldImpl::MobileWorkPhone: 300 case FieldImpl::MobileWorkPhone:
298 return a.phoneNumber( PhoneNumber::Car ).number(); 301 return a.phoneNumber( PhoneNumber::Car ).number();
299 case FieldImpl::MobileHomePhone: 302 case FieldImpl::MobileHomePhone:
300 return a.phoneNumber( PhoneNumber::Cell ).number(); 303 return a.phoneNumber( PhoneNumber::Cell ).number();
301 case FieldImpl::HomeFax: 304 case FieldImpl::HomeFax:
302 return a.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ).number(); 305 return a.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ).number();
303 case FieldImpl::BusinessFax: 306 case FieldImpl::BusinessFax:
304 return a.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ).number(); 307 return a.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ).number();
305 case FieldImpl::CarPhone: 308 case FieldImpl::CarPhone:
306 return a.phoneNumber( PhoneNumber::Car ).number(); 309 return a.phoneNumber( PhoneNumber::Car ).number();
307 case FieldImpl::Isdn: 310 case FieldImpl::Isdn:
308 return a.phoneNumber( PhoneNumber::Isdn ).number(); 311 return a.phoneNumber( PhoneNumber::Isdn ).number();
309 case FieldImpl::Pager: 312 case FieldImpl::Pager:
310 return a.phoneNumber( PhoneNumber::Pager ).number(); 313 return a.phoneNumber( PhoneNumber::Pager ).number();
311 case FieldImpl::Sip: 314 case FieldImpl::Sip:
312 return a.phoneNumber( PhoneNumber::Pcs | PhoneNumber::Pref ).number(); 315 return a.phoneNumber( PhoneNumber::Pcs | PhoneNumber::Pref ).number();
316 case FieldImpl::OtherPhone:
317 return a.phoneNumber( PhoneNumber::Voice ).number();
313 case FieldImpl::HomeAddressStreet: 318 case FieldImpl::HomeAddressStreet:
314 return a.address( Address::Home ).street(); 319 return a.address( Address::Home ).street();
315 case FieldImpl::HomeAddressLocality: 320 case FieldImpl::HomeAddressLocality:
316 return a.address( Address::Home ).locality(); 321 return a.address( Address::Home ).locality();
317 case FieldImpl::HomeAddressRegion: 322 case FieldImpl::HomeAddressRegion:
318 return a.address( Address::Home ).region(); 323 return a.address( Address::Home ).region();
319 case FieldImpl::HomeAddressPostalCode: 324 case FieldImpl::HomeAddressPostalCode:
320 return a.address( Address::Home ).postalCode(); 325 return a.address( Address::Home ).postalCode();
321 case FieldImpl::HomeAddressCountry: 326 case FieldImpl::HomeAddressCountry:
322 return a.address( Address::Home ).country(); 327 return a.address( Address::Home ).country();
323 case FieldImpl::BusinessAddressStreet: 328 case FieldImpl::BusinessAddressStreet:
324 return a.address( Address::Work ).street(); 329 return a.address( Address::Work ).street();
325 case FieldImpl::BusinessAddressLocality: 330 case FieldImpl::BusinessAddressLocality:
326 return a.address( Address::Work ).locality(); 331 return a.address( Address::Work ).locality();
327 case FieldImpl::BusinessAddressRegion: 332 case FieldImpl::BusinessAddressRegion:
328 return a.address( Address::Work ).region(); 333 return a.address( Address::Work ).region();
329 case FieldImpl::BusinessAddressPostalCode: 334 case FieldImpl::BusinessAddressPostalCode:
330 return a.address( Address::Work ).postalCode(); 335 return a.address( Address::Work ).postalCode();
331 case FieldImpl::BusinessAddressCountry: 336 case FieldImpl::BusinessAddressCountry:
332 return a.address( Address::Work ).country(); 337 return a.address( Address::Work ).country();
333 case FieldImpl::CustomField: 338 case FieldImpl::CustomField:
334 return a.custom( mImpl->app(), mImpl->key() ); 339 return a.custom( mImpl->app(), mImpl->key() );
335 default: 340 default:
336 return QString::null; 341 return QString::null;
337 } 342 }
338} 343}
339 344
340bool Field::setValue( KABC::Addressee &a, const QString &value ) 345bool Field::setValue( KABC::Addressee &a, const QString &value )
341{ 346{
342 switch ( mImpl->fieldId() ) { 347 switch ( mImpl->fieldId() ) {
343 case FieldImpl::FormattedName: 348 case FieldImpl::FormattedName:
344 a.setFormattedName( value ); 349 a.setFormattedName( value );
345 return true; 350 return true;
346 case FieldImpl::FamilyName: 351 case FieldImpl::FamilyName:
347 a.setFamilyName( value ); 352 a.setFamilyName( value );
348 return true; 353 return true;
349 case FieldImpl::GivenName: 354 case FieldImpl::GivenName:
350 a.setGivenName( value ); 355 a.setGivenName( value );
351 return true; 356 return true;
352 case FieldImpl::AdditionalName: 357 case FieldImpl::AdditionalName:
353 a.setAdditionalName( value ); 358 a.setAdditionalName( value );
354 return true; 359 return true;
355 case FieldImpl::Prefix: 360 case FieldImpl::Prefix:
356 a.setPrefix( value ); 361 a.setPrefix( value );
357 return true; 362 return true;
358 case FieldImpl::Suffix: 363 case FieldImpl::Suffix:
359 a.setSuffix( value ); 364 a.setSuffix( value );
360 return true; 365 return true;
361 case FieldImpl::NickName: 366 case FieldImpl::NickName:
362 a.setNickName( value ); 367 a.setNickName( value );
363 return true; 368 return true;
364 case FieldImpl::Mailer: 369 case FieldImpl::Mailer:
365 a.setMailer( value ); 370 a.setMailer( value );
366 return true; 371 return true;
367 case FieldImpl::Title: 372 case FieldImpl::Title:
368 a.setTitle( value ); 373 a.setTitle( value );
369 return true; 374 return true;
370 case FieldImpl::Role: 375 case FieldImpl::Role:
371 a.setRole( value ); 376 a.setRole( value );
372 return true; 377 return true;
373 case FieldImpl::Organization: 378 case FieldImpl::Organization:
374 a.setOrganization( value ); 379 a.setOrganization( value );
375 return true; 380 return true;
376 case FieldImpl::Note: 381 case FieldImpl::Note:
377 a.setNote( value ); 382 a.setNote( value );
378 return true; 383 return true;
379 case FieldImpl::Birthday: 384 case FieldImpl::Birthday:
380//US 385//US
381//the generated code had the following format: return a.setBirthday( QDate::fromString( value, Qt::ISODate ) ); 386//the generated code had the following format: return a.setBirthday( QDate::fromString( value, Qt::ISODate ) );
382// But Qt::IsoDate and QDate::fromString was not specified. Do I have the wrong QT version ? 387// But Qt::IsoDate and QDate::fromString was not specified. Do I have the wrong QT version ?
383 { 388 {
384 QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate 389 QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate
385 a.setBirthday(dt); 390 a.setBirthday(dt);
386 } 391 }
387 return true; 392 return true;
388 case FieldImpl::CustomField: 393 case FieldImpl::CustomField:
389 a.insertCustom( mImpl->app(), mImpl->key(), value ); 394 a.insertCustom( mImpl->app(), mImpl->key(), value );
390//US never copy the resourcename back to the adressee. 395//US never copy the resourcename back to the adressee.
391 case FieldImpl::Resource: 396 case FieldImpl::Resource:
392 default: 397 default:
393 return false; 398 return false;
394 } 399 }
395} 400}
396 401
397bool Field::isCustom() 402bool Field::isCustom()
398{ 403{
399 return mImpl->fieldId() == FieldImpl::CustomField; 404 return mImpl->fieldId() == FieldImpl::CustomField;
400} 405}
401 406
402Field::List Field::allFields() 407Field::List Field::allFields()
403{ 408{
404 if ( mAllFields.isEmpty() ) { 409 if ( mAllFields.isEmpty() ) {
405 createField( FieldImpl::FormattedName, Frequent ); 410 createField( FieldImpl::FormattedName, Frequent );
406 createField( FieldImpl::FamilyName, Frequent ); 411 createField( FieldImpl::FamilyName, Frequent );
407 createField( FieldImpl::GivenName, Frequent ); 412 createField( FieldImpl::GivenName, Frequent );
408 createField( FieldImpl::AdditionalName ); 413 createField( FieldImpl::AdditionalName );
409 createField( FieldImpl::Prefix ); 414 createField( FieldImpl::Prefix );
410 createField( FieldImpl::Suffix ); 415 createField( FieldImpl::Suffix );
411 createField( FieldImpl::NickName, Personal ); 416 createField( FieldImpl::NickName, Personal );
412 createField( FieldImpl::Birthday, Personal ); 417 createField( FieldImpl::Birthday, Personal );
413 createField( FieldImpl::Category ); 418 createField( FieldImpl::Category );
414 createField( FieldImpl::HomeAddressStreet, Address|Personal ); 419 createField( FieldImpl::HomeAddressStreet, Address|Personal );
415 createField( FieldImpl::HomeAddressLocality, Address|Personal ); 420 createField( FieldImpl::HomeAddressLocality, Address|Personal );
416 createField( FieldImpl::HomeAddressRegion, Address|Personal ); 421 createField( FieldImpl::HomeAddressRegion, Address|Personal );
417 createField( FieldImpl::HomeAddressPostalCode, Address|Personal ); 422 createField( FieldImpl::HomeAddressPostalCode, Address|Personal );
418 createField( FieldImpl::HomeAddressCountry, Address|Personal ); 423 createField( FieldImpl::HomeAddressCountry, Address|Personal );
419 createField( FieldImpl::HomeAddressLabel, Address|Personal ); 424 createField( FieldImpl::HomeAddressLabel, Address|Personal );
420 createField( FieldImpl::BusinessAddressStreet, Address|Organization ); 425 createField( FieldImpl::BusinessAddressStreet, Address|Organization );
421 createField( FieldImpl::BusinessAddressLocality, Address|Organization ); 426 createField( FieldImpl::BusinessAddressLocality, Address|Organization );
422 createField( FieldImpl::BusinessAddressRegion, Address|Organization ); 427 createField( FieldImpl::BusinessAddressRegion, Address|Organization );
423 createField( FieldImpl::BusinessAddressPostalCode, Address|Organization ); 428 createField( FieldImpl::BusinessAddressPostalCode, Address|Organization );
424 createField( FieldImpl::BusinessAddressCountry, Address|Organization ); 429 createField( FieldImpl::BusinessAddressCountry, Address|Organization );
425 createField( FieldImpl::BusinessAddressLabel, Address|Organization ); 430 createField( FieldImpl::BusinessAddressLabel, Address|Organization );
426 createField( FieldImpl::HomePhone, Personal|Frequent ); 431 createField( FieldImpl::HomePhone, Personal|Frequent );
427 createField( FieldImpl::BusinessPhone, Organization|Frequent ); 432 createField( FieldImpl::BusinessPhone, Organization|Frequent );
428 createField( FieldImpl::MobilePhone, Frequent ); 433 createField( FieldImpl::MobilePhone, Frequent );
429 createField( FieldImpl::MobileHomePhone, Frequent ); 434 createField( FieldImpl::MobileHomePhone, Frequent );
430 createField( FieldImpl::MobileWorkPhone, Frequent ); 435 createField( FieldImpl::MobileWorkPhone, Frequent );
431 createField( FieldImpl::HomeFax ); 436 createField( FieldImpl::HomeFax );
432 createField( FieldImpl::BusinessFax ); 437 createField( FieldImpl::BusinessFax );
433 createField( FieldImpl::CarPhone ); 438 createField( FieldImpl::CarPhone );
434 createField( FieldImpl::Isdn ); 439 createField( FieldImpl::Isdn );
435 createField( FieldImpl::Pager ); 440 createField( FieldImpl::Pager );
436 createField( FieldImpl::Email, Email|Frequent ); 441 createField( FieldImpl::Email, Email|Frequent );
437 createField( FieldImpl::Mailer, Email ); 442 createField( FieldImpl::Mailer, Email );
438 createField( FieldImpl::Title, Organization ); 443 createField( FieldImpl::Title, Organization );
439 createField( FieldImpl::Role, Organization ); 444 createField( FieldImpl::Role, Organization );
440 createField( FieldImpl::Organization, Organization ); 445 createField( FieldImpl::Organization, Organization );
441 createField( FieldImpl::Note ); 446 createField( FieldImpl::Note );
442 createField( FieldImpl::Url ); 447 createField( FieldImpl::Url );
443 createField( FieldImpl::Resource ); 448 createField( FieldImpl::Resource );
444 createField( FieldImpl::Sip ); 449 createField( FieldImpl::Sip );
450 createField( FieldImpl::OtherPhone );
445 } 451 }
446 452
447 return mAllFields; 453 return mAllFields;
448} 454}
449 455
450Field::List Field::defaultFields() 456Field::List Field::defaultFields()
451{ 457{
452 if ( mDefaultFields.isEmpty() ) { 458 if ( mDefaultFields.isEmpty() ) {
453 createDefaultField( FieldImpl::GivenName ); 459 createDefaultField( FieldImpl::GivenName );
454 createDefaultField( FieldImpl::FamilyName ); 460 createDefaultField( FieldImpl::FamilyName );
455 createDefaultField( FieldImpl::Email ); 461 createDefaultField( FieldImpl::Email );
456 } 462 }
457 463
458 return mDefaultFields; 464 return mDefaultFields;
459} 465}
460 466
461void Field::createField( int id, int category ) 467void Field::createField( int id, int category )
462{ 468{
463 mAllFields.append( new Field( new FieldImpl( id, category ) ) ); 469 mAllFields.append( new Field( new FieldImpl( id, category ) ) );
464} 470}
465 471
466void Field::createDefaultField( int id, int category ) 472void Field::createDefaultField( int id, int category )
467{ 473{
468 mDefaultFields.append( new Field( new FieldImpl( id, category ) ) ); 474 mDefaultFields.append( new Field( new FieldImpl( id, category ) ) );
469} 475}
470 476
471void Field::deleteFields() 477void Field::deleteFields()
472{ 478{
473 Field::List::ConstIterator it; 479 Field::List::ConstIterator it;
474 480
475 for( it = mAllFields.begin(); it != mAllFields.end(); ++it ) { 481 for( it = mAllFields.begin(); it != mAllFields.end(); ++it ) {
476 delete (*it); 482 delete (*it);
477 } 483 }
478 mAllFields.clear(); 484 mAllFields.clear();
479 485
480 for( it = mDefaultFields.begin(); it != mDefaultFields.end(); ++it ) { 486 for( it = mDefaultFields.begin(); it != mDefaultFields.end(); ++it ) {
481 delete (*it); 487 delete (*it);
482 } 488 }
483 mDefaultFields.clear(); 489 mDefaultFields.clear();
484 490
485 for( it = mCustomFields.begin(); it != mCustomFields.end(); ++it ) { 491 for( it = mCustomFields.begin(); it != mCustomFields.end(); ++it ) {
486 delete (*it); 492 delete (*it);
487 } 493 }
488 mCustomFields.clear(); 494 mCustomFields.clear();
489} 495}
490 496
491void Field::saveFields( const QString &identifier, 497void Field::saveFields( const QString &identifier,
492 const Field::List &fields ) 498 const Field::List &fields )
493{ 499{
494 KConfig *cfg = KGlobal::config(); 500 KConfig *cfg = KGlobal::config();
495 KConfigGroupSaver( cfg, "KABCFields" ); 501 KConfigGroupSaver( cfg, "KABCFields" );
496 saveFields( cfg, identifier, fields ); 502 saveFields( cfg, identifier, fields );
497} 503}
498 504
499void Field::saveFields( KConfig *cfg, const QString &identifier, 505void Field::saveFields( KConfig *cfg, const QString &identifier,
500 const Field::List &fields ) 506 const Field::List &fields )
501{ 507{
502 QValueList<int> fieldIds; 508 QValueList<int> fieldIds;
503 509
504//US 510//US
505// qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1()); 511// qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1());
506 512
507 int custom = 0; 513 int custom = 0;
508 Field::List::ConstIterator it; 514 Field::List::ConstIterator it;
509 for( it = fields.begin(); it != fields.end(); ++it ) { 515 for( it = fields.begin(); it != fields.end(); ++it ) {
510//US 516//US
511// qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId()); 517// qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId());
512 518
513 fieldIds.append( (*it)->mImpl->fieldId() ); 519 fieldIds.append( (*it)->mImpl->fieldId() );
514 if( (*it)->isCustom() ) { 520 if( (*it)->isCustom() ) {
515 QStringList customEntry; 521 QStringList customEntry;
516 customEntry << (*it)->mImpl->label(); 522 customEntry << (*it)->mImpl->label();
517 customEntry << (*it)->mImpl->key(); 523 customEntry << (*it)->mImpl->key();
518 customEntry << (*it)->mImpl->app(); 524 customEntry << (*it)->mImpl->app();
519 cfg->writeEntry( "KABC_CustomEntry_" + identifier + "_" + 525 cfg->writeEntry( "KABC_CustomEntry_" + identifier + "_" +
520 QString::number( custom++ ), customEntry ); 526 QString::number( custom++ ), customEntry );
521 } 527 }
522 } 528 }
523 cfg->writeEntry( identifier, fieldIds ); 529 cfg->writeEntry( identifier, fieldIds );
524} 530}
525 531
526Field::List Field::restoreFields( const QString &identifier ) 532Field::List Field::restoreFields( const QString &identifier )
527{ 533{
528//US 534//US
529// qDebug("Field::restoreFields, identifier: %s", identifier.latin1()); 535// qDebug("Field::restoreFields, identifier: %s", identifier.latin1());
530 536
531 KConfig *cfg = KGlobal::config(); 537 KConfig *cfg = KGlobal::config();
532 KConfigGroupSaver( cfg, "KABCFields" ); 538 KConfigGroupSaver( cfg, "KABCFields" );
533 cfg->setGroup( "KABCFields" ); 539 cfg->setGroup( "KABCFields" );
534 540
535 Field::List l = restoreFields( cfg, identifier ); 541 Field::List l = restoreFields( cfg, identifier );
536 542
537 return l; 543 return l;
538} 544}
539 545
540Field::List Field::restoreFields( KConfig *cfg, const QString &identifier ) 546Field::List Field::restoreFields( KConfig *cfg, const QString &identifier )