Changeset View
Changeset View
Standalone View
Standalone View
src/email.h
Show All 35 Lines | |||||
36 | class KCONTACTS_EXPORT Email | 36 | class KCONTACTS_EXPORT Email | ||
37 | { | 37 | { | ||
38 | friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const Email &); | 38 | friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const Email &); | ||
39 | friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, Email &); | 39 | friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, Email &); | ||
40 | 40 | | |||
41 | Q_GADGET | 41 | Q_GADGET | ||
42 | Q_PROPERTY(QString email READ mail WRITE setEmail) | 42 | Q_PROPERTY(QString email READ mail WRITE setEmail) | ||
43 | Q_PROPERTY(bool isValid READ isValid) | 43 | Q_PROPERTY(bool isValid READ isValid) | ||
44 | Q_PROPERTY(Type type READ type WRITE setType) | ||||
45 | Q_PROPERTY(bool isPreferred) | ||||
44 | 46 | | |||
45 | public: | 47 | public: | ||
46 | /** | 48 | /** | ||
47 | * Creates an empty email object. | 49 | * Creates an empty email object. | ||
48 | */ | 50 | */ | ||
49 | Email(); | 51 | Email(); | ||
50 | Email(const Email &other); | 52 | Email(const Email &other); | ||
51 | Email(const QString &mail); | 53 | Email(const QString &mail); | ||
52 | 54 | | |||
53 | ~Email(); | 55 | ~Email(); | ||
54 | 56 | | |||
55 | typedef QVector<Email> List; | 57 | typedef QVector<Email> List; | ||
56 | 58 | | |||
59 | /** Email types. */ | ||||
60 | enum TypeFlag { | ||||
61 | Unknown = 0, /**< No or unknown email type is set. */ | ||||
62 | Home = 1, /**< Personal email. */ | ||||
63 | Work = 2, /**< Work email. */ | ||||
64 | Other = 4, /**< Other email. */ | ||||
65 | Preferred = 8 /**< Preferred email address. */ | ||||
66 | }; | ||||
67 | | ||||
68 | Q_DECLARE_FLAGS(Type, TypeFlag) | ||||
69 | Q_FLAG(Type) | ||||
70 | | ||||
57 | void setEmail(const QString &mail); | 71 | void setEmail(const QString &mail); | ||
58 | Q_REQUIRED_RESULT QString mail() const; | 72 | Q_REQUIRED_RESULT QString mail() const; | ||
59 | 73 | | |||
60 | Q_REQUIRED_RESULT bool isValid() const; | 74 | Q_REQUIRED_RESULT bool isValid() const; | ||
61 | 75 | | |||
76 | /** | ||||
77 | * Returns the type of the email. | ||||
78 | * @since 5.12 | ||||
79 | */ | ||||
80 | Type type() const; | ||||
81 | /** | ||||
82 | * Sets the email type. | ||||
83 | * @since 5.12 | ||||
84 | */ | ||||
85 | void setType(Type type); | ||||
86 | | ||||
87 | /** | ||||
88 | * Returns whether this is the preferred email address. | ||||
89 | * @since 5.12 | ||||
90 | */ | ||||
91 | bool isPreferred() const; | ||||
92 | | ||||
62 | void setParameters(const QMap<QString, QStringList> ¶ms); | 93 | void setParameters(const QMap<QString, QStringList> ¶ms); | ||
63 | Q_REQUIRED_RESULT QMap<QString, QStringList> parameters() const; | 94 | Q_REQUIRED_RESULT QMap<QString, QStringList> parameters() const; | ||
64 | 95 | | |||
65 | Q_REQUIRED_RESULT bool operator==(const Email &other) const; | 96 | Q_REQUIRED_RESULT bool operator==(const Email &other) const; | ||
66 | Q_REQUIRED_RESULT bool operator!=(const Email &other) const; | 97 | Q_REQUIRED_RESULT bool operator!=(const Email &other) const; | ||
67 | 98 | | |||
68 | Email &operator=(const Email &other); | 99 | Email &operator=(const Email &other); | ||
69 | 100 | | |||
70 | Q_REQUIRED_RESULT QString toString() const; | 101 | Q_REQUIRED_RESULT QString toString() const; | ||
71 | private: | 102 | private: | ||
72 | class Private; | 103 | class Private; | ||
73 | QSharedDataPointer<Private> d; | 104 | QSharedDataPointer<Private> d; | ||
74 | }; | 105 | }; | ||
75 | 106 | | |||
107 | Q_DECLARE_OPERATORS_FOR_FLAGS(Email::Type) | ||||
108 | | ||||
76 | KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const Email &object); | 109 | KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const Email &object); | ||
77 | 110 | | |||
78 | KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, Email &object); | 111 | KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, Email &object); | ||
79 | } | 112 | } | ||
80 | Q_DECLARE_METATYPE(KContacts::Email) | 113 | Q_DECLARE_METATYPE(KContacts::Email) | ||
81 | Q_DECLARE_TYPEINFO(KContacts::Email, Q_MOVABLE_TYPE); | 114 | Q_DECLARE_TYPEINFO(KContacts::Email, Q_MOVABLE_TYPE); | ||
82 | #endif // EMAIL_H | 115 | #endif // EMAIL_H |