-rw-r--r-- | kabc/converter/opie/opieconverter.cpp | 13 |
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 | |||
@@ -171,65 +171,68 @@ bool OpieConverter::opieToAddressee( const OContact &contact, Addressee &addr ) | |||
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 | // } |
@@ -290,59 +293,63 @@ bool OpieConverter::addresseeToOpie( const Addressee &addr, OContact &contact ) | |||
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 | } |