summaryrefslogtreecommitdiffabout
path: root/kabc/field.cpp
authorulf69 <ulf69>2004-06-30 22:07:56 (UTC)
committer ulf69 <ulf69>2004-06-30 22:07:56 (UTC)
commit1b7b7755bfbedddc72293b784577ded4e684bd6f (patch) (side-by-side diff)
treeff4eba9b8bb53401d2000d70e73a40f7c330d577 /kabc/field.cpp
parentc6f3a3f49498dca52d10418d845f4a84c0c6d941 (diff)
downloadkdepimpi-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
Diffstat (limited to 'kabc/field.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/field.cpp24
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$
#include <klocale.h>
#include <kconfig.h>
#include <kconfigbase.h>
#include <kglobal.h>
#include "field.h"
+#include "resource.h"
using namespace KABC;
class Field::FieldImpl
{
public:
@@ -79,13 +80,14 @@ class Field::FieldImpl
Email,
Mailer,
Title,
Role,
Organization,
Note,
- Url
+ Url,
+ Resource
};
int fieldId() { return mFieldId; }
int category() { return mCategory; }
QString label() { return mLabel; }
@@ -187,12 +189,14 @@ QString Field::label()
case FieldImpl::Organization:
return Addressee::organizationLabel();
case FieldImpl::Note:
return Addressee::noteLabel();
case FieldImpl::Url:
return Addressee::urlLabel();
+ case FieldImpl::Resource:
+ return Addressee::resourceLabel();
case FieldImpl::CustomField:
return mImpl->label();
default:
return i18n("Unknown Field");
}
}
@@ -264,12 +268,15 @@ QString Field::value( const KABC::Addressee &a )
return dt;
}
else
return QString::null;
case FieldImpl::Url:
return a.url().prettyURL();
+//US
+ case FieldImpl::Resource:
+ return a.resource()->resourceName();
case FieldImpl::HomePhone:
return a.phoneNumber( PhoneNumber::Home ).number();
case FieldImpl::BusinessPhone:
return a.phoneNumber( PhoneNumber::Work ).number();
case FieldImpl::MobilePhone:
return a.phoneNumber( PhoneNumber::Cell ).number();
@@ -357,12 +364,14 @@ bool Field::setValue( KABC::Addressee &a, const QString &value )
QDate dt = KGlobal::locale()->readDate( value, "%Y-%m-%d"); // = Qt::ISODate
a.setBirthday(dt);
}
return true;
case FieldImpl::CustomField:
a.insertCustom( mImpl->app(), mImpl->key(), value );
+//US never copy the resourcename back to the adressee.
+ case FieldImpl::Resource:
default:
return false;
}
}
bool Field::isCustom()
@@ -405,12 +414,13 @@ Field::List Field::allFields()
createField( FieldImpl::Mailer, Email );
createField( FieldImpl::Title, Organization );
createField( FieldImpl::Role, Organization );
createField( FieldImpl::Organization, Organization );
createField( FieldImpl::Note );
createField( FieldImpl::Url );
+ createField( FieldImpl::Resource );
}
return mAllFields;
}
Field::List Field::defaultFields()
@@ -465,19 +475,19 @@ void Field::saveFields( const QString &identifier,
void Field::saveFields( KConfig *cfg, const QString &identifier,
const Field::List &fields )
{
QValueList<int> fieldIds;
//US
-//US qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1());
+// qDebug("Field::saveFields to %s %s", cfg->getFileName().latin1(), identifier.latin1());
int custom = 0;
Field::List::ConstIterator it;
for( it = fields.begin(); it != fields.end(); ++it ) {
//US
-//US qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId());
+// qDebug("Field::saveFields field:%i", (*it)->mImpl->fieldId());
fieldIds.append( (*it)->mImpl->fieldId() );
if( (*it)->isCustom() ) {
QStringList customEntry;
customEntry << (*it)->mImpl->label();
customEntry << (*it)->mImpl->key();
@@ -488,12 +498,15 @@ void Field::saveFields( KConfig *cfg, const QString &identifier,
}
cfg->writeEntry( identifier, fieldIds );
}
Field::List Field::restoreFields( const QString &identifier )
{
+//US
+// qDebug("Field::restoreFields, identifier: %s", identifier.latin1());
+
KConfig *cfg = KGlobal::config();
KConfigGroupSaver( cfg, "KABCFields" );
cfg->setGroup( "KABCFields" );
Field::List l = restoreFields( cfg, identifier );
@@ -501,13 +514,13 @@ Field::List Field::restoreFields( const QString &identifier )
}
Field::List Field::restoreFields( KConfig *cfg, const QString &identifier )
{
QValueList<int> fieldIds = cfg->readIntListEntry( identifier);
//US
- qDebug("Field::restoreFields from %s", cfg->getFileName().latin1());
+// qDebug("Field::restoreFields from %s, identifier: %s", cfg->getFileName().latin1(), identifier.latin1());
Field::List fields;
int custom = 0;
QValueList<int>::ConstIterator it;
for( it = fieldIds.begin(); it != fieldIds.end(); ++it ) {
@@ -541,10 +554,13 @@ bool Field::equals( Field *field )
Field *Field::createCustomField( const QString &label, int category,
const QString &key, const QString &app )
{
Field *field = new Field( new FieldImpl( FieldImpl::CustomField,
category | CustomCategory,
label, key, app ) );
+//US
+// qDebug("Field::createCustomField label %s", label.latin1() );
+
mCustomFields.append( field );
return field;
}