-rw-r--r-- | libopie/pim/ocontact.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libopie/pim/ocontact.h b/libopie/pim/ocontact.h index 81ac1c1..9643e8b 100644 --- a/libopie/pim/ocontact.h +++ b/libopie/pim/ocontact.h | |||
@@ -14,62 +14,77 @@ | |||
14 | ** | 14 | ** |
15 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 15 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
16 | ** | 16 | ** |
17 | ** Contact info@trolltech.com if any conditions of this licensing are | 17 | ** Contact info@trolltech.com if any conditions of this licensing are |
18 | ** not clear to you. | 18 | ** not clear to you. |
19 | ** | 19 | ** |
20 | **********************************************************************/ | 20 | **********************************************************************/ |
21 | 21 | ||
22 | #ifndef __OCONTACT_H__ | 22 | #ifndef __OCONTACT_H__ |
23 | #define __OCONTACT_H__ | 23 | #define __OCONTACT_H__ |
24 | 24 | ||
25 | #include <opie/opimrecord.h> | 25 | #include <opie/opimrecord.h> |
26 | #include <qpe/recordfields.h> | 26 | #include <qpe/recordfields.h> |
27 | 27 | ||
28 | #include <qdatetime.h> | 28 | #include <qdatetime.h> |
29 | #include <qstringlist.h> | 29 | #include <qstringlist.h> |
30 | 30 | ||
31 | #if defined(QPC_TEMPLATEDLL) | 31 | #if defined(QPC_TEMPLATEDLL) |
32 | // MOC_SKIP_BEGIN | 32 | // MOC_SKIP_BEGIN |
33 | QPC_TEMPLATEEXTERN template class QPC_EXPORT QMap<int, QString>; | 33 | QPC_TEMPLATEEXTERN template class QPC_EXPORT QMap<int, QString>; |
34 | // MOC_SKIP_END | 34 | // MOC_SKIP_END |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | class ContactPrivate; // Wozu ist das gut und wo ist das decrariert ? (se) | 37 | class ContactPrivate; // Wozu ist das gut und wo ist das decrariert ? (se) |
38 | /* Stefan das ist eine forward declaration | ||
39 | * dann machst du in der private section | ||
40 | * ContactPrivate *d; | ||
41 | * | ||
42 | * und wenn du bei Opie1.1 was hinzufuegen moechtest | ||
43 | * packst du es in ContactPrivate damit Opie | ||
44 | * binaer kompatibel bleibt | ||
45 | * -zecke | ||
46 | */ | ||
38 | class QPC_EXPORT OContact : public OPimRecord | 47 | class QPC_EXPORT OContact : public OPimRecord |
39 | { | 48 | { |
40 | friend class DataSet; | 49 | friend class DataSet; |
41 | public: | 50 | public: |
42 | OContact(); | 51 | OContact(); |
43 | OContact( const QMap<int, QString> &fromMap ); | 52 | OContact( const QMap<int, QString> &fromMap ); |
44 | virtual ~OContact(); | 53 | virtual ~OContact(); |
45 | 54 | ||
55 | /* VCARD stuff should vanish! -zecke */ | ||
46 | static void writeVCard( const QString &filename, const QValueList<OContact> &contacts); | 56 | static void writeVCard( const QString &filename, const QValueList<OContact> &contacts); |
47 | static void writeVCard( const QString &filename, const OContact &c ); | 57 | static void writeVCard( const QString &filename, const OContact &c ); |
48 | static QValueList<OContact> readVCard( const QString &filename ); | 58 | static QValueList<OContact> readVCard( const QString &filename ); |
49 | 59 | ||
50 | enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE }; | 60 | enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE }; |
51 | 61 | ||
62 | /* | ||
63 | * do we need to inline them | ||
64 | * if yes do we need to inline them this way? | ||
65 | * -zecke | ||
66 | */ | ||
52 | void setTitle( const QString &v ) { replace( Qtopia::Title, v ); } | 67 | void setTitle( const QString &v ) { replace( Qtopia::Title, v ); } |
53 | void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); } | 68 | void setFirstName( const QString &v ) { replace( Qtopia::FirstName, v ); } |
54 | void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); } | 69 | void setMiddleName( const QString &v ) { replace( Qtopia::MiddleName, v ); } |
55 | void setLastName( const QString &v ) { replace( Qtopia::LastName, v ); } | 70 | void setLastName( const QString &v ) { replace( Qtopia::LastName, v ); } |
56 | void setSuffix( const QString &v ) { replace( Qtopia::Suffix, v ); } | 71 | void setSuffix( const QString &v ) { replace( Qtopia::Suffix, v ); } |
57 | void setFileAs( const QString &v ) { replace( Qtopia::FileAs, v ); } | 72 | void setFileAs( const QString &v ) { replace( Qtopia::FileAs, v ); } |
58 | void setFileAs(); | 73 | void setFileAs(); |
59 | 74 | ||
60 | // default email address | 75 | // default email address |
61 | void setDefaultEmail( const QString &v ); | 76 | void setDefaultEmail( const QString &v ); |
62 | // inserts email to list and ensure's doesn't already exist | 77 | // inserts email to list and ensure's doesn't already exist |
63 | void insertEmail( const QString &v ); | 78 | void insertEmail( const QString &v ); |
64 | void removeEmail( const QString &v ); | 79 | void removeEmail( const QString &v ); |
65 | void clearEmails(); | 80 | void clearEmails(); |
66 | void insertEmails( const QStringList &v ); | 81 | void insertEmails( const QStringList &v ); |
67 | 82 | ||
68 | // home | 83 | // home |
69 | void setHomeStreet( const QString &v ) { replace( Qtopia::HomeStreet, v ); } | 84 | void setHomeStreet( const QString &v ) { replace( Qtopia::HomeStreet, v ); } |
70 | void setHomeCity( const QString &v ) { replace( Qtopia::HomeCity, v ); } | 85 | void setHomeCity( const QString &v ) { replace( Qtopia::HomeCity, v ); } |
71 | void setHomeState( const QString &v ) { replace( Qtopia::HomeState, v ); } | 86 | void setHomeState( const QString &v ) { replace( Qtopia::HomeState, v ); } |
72 | void setHomeZip( const QString &v ) { replace( Qtopia::HomeZip, v ); } | 87 | void setHomeZip( const QString &v ) { replace( Qtopia::HomeZip, v ); } |
73 | void setHomeCountry( const QString &v ) { replace( Qtopia::HomeCountry, v ); } | 88 | void setHomeCountry( const QString &v ) { replace( Qtopia::HomeCountry, v ); } |
74 | void setHomePhone( const QString &v ) { replace( Qtopia::HomePhone, v ); } | 89 | void setHomePhone( const QString &v ) { replace( Qtopia::HomePhone, v ); } |
75 | void setHomeFax( const QString &v ) { replace( Qtopia::HomeFax, v ); } | 90 | void setHomeFax( const QString &v ) { replace( Qtopia::HomeFax, v ); } |
@@ -106,48 +121,53 @@ public: | |||
106 | // other | 121 | // other |
107 | void setNotes( const QString &v ) { replace( Qtopia::Notes, v); } | 122 | void setNotes( const QString &v ) { replace( Qtopia::Notes, v); } |
108 | 123 | ||
109 | bool match( const QString ®exp ) const; | 124 | bool match( const QString ®exp ) const; |
110 | bool match( const QRegExp ®exp ) const; | 125 | bool match( const QRegExp ®exp ) const; |
111 | 126 | ||
112 | // // custom | 127 | // // custom |
113 | // void setCustomField( const QString &key, const QString &v ) | 128 | // void setCustomField( const QString &key, const QString &v ) |
114 | // { replace(Custom- + key, v ); } | 129 | // { replace(Custom- + key, v ); } |
115 | 130 | ||
116 | // name | 131 | // name |
117 | QString fullName() const; | 132 | QString fullName() const; |
118 | QString title() const { return find( Qtopia::Title ); } | 133 | QString title() const { return find( Qtopia::Title ); } |
119 | QString firstName() const { return find( Qtopia::FirstName ); } | 134 | QString firstName() const { return find( Qtopia::FirstName ); } |
120 | QString middleName() const { return find( Qtopia::MiddleName ); } | 135 | QString middleName() const { return find( Qtopia::MiddleName ); } |
121 | QString lastName() const { return find( Qtopia::LastName ); } | 136 | QString lastName() const { return find( Qtopia::LastName ); } |
122 | QString suffix() const { return find( Qtopia::Suffix ); } | 137 | QString suffix() const { return find( Qtopia::Suffix ); } |
123 | QString fileAs() const { return find( Qtopia::FileAs ); } | 138 | QString fileAs() const { return find( Qtopia::FileAs ); } |
124 | 139 | ||
125 | 140 | ||
126 | QString defaultEmail() const { return find( Qtopia::DefaultEmail ); } | 141 | QString defaultEmail() const { return find( Qtopia::DefaultEmail ); } |
127 | QStringList emailList() const; | 142 | QStringList emailList() const; |
128 | 143 | ||
129 | // home | 144 | // home |
145 | /* | ||
146 | * OPimAddress address(enum Location)const; | ||
147 | * would be some how nicer... | ||
148 | * -zecke | ||
149 | */ | ||
130 | QString homeStreet() const { return find( Qtopia::HomeStreet ); } | 150 | QString homeStreet() const { return find( Qtopia::HomeStreet ); } |
131 | QString homeCity() const { return find( Qtopia::HomeCity ); } | 151 | QString homeCity() const { return find( Qtopia::HomeCity ); } |
132 | QString homeState() const { return find( Qtopia::HomeState ); } | 152 | QString homeState() const { return find( Qtopia::HomeState ); } |
133 | QString homeZip() const { return find( Qtopia::HomeZip ); } | 153 | QString homeZip() const { return find( Qtopia::HomeZip ); } |
134 | QString homeCountry() const { return find( Qtopia::HomeCountry ); } | 154 | QString homeCountry() const { return find( Qtopia::HomeCountry ); } |
135 | QString homePhone() const { return find( Qtopia::HomePhone ); } | 155 | QString homePhone() const { return find( Qtopia::HomePhone ); } |
136 | QString homeFax() const { return find( Qtopia::HomeFax ); } | 156 | QString homeFax() const { return find( Qtopia::HomeFax ); } |
137 | QString homeMobile() const { return find( Qtopia::HomeMobile ); } | 157 | QString homeMobile() const { return find( Qtopia::HomeMobile ); } |
138 | QString homeWebpage() const { return find( Qtopia::HomeWebPage ); } | 158 | QString homeWebpage() const { return find( Qtopia::HomeWebPage ); } |
139 | /** Multi line string containing all non-empty address info in the form | 159 | /** Multi line string containing all non-empty address info in the form |
140 | * Street | 160 | * Street |
141 | * City, State Zip | 161 | * City, State Zip |
142 | * Country | 162 | * Country |
143 | */ | 163 | */ |
144 | QString displayHomeAddress() const; | 164 | QString displayHomeAddress() const; |
145 | 165 | ||
146 | // business | 166 | // business |
147 | QString company() const { return find( Qtopia::Company ); } | 167 | QString company() const { return find( Qtopia::Company ); } |
148 | QString businessStreet() const { return find( Qtopia::BusinessStreet ); } | 168 | QString businessStreet() const { return find( Qtopia::BusinessStreet ); } |
149 | QString businessCity() const { return find( Qtopia::BusinessCity ); } | 169 | QString businessCity() const { return find( Qtopia::BusinessCity ); } |
150 | QString businessState() const { return find( Qtopia::BusinessState ); } | 170 | QString businessState() const { return find( Qtopia::BusinessState ); } |
151 | QString businessZip() const { return find( Qtopia::BusinessZip ); } | 171 | QString businessZip() const { return find( Qtopia::BusinessZip ); } |
152 | QString businessCountry() const { return find( Qtopia::BusinessCountry ); } | 172 | QString businessCountry() const { return find( Qtopia::BusinessCountry ); } |
153 | QString businessWebpage() const { return find( Qtopia::BusinessWebPage ); } | 173 | QString businessWebpage() const { return find( Qtopia::BusinessWebPage ); } |
@@ -175,64 +195,70 @@ public: | |||
175 | QDate anniversary() const; | 195 | QDate anniversary() const; |
176 | QString nickname() const { return find( Qtopia::Nickname ); } | 196 | QString nickname() const { return find( Qtopia::Nickname ); } |
177 | QString children() const { return find( Qtopia::Children ); } | 197 | QString children() const { return find( Qtopia::Children ); } |
178 | QStringList childrenList() const; | 198 | QStringList childrenList() const; |
179 | 199 | ||
180 | // other | 200 | // other |
181 | QString notes() const { return find( Qtopia::Notes ); } | 201 | QString notes() const { return find( Qtopia::Notes ); } |
182 | QString groups() const { return find( Qtopia::Groups ); } | 202 | QString groups() const { return find( Qtopia::Groups ); } |
183 | QStringList groupList() const; | 203 | QStringList groupList() const; |
184 | 204 | ||
185 | // // custom | 205 | // // custom |
186 | // const QString &customField( const QString &key ) | 206 | // const QString &customField( const QString &key ) |
187 | // { return find( Custom- + key ); } | 207 | // { return find( Custom- + key ); } |
188 | 208 | ||
189 | static QStringList fields(); | 209 | static QStringList fields(); |
190 | static QStringList trfields(); | 210 | static QStringList trfields(); |
191 | static QStringList untrfields(); | 211 | static QStringList untrfields(); |
192 | 212 | ||
193 | QString toRichText() const; | 213 | QString toRichText() const; |
194 | QMap<int, QString> toMap() const; | 214 | QMap<int, QString> toMap() const; |
195 | QString field( int key ) const { return find( key ); } | 215 | QString field( int key ) const { return find( key ); } |
196 | 216 | ||
197 | 217 | ||
198 | // journaling... | 218 | // journaling... |
219 | /* do we still need them? Stefan your backend takes care of these -zecke */ | ||
199 | void saveJournal( journal_action action, const QString &key = QString::null ); | 220 | void saveJournal( journal_action action, const QString &key = QString::null ); |
200 | void save( QString &buf ) const; | 221 | void save( QString &buf ) const; |
201 | 222 | ||
223 | /* we shouldn't inline this one -zecke */ | ||
202 | void setUid( int i ) | 224 | void setUid( int i ) |
203 | { OPimRecord::setUid(i); replace( Qtopia::AddressUid , QString::number(i)); } | 225 | { OPimRecord::setUid(i); replace( Qtopia::AddressUid , QString::number(i)); } |
204 | 226 | ||
205 | QString toShortText()const; | 227 | QString toShortText()const; |
206 | QString OContact::type()const; | 228 | QString OContact::type()const; |
207 | QMap<QString,QString> OContact::toExtraMap() const; | 229 | QMap<QString,QString> OContact::toExtraMap() const; |
208 | class QString OContact::recordField(int) const; | 230 | class QString OContact::recordField(int) const; |
209 | 231 | ||
210 | // Why private ? (eilers,se) | 232 | // Why private ? (eilers,se) |
211 | QString emailSeparator() const { return " "; } | 233 | QString emailSeparator() const { return " "; } |
212 | // the emails should be seperated by a comma | 234 | // the emails should be seperated by a comma |
213 | void setEmails( const QString &v ); | 235 | void setEmails( const QString &v ); |
214 | QString emails() const { return find( Qtopia::Emails ); } | 236 | QString emails() const { return find( Qtopia::Emails ); } |
215 | 237 | ||
216 | 238 | ||
217 | private: | 239 | private: |
240 | /* I do not like friends ;) | ||
241 | * besides that I think we do not need them | ||
242 | * anymore -zecke | ||
243 | */ | ||
218 | friend class AbEditor; | 244 | friend class AbEditor; |
219 | friend class AbTable; | 245 | friend class AbTable; |
220 | friend class AddressBookAccessPrivate; | 246 | friend class AddressBookAccessPrivate; |
221 | friend class XMLIO; | 247 | friend class XMLIO; |
222 | 248 | ||
223 | void insert( int key, const QString &value ); | 249 | void insert( int key, const QString &value ); |
224 | void replace( int key, const QString &value ); | 250 | void replace( int key, const QString &value ); |
225 | QString find( int key ) const; | 251 | QString find( int key ) const; |
226 | 252 | ||
227 | QString displayAddress( const QString &street, | 253 | QString displayAddress( const QString &street, |
228 | const QString &city, | 254 | const QString &city, |
229 | const QString &state, | 255 | const QString &state, |
230 | const QString &zip, | 256 | const QString &zip, |
231 | const QString &country ) const; | 257 | const QString &country ) const; |
232 | 258 | ||
233 | QMap<int, QString> mMap; | 259 | QMap<int, QString> mMap; |
234 | ContactPrivate *d; | 260 | ContactPrivate *d; |
235 | }; | 261 | }; |
236 | 262 | ||
237 | 263 | ||
238 | #endif | 264 | #endif |