summaryrefslogtreecommitdiffabout
path: root/kabc
authorulf69 <ulf69>2004-07-13 15:00:05 (UTC)
committer ulf69 <ulf69>2004-07-13 15:00:05 (UTC)
commit65848bf858dae95799ec8ed883c23faa48ff8566 (patch) (unidiff)
tree74835d0d68caa5570b344b8494281786d00e57d5 /kabc
parenteb1ab908047072aa4fb224ab7da6e147d4dcf1e0 (diff)
downloadkdepimpi-65848bf858dae95799ec8ed883c23faa48ff8566.zip
kdepimpi-65848bf858dae95799ec8ed883c23faa48ff8566.tar.gz
kdepimpi-65848bf858dae95799ec8ed883c23faa48ff8566.tar.bz2
changed output of gender field. Now it can have the values "male", "female" or ""
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/converter/opie/opieconverter.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/kabc/converter/opie/opieconverter.cpp b/kabc/converter/opie/opieconverter.cpp
index 0b6a55e..46e14dd 100644
--- a/kabc/converter/opie/opieconverter.cpp
+++ b/kabc/converter/opie/opieconverter.cpp
@@ -1,348 +1,355 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28//US 28//US
29#include "kglobal.h" 29#include "kglobal.h"
30 30
31 31
32#include "opieconverter.h" 32#include "opieconverter.h"
33 33
34#include <qpe/categories.h> 34#include <qpe/categories.h>
35#include <qpe/categoryselect.h> 35#include <qpe/categoryselect.h>
36 36
37 37
38using namespace KABC; 38using namespace KABC;
39 39
40OpieConverter::OpieConverter() : catDB(0) 40OpieConverter::OpieConverter() : catDB(0)
41{ 41{
42} 42}
43 43
44OpieConverter::~OpieConverter() 44OpieConverter::~OpieConverter()
45{ 45{
46 deinit(); 46 deinit();
47} 47}
48 48
49bool OpieConverter::init() 49bool OpieConverter::init()
50{ 50{
51 catDB = new Categories(); 51 catDB = new Categories();
52 if (catDB) 52 if (catDB)
53 { 53 {
54 catDB->load( categoryFileName() ); 54 catDB->load( categoryFileName() );
55 return true; 55 return true;
56 } 56 }
57 else 57 else
58 { 58 {
59 return false; 59 return false;
60 } 60 }
61 61
62} 62}
63 63
64void OpieConverter::deinit() 64void OpieConverter::deinit()
65{ 65{
66 if (catDB) 66 if (catDB)
67 { 67 {
68 delete catDB; 68 delete catDB;
69 catDB = 0; 69 catDB = 0;
70 } 70 }
71} 71}
72 72
73bool OpieConverter::opieToAddressee( const OContact &contact, Addressee &addr ) 73bool OpieConverter::opieToAddressee( const OContact &contact, Addressee &addr )
74{ 74{
75 // name 75 // name
76 addr.setFormattedName(contact.fileAs()); 76 addr.setFormattedName(contact.fileAs());
77 addr.setFamilyName( contact.lastName() ); 77 addr.setFamilyName( contact.lastName() );
78 addr.setGivenName( contact.firstName() ); 78 addr.setGivenName( contact.firstName() );
79 addr.setAdditionalName( contact.middleName() ); 79 addr.setAdditionalName( contact.middleName() );
80 addr.setPrefix( contact.title() ); 80 addr.setPrefix( contact.title() );
81 addr.setSuffix( contact.suffix() ); 81 addr.setSuffix( contact.suffix() );
82 82
83 83
84 // email 84 // email
85 QStringList emails = contact.emailList(); 85 QStringList emails = contact.emailList();
86 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { 86 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
87 addr.insertEmail( *it, ((*it) == contact.defaultEmail()) ); 87 addr.insertEmail( *it, ((*it) == contact.defaultEmail()) );
88 } 88 }
89 89
90 if (!contact.defaultEmail().isEmpty()) 90 if (!contact.defaultEmail().isEmpty())
91 addr.insertEmail(contact.defaultEmail(), true); 91 addr.insertEmail(contact.defaultEmail(), true);
92 92
93 // home 93 // home
94 if ((!contact.homeStreet().isEmpty()) || 94 if ((!contact.homeStreet().isEmpty()) ||
95 (!contact.homeCity().isEmpty()) || 95 (!contact.homeCity().isEmpty()) ||
96 (!contact.homeState().isEmpty()) || 96 (!contact.homeState().isEmpty()) ||
97 (!contact.homeZip().isEmpty()) || 97 (!contact.homeZip().isEmpty()) ||
98 (!contact.homeCountry().isEmpty())) 98 (!contact.homeCountry().isEmpty()))
99 { 99 {
100 Address homeaddress; 100 Address homeaddress;
101 homeaddress.setType(Address::Home); 101 homeaddress.setType(Address::Home);
102//US homeaddress.setPostOfficeBox( "" ); 102//US homeaddress.setPostOfficeBox( "" );
103//US homeaddress.setExtended( "" ); 103//US homeaddress.setExtended( "" );
104 homeaddress.setStreet( contact.homeStreet() ); 104 homeaddress.setStreet( contact.homeStreet() );
105 homeaddress.setLocality( contact.homeCity() ); 105 homeaddress.setLocality( contact.homeCity() );
106 homeaddress.setRegion( contact.homeState() ); 106 homeaddress.setRegion( contact.homeState() );
107 homeaddress.setPostalCode( contact.homeZip() ); 107 homeaddress.setPostalCode( contact.homeZip() );
108 homeaddress.setCountry( contact.homeCountry() ); 108 homeaddress.setCountry( contact.homeCountry() );
109 109
110 addr.insertAddress( homeaddress ); 110 addr.insertAddress( homeaddress );
111 } 111 }
112 112
113 if (!contact.homePhone().isEmpty()) 113 if (!contact.homePhone().isEmpty())
114 { 114 {
115 PhoneNumber homephone; 115 PhoneNumber homephone;
116 homephone.setType( PhoneNumber::Home ); 116 homephone.setType( PhoneNumber::Home );
117 homephone.setNumber( contact.homePhone() ); 117 homephone.setNumber( contact.homePhone() );
118 addr.insertPhoneNumber( homephone ); 118 addr.insertPhoneNumber( homephone );
119 } 119 }
120 120
121 if (!contact.homeFax().isEmpty()) 121 if (!contact.homeFax().isEmpty())
122 { 122 {
123 PhoneNumber homefax; 123 PhoneNumber homefax;
124 homefax.setType( PhoneNumber::Home | PhoneNumber::Fax ); 124 homefax.setType( PhoneNumber::Home | PhoneNumber::Fax );
125 homefax.setNumber( contact.homeFax() ); 125 homefax.setNumber( contact.homeFax() );
126 addr.insertPhoneNumber( homefax ); 126 addr.insertPhoneNumber( homefax );
127 } 127 }
128 128
129 if (!contact.homeMobile().isEmpty()) 129 if (!contact.homeMobile().isEmpty())
130 { 130 {
131 PhoneNumber homemobile; 131 PhoneNumber homemobile;
132 homemobile.setType( PhoneNumber::Home | PhoneNumber::Cell ); 132 homemobile.setType( PhoneNumber::Home | PhoneNumber::Cell );
133 homemobile.setNumber( contact.homeMobile() ); 133 homemobile.setNumber( contact.homeMobile() );
134 addr.insertPhoneNumber( homemobile ); 134 addr.insertPhoneNumber( homemobile );
135 } 135 }
136 136
137 addr.setUrl( contact.homeWebpage() ); 137 addr.setUrl( contact.homeWebpage() );
138 138
139 139
140 // business 140 // business
141 if ((!contact.businessStreet().isEmpty()) || 141 if ((!contact.businessStreet().isEmpty()) ||
142 (!contact.businessCity().isEmpty()) || 142 (!contact.businessCity().isEmpty()) ||
143 (!contact.businessState().isEmpty()) || 143 (!contact.businessState().isEmpty()) ||
144 (!contact.businessZip().isEmpty()) || 144 (!contact.businessZip().isEmpty()) ||
145 (!contact.businessCountry().isEmpty())) 145 (!contact.businessCountry().isEmpty()))
146 { 146 {
147 Address businessaddress; 147 Address businessaddress;
148 businessaddress.setType(Address::Work); 148 businessaddress.setType(Address::Work);
149//US businessaddress.setPostOfficeBox( "" ); 149//US businessaddress.setPostOfficeBox( "" );
150//US businessaddress.setExtended( "" ); 150//US businessaddress.setExtended( "" );
151 businessaddress.setStreet( contact.businessStreet() ); 151 businessaddress.setStreet( contact.businessStreet() );
152 businessaddress.setLocality( contact.businessCity() ); 152 businessaddress.setLocality( contact.businessCity() );
153 businessaddress.setRegion( contact.businessState() ); 153 businessaddress.setRegion( contact.businessState() );
154 businessaddress.setPostalCode( contact.businessZip() ); 154 businessaddress.setPostalCode( contact.businessZip() );
155 businessaddress.setCountry( contact.businessCountry() ); 155 businessaddress.setCountry( contact.businessCountry() );
156 156
157 addr.insertAddress( businessaddress ); 157 addr.insertAddress( businessaddress );
158 } 158 }
159 159
160 160
161 if (!contact.businessPhone().isEmpty()) 161 if (!contact.businessPhone().isEmpty())
162 { 162 {
163 PhoneNumber businessphone; 163 PhoneNumber businessphone;
164 businessphone.setType( PhoneNumber::Work ); 164 businessphone.setType( PhoneNumber::Work );
165 businessphone.setNumber( contact.businessPhone() ); 165 businessphone.setNumber( contact.businessPhone() );
166 addr.insertPhoneNumber( businessphone ); 166 addr.insertPhoneNumber( businessphone );
167 } 167 }
168 168
169 if (!contact.businessFax().isEmpty()) 169 if (!contact.businessFax().isEmpty())
170 { 170 {
171 PhoneNumber businessfax; 171 PhoneNumber businessfax;
172 businessfax.setType( PhoneNumber::Work | PhoneNumber::Fax ); 172 businessfax.setType( PhoneNumber::Work | PhoneNumber::Fax );
173 businessfax.setNumber( contact.businessFax() ); 173 businessfax.setNumber( contact.businessFax() );
174 addr.insertPhoneNumber( businessfax ); 174 addr.insertPhoneNumber( businessfax );
175 } 175 }
176 176
177 if (!contact.businessMobile().isEmpty()) 177 if (!contact.businessMobile().isEmpty())
178 { 178 {
179 PhoneNumber businessmobile; 179 PhoneNumber businessmobile;
180 businessmobile.setType( PhoneNumber::Work | PhoneNumber::Cell ); 180 businessmobile.setType( PhoneNumber::Work | PhoneNumber::Cell );
181 businessmobile.setNumber( contact.businessMobile() ); 181 businessmobile.setNumber( contact.businessMobile() );
182 addr.insertPhoneNumber( businessmobile ); 182 addr.insertPhoneNumber( businessmobile );
183 } 183 }
184 184
185 if (!contact.businessPager().isEmpty()) 185 if (!contact.businessPager().isEmpty())
186 { 186 {
187 PhoneNumber businesspager; 187 PhoneNumber businesspager;
188 businesspager.setType( PhoneNumber::Work | PhoneNumber::Pager ); 188 businesspager.setType( PhoneNumber::Work | PhoneNumber::Pager );
189 businesspager.setNumber( contact.businessPager() ); 189 businesspager.setNumber( contact.businessPager() );
190 addr.insertPhoneNumber( businesspager ); 190 addr.insertPhoneNumber( businesspager );
191 } 191 }
192 192
193 addr.setRole( contact.jobTitle() ); //? 193 addr.setRole( contact.jobTitle() ); //?
194 addr.setOrganization( contact.company() ); 194 addr.setOrganization( contact.company() );
195 addr.insertCustom( "KADDRESSBOOK", "X-Profession", contact.profession() ); 195 addr.insertCustom( "KADDRESSBOOK", "X-Profession", contact.profession() );
196 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", contact.assistant() ); 196 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", contact.assistant() );
197 addr.insertCustom( "KADDRESSBOOK", "X-Department", contact.department() ); 197 addr.insertCustom( "KADDRESSBOOK", "X-Department", contact.department() );
198 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", contact.manager() ); 198 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", contact.manager() );
199 addr.insertCustom( "KADDRESSBOOK", "X-Office", contact.office() ); 199 addr.insertCustom( "KADDRESSBOOK", "X-Office", contact.office() );
200 200
201 //personal 201 //personal
202 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() ); 202 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() );
203 addr.insertCustom( "KADDRESSBOOK", "X-Gender", contact.gender() ); 203 if (contact.gender() == 1)
204 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female" );
205 else if (contact.gender() == 2)
206 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male" );
204 207
205 if (contact.anniversary().isValid()) { 208 if (contact.anniversary().isValid()) {
206 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate); 209 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate);
207//US 210//US
208 qDebug("OpieConverter::opieToAddressee found:%s", dt.latin1()); 211 qDebug("OpieConverter::opieToAddressee found:%s", dt.latin1());
209 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); 212 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
210 } 213 }
211 214
212 addr.insertCustom( "KADDRESSBOOK", "X-Children", contact.children() ); 215 addr.insertCustom( "KADDRESSBOOK", "X-Children", contact.children() );
213 if (contact.birthday().isValid()) 216 if (contact.birthday().isValid())
214 addr.setBirthday( contact.birthday() ); 217 addr.setBirthday( contact.birthday() );
215 218
216 addr.setNickName( contact.nickname() ); 219 addr.setNickName( contact.nickname() );
217 220
218 // others 221 // others
219 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available. 222 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available.
220 QString notes = contact.notes(); 223 QString notes = contact.notes();
221 notes += "\nBusinessWebPage: " + contact.businessWebpage() + "\n"; 224 notes += "\nBusinessWebPage: " + contact.businessWebpage() + "\n";
222 225
223 addr.setNote( contact.notes() ); 226 addr.setNote( contact.notes() );
224 227
225 228
226 229
227//US QString groups() const { return find( Qtopia::Groups ); } 230//US QString groups() const { return find( Qtopia::Groups ); }
228//US QStringList groupList() const; 231//US QStringList groupList() const;
229 232
230 233
231 QStringList cats = contact.categoryNames("Contacts"); 234 QStringList cats = contact.categoryNames("Contacts");
232 addr.setCategories( cats ); 235 addr.setCategories( cats );
233// for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) { 236// for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) {
234// qDebug("Cat: %s", (*it).latin1()); 237// qDebug("Cat: %s", (*it).latin1());
235// } 238// }
236 239
237 240
238 return true; 241 return true;
239} 242}
240 243
241bool OpieConverter::addresseeToOpie( const Addressee &addr, OContact &contact ) 244bool OpieConverter::addresseeToOpie( const Addressee &addr, OContact &contact )
242{ 245{
243 // name 246 // name
244 contact.setLastName(addr.familyName()); 247 contact.setLastName(addr.familyName());
245 contact.setFirstName(addr.givenName()); 248 contact.setFirstName(addr.givenName());
246 contact.setMiddleName(addr.additionalName()); 249 contact.setMiddleName(addr.additionalName());
247 contact.setTitle(addr.prefix()); 250 contact.setTitle(addr.prefix());
248 contact.setSuffix(addr.suffix()); 251 contact.setSuffix(addr.suffix());
249 contact.setFileAs(); 252 contact.setFileAs();
250 253
251 254
252 // email 255 // email
253 QStringList emails = addr.emails(); 256 QStringList emails = addr.emails();
254 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { 257 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
255 contact.insertEmail(*it); 258 contact.insertEmail(*it);
256 } 259 }
257 contact.setDefaultEmail( addr.preferredEmail() ); 260 contact.setDefaultEmail( addr.preferredEmail() );
258 261
259 262
260 // home 263 // home
261 const Address homeaddress = addr.address(Address::Home); 264 const Address homeaddress = addr.address(Address::Home);
262 if (!homeaddress.isEmpty()) { 265 if (!homeaddress.isEmpty()) {
263 contact.setHomeStreet(homeaddress.street()); 266 contact.setHomeStreet(homeaddress.street());
264 contact.setHomeCity(homeaddress.locality()); 267 contact.setHomeCity(homeaddress.locality());
265 contact.setHomeState(homeaddress.region()); 268 contact.setHomeState(homeaddress.region());
266 contact.setHomeZip(homeaddress.postalCode()); 269 contact.setHomeZip(homeaddress.postalCode());
267 contact.setHomeCountry(homeaddress.country()); 270 contact.setHomeCountry(homeaddress.country());
268 } 271 }
269 272
270 PhoneNumber homephone = addr.phoneNumber( PhoneNumber::Home ); 273 PhoneNumber homephone = addr.phoneNumber( PhoneNumber::Home );
271 if (!homephone.number().isEmpty()) 274 if (!homephone.number().isEmpty())
272 contact.setHomePhone(homephone.number()); 275 contact.setHomePhone(homephone.number());
273 276
274 PhoneNumber homefax = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax ); 277 PhoneNumber homefax = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Fax );
275 if (!homefax.number().isEmpty()) 278 if (!homefax.number().isEmpty())
276 contact.setHomeFax(homefax.number()); 279 contact.setHomeFax(homefax.number());
277 280
278 PhoneNumber homemobile = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Cell ); 281 PhoneNumber homemobile = addr.phoneNumber( PhoneNumber::Home | PhoneNumber::Cell );
279 if (!homemobile.number().isEmpty()) 282 if (!homemobile.number().isEmpty())
280 contact.setHomeMobile(homemobile.number()); 283 contact.setHomeMobile(homemobile.number());
281 284
282 contact.setHomeWebpage(addr.url().url()); 285 contact.setHomeWebpage(addr.url().url());
283 286
284 287
285 // business 288 // business
286 const Address businessaddress = addr.address(Address::Work); 289 const Address businessaddress = addr.address(Address::Work);
287 if (!businessaddress.isEmpty()) { 290 if (!businessaddress.isEmpty()) {
288 contact.setBusinessStreet(businessaddress.street()); 291 contact.setBusinessStreet(businessaddress.street());
289 contact.setBusinessCity(businessaddress.locality()); 292 contact.setBusinessCity(businessaddress.locality());
290 contact.setBusinessState(businessaddress.region()); 293 contact.setBusinessState(businessaddress.region());
291 contact.setBusinessZip(businessaddress.postalCode()); 294 contact.setBusinessZip(businessaddress.postalCode());
292 contact.setBusinessCountry(businessaddress.country()); 295 contact.setBusinessCountry(businessaddress.country());
293 } 296 }
294 297
295 PhoneNumber businessphone = addr.phoneNumber( PhoneNumber::Work ); 298 PhoneNumber businessphone = addr.phoneNumber( PhoneNumber::Work );
296 if (!businessphone.number().isEmpty()) 299 if (!businessphone.number().isEmpty())
297 contact.setBusinessPhone(businessphone.number()); 300 contact.setBusinessPhone(businessphone.number());
298 301
299 PhoneNumber businessfax = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax ); 302 PhoneNumber businessfax = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Fax );
300 if (!businessfax.number().isEmpty()) 303 if (!businessfax.number().isEmpty())
301 contact.setBusinessFax(businessfax.number()); 304 contact.setBusinessFax(businessfax.number());
302 305
303 PhoneNumber businessmobile = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Cell ); 306 PhoneNumber businessmobile = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Cell );
304 if (!businessmobile.number().isEmpty()) 307 if (!businessmobile.number().isEmpty())
305 contact.setBusinessMobile(businessmobile.number()); 308 contact.setBusinessMobile(businessmobile.number());
306 309
307 PhoneNumber businesspager = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Pager ); 310 PhoneNumber businesspager = addr.phoneNumber( PhoneNumber::Work | PhoneNumber::Pager );
308 if (!businesspager.number().isEmpty()) 311 if (!businesspager.number().isEmpty())
309 contact.setBusinessPager(businesspager.number()); 312 contact.setBusinessPager(businesspager.number());
310 313
311 contact.setJobTitle(addr.role()); 314 contact.setJobTitle(addr.role());
312 contact.setCompany(addr.organization()); 315 contact.setCompany(addr.organization());
313 316
314 contact.setProfession(addr.custom( "KADDRESSBOOK", "X-Profession" )); 317 contact.setProfession(addr.custom( "KADDRESSBOOK", "X-Profession" ));
315 contact.setAssistant(addr.custom( "KADDRESSBOOK", "X-AssistantsName" )); 318 contact.setAssistant(addr.custom( "KADDRESSBOOK", "X-AssistantsName" ));
316 contact.setDepartment(addr.custom( "KADDRESSBOOK", "X-Department" )); 319 contact.setDepartment(addr.custom( "KADDRESSBOOK", "X-Department" ));
317 contact.setManager(addr.custom( "KADDRESSBOOK", "X-ManagersName" )); 320 contact.setManager(addr.custom( "KADDRESSBOOK", "X-ManagersName" ));
318 contact.setOffice(addr.custom( "KADDRESSBOOK", "X-Office" )); 321 contact.setOffice(addr.custom( "KADDRESSBOOK", "X-Office" ));
319 322
320 //personal 323 //personal
321 contact.setSpouse(addr.custom( "KADDRESSBOOK", "X-Spouse" )); 324 contact.setSpouse(addr.custom( "KADDRESSBOOK", "X-Spouse" ));
322 contact.setGender(addr.custom( "KADDRESSBOOK", "X-Gender" )); 325 QString gend = addr.custom( "KADDRESSBOOK", "X-Gender" );
323 326 if (gend == "female")
327 contact.setGender("1");
328 else if (gend == "male")
329 contact.setGender("2");
330
324 QDate dt = KGlobal::locale()->readDate( 331 QDate dt = KGlobal::locale()->readDate(
325 addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate 332 addr.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate
326 contact.setAnniversary( dt ); 333 contact.setAnniversary( dt );
327 334
328 contact.setChildren(addr.custom( "KADDRESSBOOK", "X-Children" )); 335 contact.setChildren(addr.custom( "KADDRESSBOOK", "X-Children" ));
329 336
330 contact.setBirthday(addr.birthday().date()); 337 contact.setBirthday(addr.birthday().date());
331 contact.setNickname(addr.nickName()); 338 contact.setNickname(addr.nickName());
332 339
333 // other 340 // other
334 contact.setNotes(addr.note()); 341 contact.setNotes(addr.note());
335 342
336//US QString groups() const { return find( Qtopia::Groups ); } 343//US QString groups() const { return find( Qtopia::Groups ); }
337//US QStringList groupList() const; 344//US QStringList groupList() const;
338 345
339 QStringList cats = addr.categories(); 346 QStringList cats = addr.categories();
340 347
341 QArray<int> iar; 348 QArray<int> iar;
342 if ( !cats.isEmpty() ) { 349 if ( !cats.isEmpty() ) {
343 QArray<int> iar = catDB->ids("contact", cats); 350 QArray<int> iar = catDB->ids("contact", cats);
344 contact.setCategories(iar); 351 contact.setCategories(iar);
345 } 352 }
346 353
347 return true; 354 return true;
348} 355}