author | ulf69 <ulf69> | 2004-06-30 22:07:56 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-06-30 22:07:56 (UTC) |
commit | 1b7b7755bfbedddc72293b784577ded4e684bd6f (patch) (unidiff) | |
tree | ff4eba9b8bb53401d2000d70e73a40f7c330d577 /kabc/field.cpp | |
parent | c6f3a3f49498dca52d10418d845f4a84c0c6d941 (diff) | |
download | kdepimpi-1b7b7755bfbedddc72293b784577ded4e684bd6f.zip kdepimpi-1b7b7755bfbedddc72293b784577ded4e684bd6f.tar.gz kdepimpi-1b7b7755bfbedddc72293b784577ded4e684bd6f.tar.bz2 |
added a new field of type Resource. This allowes us to display in KAddressbook for each
Addressbookentry its location
-rw-r--r-- | kabc/field.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/kabc/field.cpp b/kabc/field.cpp index 41bbfde..bc2e176 100644 --- a/kabc/field.cpp +++ b/kabc/field.cpp | |||
@@ -29,12 +29,13 @@ $Id$ | |||
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 | 36 | ||
36 | using namespace KABC; | 37 | using namespace KABC; |
37 | 38 | ||
38 | class Field::FieldImpl | 39 | class Field::FieldImpl |
39 | { | 40 | { |
40 | public: | 41 | public: |
@@ -79,13 +80,14 @@ class Field::FieldImpl | |||
79 | Email, | 80 | Email, |
80 | Mailer, | 81 | Mailer, |
81 | Title, | 82 | Title, |
82 | Role, | 83 | Role, |
83 | Organization, | 84 | Organization, |
84 | Note, | 85 | Note, |
85 | Url | 86 | Url, |
87 | Resource | ||
86 | }; | 88 | }; |
87 | 89 | ||
88 | int fieldId() { return mFieldId; } | 90 | int fieldId() { return mFieldId; } |
89 | int category() { return mCategory; } | 91 | int category() { return mCategory; } |
90 | 92 | ||
91 | QString label() { return mLabel; } | 93 | QString label() { return mLabel; } |
@@ -187,12 +189,14 @@ QString Field::label() | |||
187 | case FieldImpl::Organization: | 189 | case FieldImpl::Organization: |
188 | return Addressee::organizationLabel(); | 190 | return Addressee::organizationLabel(); |
189 | case FieldImpl::Note: | 191 | case FieldImpl::Note: |
190 | return Addressee::noteLabel(); | 192 | return Addressee::noteLabel(); |
191 | case FieldImpl::Url: | 193 | case FieldImpl::Url: |
192 | return Addressee::urlLabel(); | 194 | return Addressee::urlLabel(); |
195 | case FieldImpl::Resource: | ||
196 | return Addressee::resourceLabel(); | ||
193 | case FieldImpl::CustomField: | 197 | case FieldImpl::CustomField: |
194 | return mImpl->label(); | 198 | return mImpl->label(); |
195 | default: | 199 | default: |
196 | return i18n("Unknown Field"); | 200 | return i18n("Unknown Field"); |
197 | } | 201 | } |
198 | } | 202 | } |
@@ -264,12 +268,15 @@ QString Field::value( const KABC::Addressee &a ) | |||
264 | return dt; | 268 | return dt; |
265 | } | 269 | } |
266 | else | 270 | else |
267 | return QString::null; | 271 | return QString::null; |
268 | case FieldImpl::Url: | 272 | case FieldImpl::Url: |
269 | return a.url().prettyURL(); | 273 | return a.url().prettyURL(); |
274 | //US | ||
275 | case FieldImpl::Resource: | ||
276 | return a.resource()->resourceName(); | ||
270 | case FieldImpl::HomePhone: | 277 | case FieldImpl::HomePhone: |
271 | return a.phoneNumber( PhoneNumber::Home ).number(); | 278 | return a.phoneNumber( PhoneNumber::Home ).number(); |
272 | case FieldImpl::BusinessPhone: | 279 | case FieldImpl::BusinessPhone: |
273 | return a.phoneNumber( PhoneNumber::Work ).number(); | 280 | return a.phoneNumber( PhoneNumber::Work ).number(); |
274 | case FieldImpl::MobilePhone: | 281 | case FieldImpl::MobilePhone: |
275 | return a.phoneNumber( PhoneNumber::Cell ).number(); | 282 | return a.phoneNumber( PhoneNumber::Cell ).number(); |
@@ -357,12 +364,14 @@ bool Field::setValue( KABC::Addressee &a, const QString &value ) | |||
357 | QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate | 364 | QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate |
358 | a.setBirthday(dt); | 365 | a.setBirthday(dt); |
359 | } | 366 | } |
360 | return true; | 367 | return true; |
361 | case FieldImpl::CustomField: | 368 | case FieldImpl::CustomField: |
362 | a.insertCustom( mImpl->app(), mImpl->key(), value ); | 369 | a.insertCustom( mImpl->app(), mImpl->key(), value ); |
370 | //US never copy the resourcename back to the adressee. | ||
371 | case FieldImpl::Resource: | ||
363 | default: | 372 | default: |
364 | return false; | 373 | return false; |
365 | } | 374 | } |
366 | } | 375 | } |
367 | 376 | ||
368 | bool Field::isCustom() | 377 | bool Field::isCustom() |
@@ -405,12 +414,13 @@ Field::List Field::allFields() | |||
405 | createField( FieldImpl::Mailer, Email ); | 414 | createField( FieldImpl::Mailer, Email ); |
406 | createField( FieldImpl::Title, Organization ); | 415 | createField( FieldImpl::Title, Organization ); |
407 | createField( FieldImpl::Role, Organization ); | 416 | createField( FieldImpl::Role, Organization ); |
408 | createField( FieldImpl::Organization, Organization ); | 417 | createField( FieldImpl::Organization, Organization ); |
409 | createField( FieldImpl::Note ); | 418 | createField( FieldImpl::Note ); |
410 | createField( FieldImpl::Url ); | 419 | createField( FieldImpl::Url ); |
420 | createField( FieldImpl::Resource ); | ||
411 | } | 421 | } |
412 | 422 | ||
413 | return mAllFields; | 423 | return mAllFields; |
414 | } | 424 | } |
415 | 425 | ||
416 | Field::List Field::defaultFields() | 426 | Field::List Field::defaultFields() |
@@ -465,19 +475,19 @@ void Field::saveFields( const QString &identifier, | |||
465 | void Field::saveFields( KConfig *cfg, const QString &identifier, | 475 | void Field::saveFields( KConfig *cfg, const QString &identifier, |
466 | const Field::List &fields ) | 476 | const Field::List &fields ) |
467 | { | 477 | { |
468 | QValueList<int> fieldIds; | 478 | QValueList<int> fieldIds; |
469 | 479 | ||
470 | //US | 480 | //US |
471 | //US qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1()); | 481 | // qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1()); |
472 | 482 | ||
473 | int custom = 0; | 483 | int custom = 0; |
474 | Field::List::ConstIterator it; | 484 | Field::List::ConstIterator it; |
475 | for( it = fields.begin(); it != fields.end(); ++it ) { | 485 | for( it = fields.begin(); it != fields.end(); ++it ) { |
476 | //US | 486 | //US |
477 | //US qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId()); | 487 | // qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId()); |
478 | 488 | ||
479 | fieldIds.append( (*it)->mImpl->fieldId() ); | 489 | fieldIds.append( (*it)->mImpl->fieldId() ); |
480 | if( (*it)->isCustom() ) { | 490 | if( (*it)->isCustom() ) { |
481 | QStringList customEntry; | 491 | QStringList customEntry; |
482 | customEntry << (*it)->mImpl->label(); | 492 | customEntry << (*it)->mImpl->label(); |
483 | customEntry << (*it)->mImpl->key(); | 493 | customEntry << (*it)->mImpl->key(); |
@@ -488,12 +498,15 @@ void Field::saveFields( KConfig *cfg, const QString &identifier, | |||
488 | } | 498 | } |
489 | cfg->writeEntry( identifier, fieldIds ); | 499 | cfg->writeEntry( identifier, fieldIds ); |
490 | } | 500 | } |
491 | 501 | ||
492 | Field::List Field::restoreFields( const QString &identifier ) | 502 | Field::List Field::restoreFields( const QString &identifier ) |
493 | { | 503 | { |
504 | //US | ||
505 | // qDebug("Field::restoreFields, identifier: %s", identifier.latin1()); | ||
506 | |||
494 | KConfig *cfg = KGlobal::config(); | 507 | KConfig *cfg = KGlobal::config(); |
495 | KConfigGroupSaver( cfg, "KABCFields" ); | 508 | KConfigGroupSaver( cfg, "KABCFields" ); |
496 | cfg->setGroup( "KABCFields" ); | 509 | cfg->setGroup( "KABCFields" ); |
497 | 510 | ||
498 | Field::List l = restoreFields( cfg, identifier ); | 511 | Field::List l = restoreFields( cfg, identifier ); |
499 | 512 | ||
@@ -501,13 +514,13 @@ Field::List Field::restoreFields( const QString &identifier ) | |||
501 | } | 514 | } |
502 | 515 | ||
503 | Field::List Field::restoreFields( KConfig *cfg, const QString &identifier ) | 516 | Field::List Field::restoreFields( KConfig *cfg, const QString &identifier ) |
504 | { | 517 | { |
505 | QValueList<int> fieldIds = cfg->readIntListEntry( identifier); | 518 | QValueList<int> fieldIds = cfg->readIntListEntry( identifier); |
506 | //US | 519 | //US |
507 | qDebug("Field::restoreFields from %s", cfg->getFileName().latin1()); | 520 | // qDebug("Field::restoreFields from %s, identifier: %s", cfg->getFileName().latin1(), identifier.latin1()); |
508 | 521 | ||
509 | Field::List fields; | 522 | Field::List fields; |
510 | 523 | ||
511 | int custom = 0; | 524 | int custom = 0; |
512 | QValueList<int>::ConstIterator it; | 525 | QValueList<int>::ConstIterator it; |
513 | for( it = fieldIds.begin(); it != fieldIds.end(); ++it ) { | 526 | for( it = fieldIds.begin(); it != fieldIds.end(); ++it ) { |
@@ -541,10 +554,13 @@ bool Field::equals( Field *field ) | |||
541 | Field *Field::createCustomField( const QString &label, int category, | 554 | Field *Field::createCustomField( const QString &label, int category, |
542 | const QString &key, const QString &app ) | 555 | const QString &key, const QString &app ) |
543 | { | 556 | { |
544 | Field *field = new Field( new FieldImpl( FieldImpl::CustomField, | 557 | Field *field = new Field( new FieldImpl( FieldImpl::CustomField, |
545 | category | CustomCategory, | 558 | category | CustomCategory, |
546 | label, key, app ) ); | 559 | label, key, app ) ); |
560 | //US | ||
561 | // qDebug("Field::createCustomField label %s", label.latin1() ); | ||
562 | |||
547 | mCustomFields.append( field ); | 563 | mCustomFields.append( field ); |
548 | 564 | ||
549 | return field; | 565 | return field; |
550 | } | 566 | } |