kabc
addressee.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KABC_ADDRESSEE_SRC_H
00023 #define KABC_ADDRESSEE_SRC_H
00024
00025 #include <QtCore/QDateTime>
00026 #include <QtCore/QStringList>
00027 #include <QtCore/QSharedDataPointer>
00028
00029 #include <kurl.h>
00030
00031 #include "address.h"
00032 #include "geo.h"
00033 #include "key.h"
00034 #include "phonenumber.h"
00035 #include "picture.h"
00036 #include "secrecy.h"
00037 #include "sound.h"
00038 #include "timezone.h"
00039 #include "addresseelist.h"
00040
00041 namespace KABC {
00042
00043 class Resource;
00044 class SortMode;
00045
00072 class KABC_EXPORT Addressee
00073 {
00074 friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & );
00075 friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & );
00076
00077 public:
00081 typedef AddresseeList List;
00087 typedef QMap<QString, Addressee> Map;
00088
00092 Addressee();
00093
00097 ~Addressee();
00098
00102 Addressee( const Addressee & );
00103
00109 Addressee &operator=( const Addressee & );
00110
00117 bool operator==( const Addressee & ) const;
00118
00125 bool operator!=( const Addressee & ) const;
00126
00130 bool isEmpty() const;
00131
00137 void setUid( const QString &uid );
00141 QString uid() const;
00145 static QString uidLabel();
00146
00150 void setName( const QString &name );
00154 QString name() const;
00158 static QString nameLabel();
00159
00163 void setFormattedName( const QString &formattedName );
00167 QString formattedName() const;
00171 static QString formattedNameLabel();
00172
00176 void setFamilyName( const QString &familyName );
00180 QString familyName() const;
00184 static QString familyNameLabel();
00185
00189 void setGivenName( const QString &givenName );
00193 QString givenName() const;
00197 static QString givenNameLabel();
00198
00202 void setAdditionalName( const QString &additionalName );
00206 QString additionalName() const;
00210 static QString additionalNameLabel();
00211
00215 void setPrefix( const QString &prefix );
00219 QString prefix() const;
00223 static QString prefixLabel();
00224
00228 void setSuffix( const QString &suffix );
00232 QString suffix() const;
00236 static QString suffixLabel();
00237
00241 void setNickName( const QString &nickName );
00245 QString nickName() const;
00249 static QString nickNameLabel();
00250
00254 void setBirthday( const QDateTime &birthday );
00258 QDateTime birthday() const;
00262 static QString birthdayLabel();
00263
00267 static QString homeAddressStreetLabel();
00268
00272 static QString homeAddressLocalityLabel();
00273
00277 static QString homeAddressRegionLabel();
00278
00282 static QString homeAddressPostalCodeLabel();
00283
00287 static QString homeAddressCountryLabel();
00288
00292 static QString homeAddressLabelLabel();
00293
00297 static QString businessAddressStreetLabel();
00298
00302 static QString businessAddressLocalityLabel();
00303
00307 static QString businessAddressRegionLabel();
00308
00312 static QString businessAddressPostalCodeLabel();
00313
00317 static QString businessAddressCountryLabel();
00318
00322 static QString businessAddressLabelLabel();
00323
00327 static QString homePhoneLabel();
00328
00332 static QString businessPhoneLabel();
00333
00337 static QString mobilePhoneLabel();
00338
00342 static QString homeFaxLabel();
00343
00347 static QString businessFaxLabel();
00348
00352 static QString carPhoneLabel();
00353
00357 static QString isdnLabel();
00358
00362 static QString pagerLabel();
00363
00367 static QString emailLabel();
00368
00372 void setMailer( const QString &mailer );
00376 QString mailer() const;
00380 static QString mailerLabel();
00381
00385 void setTimeZone( const TimeZone &timeZone );
00389 TimeZone timeZone() const;
00393 static QString timeZoneLabel();
00394
00398 void setGeo( const Geo &geo );
00402 Geo geo() const;
00406 static QString geoLabel();
00407
00411 void setTitle( const QString &title );
00415 QString title() const;
00419 static QString titleLabel();
00420
00424 void setRole( const QString &role );
00428 QString role() const;
00432 static QString roleLabel();
00433
00437 void setOrganization( const QString &organization );
00441 QString organization() const;
00445 static QString organizationLabel();
00446
00450 void setDepartment( const QString &department );
00454 QString department() const;
00458 static QString departmentLabel();
00459
00463 void setNote( const QString ¬e );
00467 QString note() const;
00471 static QString noteLabel();
00472
00476 void setProductId( const QString &productId );
00480 QString productId() const;
00484 static QString productIdLabel();
00485
00489 void setRevision( const QDateTime &revision );
00493 QDateTime revision() const;
00497 static QString revisionLabel();
00498
00502 void setSortString( const QString &sortString );
00506 QString sortString() const;
00510 static QString sortStringLabel();
00511
00515 void setUrl( const KUrl &url );
00519 KUrl url() const;
00523 static QString urlLabel();
00524
00528 void setSecrecy( const Secrecy &secrecy );
00532 Secrecy secrecy() const;
00536 static QString secrecyLabel();
00537
00541 void setLogo( const Picture &logo );
00545 Picture logo() const;
00549 static QString logoLabel();
00550
00554 void setPhoto( const Picture &photo );
00558 Picture photo() const;
00562 static QString photoLabel();
00563
00567 void setSound( const Sound &sound );
00571 Sound sound() const;
00575 static QString soundLabel();
00576
00582 void setNameFromString( const QString & );
00583
00588 QString realName() const;
00589
00593 QString assembledName() const;
00594
00601 QString fullEmail( const QString &email=QString() ) const;
00602
00611 void insertEmail( const QString &email, bool preferred=false );
00612
00618 void removeEmail( const QString &email );
00619
00624 QString preferredEmail() const;
00625
00629 QStringList emails() const;
00630
00636 void setEmails( const QStringList& list);
00637
00644 void insertPhoneNumber( const PhoneNumber &phoneNumber );
00645
00652 void removePhoneNumber( const PhoneNumber &phoneNumber );
00653
00659 PhoneNumber phoneNumber( PhoneNumber::Type type ) const;
00660
00664 PhoneNumber::List phoneNumbers() const;
00665
00671 PhoneNumber::List phoneNumbers( PhoneNumber::Type type ) const;
00672
00679 PhoneNumber findPhoneNumber( const QString &id ) const;
00680
00687 void insertKey( const Key &key );
00688
00695 void removeKey( const Key &key );
00696
00707 Key key( Key::Type type, QString customTypeString = QString() ) const;
00708
00712 Key::List keys() const;
00713
00718 void setKeys( const Key::List& keys);
00719
00730 Key::List keys( Key::Type type, QString customTypeString = QString() ) const;
00731
00737 Key findKey( const QString &id ) const;
00738
00745 void insertAddress( const Address &address );
00746
00753 void removeAddress( const Address &address );
00754
00760 Address address( Address::Type type ) const;
00761
00765 Address::List addresses() const;
00766
00772 Address::List addresses( Address::Type type ) const;
00773
00779 Address findAddress( const QString &id ) const;
00780
00784 void insertCategory( const QString & );
00785
00789 void removeCategory( const QString & );
00790
00794 bool hasCategory( const QString & ) const;
00795
00799 void setCategories( const QStringList & );
00800
00804 QStringList categories() const;
00805
00818 void insertCustom( const QString &app, const QString &name,
00819 const QString &value );
00820
00827 void removeCustom( const QString &app, const QString &name );
00828
00835 QString custom( const QString &app, const QString &name ) const;
00836
00840 void setCustoms( const QStringList & );
00841
00845 QStringList customs() const;
00846
00854 static void parseEmailAddress( const QString &rawEmail, QString &fullName,
00855 QString &email );
00856
00860 QString toString() const;
00861
00867 void setResource( Resource *resource );
00868
00872 Resource *resource() const;
00873
00879 void setChanged( bool value );
00880
00884 bool changed() const;
00885
00894 static void setSortMode( KABC::SortMode *mode );
00895
00903 bool operator< ( const Addressee &addr ) const;
00904
00905 private:
00906 class Private;
00907 QSharedDataPointer<Private> d;
00908 };
00909 #ifdef MAKE_KABC_LIB
00910 KDE_DUMMY_QHASH_FUNCTION(Addressee)
00911 #endif
00912
00913 KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & );
00914 KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & );
00915
00916 }
00917
00918 #endif