kabc
22 #include <klocalizedstring.h>
25 #include <kconfiggroup.h>
34 Private(
int fieldId,
int category = 0,
35 const QString &
label = QString(),
36 const QString &key = QString(),
37 const QString &app = QString() )
38 : mFieldId( fieldId ), mCategory(
category ), mLabel(
label ),
39 mKey( key ), mApp( app ) {}
53 HomeAddressPostOfficeBox,
56 HomeAddressPostalCode,
59 BusinessAddressStreet,
60 BusinessAddressPostOfficeBox,
61 BusinessAddressLocality,
62 BusinessAddressRegion,
63 BusinessAddressPostalCode,
64 BusinessAddressCountry,
84 int fieldId() {
return mFieldId; }
87 QString
label() {
return mLabel; }
88 QString key() {
return mKey; }
89 QString app() {
return mApp; }
108 Field::Field( Private *p )
120 switch ( d->fieldId() ) {
121 case Private::FormattedName:
123 case Private::FamilyName:
125 case Private::GivenName:
127 case Private::AdditionalName:
129 case Private::Prefix:
131 case Private::Suffix:
133 case Private::NickName:
135 case Private::Birthday:
137 case Private::HomeAddressStreet:
139 case Private::HomeAddressPostOfficeBox:
141 case Private::HomeAddressLocality:
143 case Private::HomeAddressRegion:
145 case Private::HomeAddressPostalCode:
147 case Private::HomeAddressCountry:
149 case Private::HomeAddressLabel:
151 case Private::BusinessAddressStreet:
153 case Private::BusinessAddressPostOfficeBox:
155 case Private::BusinessAddressLocality:
157 case Private::BusinessAddressRegion:
159 case Private::BusinessAddressPostalCode:
161 case Private::BusinessAddressCountry:
163 case Private::BusinessAddressLabel:
165 case Private::HomePhone:
167 case Private::BusinessPhone:
169 case Private::MobilePhone:
171 case Private::HomeFax:
173 case Private::BusinessFax:
175 case Private::CarPhone:
183 case Private::Mailer:
189 case Private::Organization:
191 case Private::Department:
197 case Private::CustomField:
200 return i18n(
"Unknown Field" );
206 return d->category();
213 return i18n(
"All" );
215 return i18n(
"Frequent" );
217 return i18nc(
"street/postal",
"Address" );
219 return i18n(
"Email" );
221 return i18n(
"Personal" );
223 return i18n(
"Organization" );
225 return i18n(
"Custom" );
227 return i18n(
"Undefined" );
233 switch ( d->fieldId() ) {
234 case Private::FormattedName:
236 case Private::FamilyName:
238 case Private::GivenName:
240 case Private::AdditionalName:
242 case Private::Prefix:
244 case Private::Suffix:
246 case Private::NickName:
248 case Private::Mailer:
254 case Private::Organization:
256 case Private::Department:
262 case Private::Birthday:
264 return a.
birthday().date().toString( Qt::ISODate );
268 return a.
url().prettyUrl();
269 case Private::HomePhone:
271 PhoneNumber::List::ConstIterator it;
276 for ( it = list.begin(); it != list.end(); ++it ) {
278 return ( *it ).number();
286 for ( it = list.begin(); it != list.end(); ++it ) {
288 return ( *it ).number();
295 case Private::BusinessPhone:
297 PhoneNumber::List::ConstIterator it;
302 for ( it = list.begin(); it != list.end(); ++it ) {
304 return ( *it ).number();
312 for ( it = list.begin(); it != list.end(); ++it ) {
314 return ( *it ).number();
321 case Private::MobilePhone:
323 case Private::HomeFax:
325 case Private::BusinessFax:
327 case Private::CarPhone:
333 case Private::HomeAddressStreet:
335 case Private::HomeAddressPostOfficeBox:
337 case Private::HomeAddressLocality:
339 case Private::HomeAddressRegion:
341 case Private::HomeAddressPostalCode:
343 case Private::HomeAddressCountry:
345 case Private::BusinessAddressStreet:
347 case Private::BusinessAddressPostOfficeBox:
349 case Private::BusinessAddressLocality:
351 case Private::BusinessAddressRegion:
353 case Private::BusinessAddressPostalCode:
355 case Private::BusinessAddressCountry:
357 case Private::CustomField:
358 return a.
custom( d->app(), d->key() );
366 switch ( d->fieldId() ) {
367 case Private::FormattedName:
370 case Private::FamilyName:
373 case Private::GivenName:
376 case Private::AdditionalName:
379 case Private::Prefix:
382 case Private::Suffix:
385 case Private::NickName:
388 case Private::Mailer:
397 case Private::Organization:
400 case Private::Department:
406 case Private::Birthday:
409 case Private::CustomField:
419 switch ( d->fieldId() ) {
420 case Private::FormattedName:
422 case Private::FamilyName:
424 case Private::GivenName:
426 case Private::AdditionalName:
428 case Private::Prefix:
430 case Private::Suffix:
432 case Private::NickName:
434 case Private::Mailer:
440 case Private::Organization:
442 case Private::Department:
446 case Private::Birthday:
450 key.sprintf(
"%02d-%02d", date.month(), date.day() );
453 return QLatin1String(
"00-00" );
455 return value( a ).toLower();
461 return d->fieldId() == Private::CustomField;
466 if ( Private::mAllFields.isEmpty() ) {
507 return Private::mAllFields;
512 if ( Private::mDefaultFields.isEmpty() ) {
517 return Private::mDefaultFields;
522 Private::mAllFields.append(
new Field(
new Private(
id,
category ) ) );
527 Private::mDefaultFields.append(
new Field(
new Private(
id,
category ) ) );
532 Field::List::ConstIterator it;
534 for ( it = Private::mAllFields.constBegin(); it != Private::mAllFields.constEnd(); ++it ) {
537 Private::mAllFields.clear();
539 for ( it = Private::mDefaultFields.constBegin(); it != Private::mDefaultFields.constEnd(); ++it ) {
542 Private::mDefaultFields.clear();
544 for ( it = Private::mCustomFields.constBegin(); it != Private::mCustomFields.constEnd(); ++it ) {
547 Private::mCustomFields.clear();
553 KConfigGroup cg( KGlobal::config(),
"KABCFields" );
564 Field::List::ConstIterator it;
565 for ( it = fields.begin(); it != fields.end(); ++it ) {
566 fieldIds.append( ( *it )->d->fieldId() );
567 if ( ( *it )->isCustom() ) {
568 QStringList customEntry;
569 customEntry << ( *it )->d->label();
570 customEntry << ( *it )->d->key();
571 customEntry << ( *it )->d->app();
572 cfg.writeEntry( QLatin1String(
"KABC_CustomEntry_" ) + identifier + QLatin1Char(
'_' ) +
573 QString::number( custom++ ), customEntry );
577 cfg.writeEntry( identifier, fieldIds );
582 KConfigGroup cg( KGlobal::config(),
"KABCFields" );
589 const QList<int> fieldIds = cfg.readEntry( identifier,QList<int>() );
594 QList<int>::ConstIterator it;
595 for ( it = fieldIds.begin(); it != fieldIds.end(); ++it ) {
597 if ( ( *it ) == Private::CustomField ) {
598 QStringList customEntry = cfg.readEntry( QLatin1String(
"KABC_CustomEntry_" ) +
599 identifier + QLatin1Char(
'_' ) +
600 QString::number( custom++ ),QStringList() );
602 customEntry[ 1 ], customEntry[ 2 ] );
604 f =
new Private( *it );
606 fields.append(
new Field( f ) );
614 bool sameId = ( d->fieldId() == field->d->fieldId() );
616 if ( !sameId )
return false;
618 if ( d->fieldId() != Private::CustomField )
return true;
620 return d->key() == field->d->key();
624 const QString &key,
const QString &app )
626 Field *field =
new Field(
new Private( Private::CustomField,
629 Private::mCustomFields.append( field );
QString street() const
Returns the street.
static QString prefixLabel()
Return translated label for prefix field.
QString formattedName() const
Return formatted name.
void setBirthday(const QDateTime &birthday)
Set birthday.
QString country() const
Returns the country.
PhoneNumber phoneNumber(PhoneNumber::Type type) const
Return phone number, which matches the given type.
static QString givenNameLabel()
Return translated label for givenName field.
static QString homeAddressPostOfficeBoxLabel()
Return translated label for homeAddressPostOfficeBox field.
static QString nickNameLabel()
Return translated label for nickName field.
void setPrefix(const QString &prefix)
Set honorific prefixes.
static QString mobilePhoneLabel()
Return translated label for mobilePhone field.
void setFamilyName(const QString &familyName)
Set family name.
static Field::List defaultFields()
Returns a list of the default fields.
QString nickName() const
Return nick name.
QString givenName() const
Return given name.
QString title() const
Return title.
QString postalCode() const
Returns the postal code.
static QString businessAddressPostOfficeBoxLabel()
Return translated label for businessAddressPostOfficeBox field.
void setDepartment(const QString &department)
Set department.
QString preferredEmail() const
Return preferred email address.
@ Address
Fields which belong to the address, such as Street, City, Zip, etc.
QString locality() const
Returns the locality.
static QString noteLabel()
Return translated label for note field.
QString additionalName() const
Return additional names.
static QString businessAddressStreetLabel()
Return translated label for businessAddressStreet field.
void setMailer(const QString &mailer)
Set mail client.
QList< Field * > List
This type is used for a list of fields.
static QString businessAddressPostalCodeLabel()
Return translated label for businessAddressPostalCode field.
@ Frequent
Frequently used fields.
QString organization() const
Return organization.
static Field * createCustomField(const QString &label, int category, const QString &key, const QString &app)
Creates a custom field.
static QString businessFaxLabel()
Return translated label for businessFax field.
void setTitle(const QString &title)
Set title.
static QString businessAddressLabelLabel()
Return translated label for businessAddressLabel field.
static QString homePhoneLabel()
Return translated label for homePhone field.
@ Organization
Fields about the organization, such as Business Address fields, Department, Profession,...
Postal address information.
QString note() const
Return note.
void setNickName(const QString &nickName)
Set nick name.
virtual QString value(const KABC::Addressee &)
Returns a string representation of the value the field has in the given Addressee.
virtual QString label()
Returns the translated label for this field.
Class that holds a Calendar Url (FBURL/CALADRURI/CALURI)
Address address(Address::Type type) const
Return address, which matches the given type.
virtual bool isCustom()
Returns, if the field is a user-defined field.
static QString organizationLabel()
Return translated label for organization field.
static QString carPhoneLabel()
Return translated label for carPhone field.
static QString homeAddressRegionLabel()
Return translated label for homeAddressRegion field.
static QString businessAddressLocalityLabel()
Return translated label for businessAddressLocality field.
QString prefix() const
Return honorific prefixes.
static QString homeAddressLabelLabel()
Return translated label for homeAddressLabel field.
static QString homeAddressStreetLabel()
Return translated label for homeAddressStreet field.
void insertCustom(const QString &app, const QString &name, const QString &value)
Insert custom entry.
@ Email
Fields which store information about the e-mail contact, such as e-mail address or mail client.
static QString emailLabel()
Return translated label for email field.
PhoneNumber::List phoneNumbers() const
Return list of all phone numbers.
static QString urlLabel()
Return translated label for url field.
static QString homeAddressPostalCodeLabel()
Return translated label for homeAddressPostalCode field.
KUrl url() const
Return homepage.
QString suffix() const
Return honorific suffixes.
static Field::List restoreFields(const KConfigGroup &cfg, const QString &identifier)
Load the field settings from a config file.
QString role() const
Return role.
QDateTime birthday() const
Return birthday.
static QString formattedNameLabel()
Return translated label for formattedName field.
QString sortKey(const KABC::Addressee &)
Returns a string, that can be used for sorting.
static QString familyNameLabel()
Return translated label for familyName field.
static QString suffixLabel()
Return translated label for suffix field.
static void createField(int id, int category=0)
QString postOfficeBox() const
Returns the post office box.
static QString roleLabel()
Return translated label for role field.
@ Personal
Personal fields, such as Birthday, Home Address fields, IM Address, etc.
void setOrganization(const QString &organization)
Set organization.
virtual bool setValue(KABC::Addressee &, const QString &)
Sets the value of the field in the given Addressee.
QString number() const
Returns the phone number.
static void deleteFields()
Delete all fields from list.
static QString mailerLabel()
Return translated label for mailer field.
virtual int category()
Returns the ored categories the field belongs to.
static QString businessAddressRegionLabel()
Return translated label for businessAddressRegion field.
virtual bool equals(Field *field)
Returns, if the field is equal with field.
static QString birthdayLabel()
Return translated label for birthday field.
static QString businessAddressCountryLabel()
Return translated label for businessAddressCountry field.
static QString titleLabel()
Return translated label for title field.
static QString pagerLabel()
Return translated label for pager field.
static QString isdnLabel()
Return translated label for isdn field.
@ CustomCategory
Custom (user-defined) fields.
static QString categoryLabel(int category)
Returns the translated label for category.
Represents a field in the Addressbook.
void setSuffix(const QString &suffix)
Set honorific suffixes.
static QString businessPhoneLabel()
Return translated label for businessPhone field.
void setFormattedName(const QString &formattedName)
Set formatted name.
QString mailer() const
Return mail client.
QString department() const
Return department.
void setRole(const QString &role)
Set role.
QString familyName() const
Return family name.
void setNote(const QString ¬e)
Set note.
static QString departmentLabel()
Return translated label for department field.
static void createDefaultField(int id, int category=0)
QString custom(const QString &app, const QString &name) const
Return value of custom entry, identified by app and entry name.
void setGivenName(const QString &givenName)
Set given name.
static QString homeAddressCountryLabel()
Return translated label for homeAddressCountry field.
static QString additionalNameLabel()
Return translated label for additionalName field.
QList< PhoneNumber > List
List of phone numbers.
static void saveFields(KConfigGroup &cfg, const QString &identifier, const Field::List &fields)
Save the field settings to a config file.
QString region() const
Returns the region.
static QString homeAddressLocalityLabel()
Return translated label for homeAddressLocality field.
static QString homeFaxLabel()
Return translated label for homeFax field.
static Field::List allFields()
Returns a list of all fields.
void setAdditionalName(const QString &additionalName)
Set additional names.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Tue Jul 28 2020 00:00:00 by
doxygen 1.8.18 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.