summaryrefslogtreecommitdiffabout
path: root/kabc
authorulf69 <ulf69>2004-07-14 14:55:56 (UTC)
committer ulf69 <ulf69>2004-07-14 14:55:56 (UTC)
commitf2779e5e7742103ce848ab11e6b9fe3661587f0b (patch) (unidiff)
treef858743398b61aa21eca09abc6d85a34a7d3f436 /kabc
parentcf7175c9a6b96cd11fb7f3cba459f5223aa4aacb (diff)
downloadkdepimpi-f2779e5e7742103ce848ab11e6b9fe3661587f0b.zip
kdepimpi-f2779e5e7742103ce848ab11e6b9fe3661587f0b.tar.gz
kdepimpi-f2779e5e7742103ce848ab11e6b9fe3661587f0b.tar.bz2
added changes to support qtopia import/export and improved resource support
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/converter/opie/opieconverter.h4
-rw-r--r--kabc/converter/qtopia/qtopiaconverter.cpp19
-rw-r--r--kabc/converter/qtopia/qtopiaconverter.h4
3 files changed, 12 insertions, 15 deletions
diff --git a/kabc/converter/opie/opieconverter.h b/kabc/converter/opie/opieconverter.h
index c7e691f..d251a24 100644
--- a/kabc/converter/opie/opieconverter.h
+++ b/kabc/converter/opie/opieconverter.h
@@ -30,50 +30,50 @@ $Id$
30 30
31#include <qstring.h> 31#include <qstring.h>
32 32
33#include "addressee.h" 33#include "addressee.h"
34#include <opie/ocontact.h> 34#include <opie/ocontact.h>
35 35
36class Categories; 36class Categories;
37 37
38namespace KABC { 38namespace KABC {
39 39
40class OpieConverter 40class OpieConverter
41{ 41{
42public: 42public:
43 43
44 /** 44 /**
45 * Constructor. 45 * Constructor.
46 */ 46 */
47 OpieConverter(); 47 OpieConverter();
48 48
49 /** 49 /**
50 * Destructor. 50 * Destructor.
51 */ 51 */
52 virtual ~OpieConverter(); 52 virtual ~OpieConverter();
53 53
54 virtual bool init(); 54 bool init();
55 virtual void deinit(); 55 void deinit();
56 56
57 /** 57 /**
58 * Converts a vcard string to an addressee. 58 * Converts a vcard string to an addressee.
59 * 59 *
60 * @param contact The opie contact. 60 * @param contact The opie contact.
61 * @param addr The addressee. 61 * @param addr The addressee.
62 */ 62 */
63 bool opieToAddressee( const OContact &contact, Addressee &addr ); 63 bool opieToAddressee( const OContact &contact, Addressee &addr );
64 64
65 /** 65 /**
66 * Converts an addressee to a vcard string. 66 * Converts an addressee to a vcard string.
67 * 67 *
68 * @param addr The addressee. 68 * @param addr The addressee.
69 * @param contact The opie contact. 69 * @param contact The opie contact.
70 */ 70 */
71 bool addresseeToOpie( const Addressee &addr, OContact &contact ); 71 bool addresseeToOpie( const Addressee &addr, OContact &contact );
72 72
73 private: 73 private:
74 Categories* catDB; 74 Categories* catDB;
75 75
76 76
77}; 77};
78 78
79} 79}
diff --git a/kabc/converter/qtopia/qtopiaconverter.cpp b/kabc/converter/qtopia/qtopiaconverter.cpp
index e3dd3e6..f451b8b 100644
--- a/kabc/converter/qtopia/qtopiaconverter.cpp
+++ b/kabc/converter/qtopia/qtopiaconverter.cpp
@@ -28,57 +28,54 @@ $Id$
28//US 28//US
29#include "kglobal.h" 29#include "kglobal.h"
30 30
31 31
32#include "qtopiaconverter.h" 32#include "qtopiaconverter.h"
33 33
34#include <qpe/categories.h> 34#include <qpe/categories.h>
35//US #include <qpe/categoryselect.h> 35//US #include <qpe/categoryselect.h>
36 36
37 37
38using namespace KABC; 38using namespace KABC;
39 39
40QtopiaConverter::QtopiaConverter() : catDB(0) 40QtopiaConverter::QtopiaConverter() : catDB(0)
41{ 41{
42} 42}
43 43
44QtopiaConverter::~QtopiaConverter() 44QtopiaConverter::~QtopiaConverter()
45{ 45{
46 deinit(); 46 deinit();
47} 47}
48 48
49bool QtopiaConverter::init() 49bool QtopiaConverter::init()
50{ 50{
51 catDB = new Categories(); 51 catDB = new Categories();
52 if (catDB) 52
53 { 53 if (!catDB)
54 catDB->load( categoryFileName() );
55 return true;
56 }
57 else
58 {
59 return false; 54 return false;
60 } 55
56 catDB->load( categoryFileName() );
57 return true;
61} 58}
62 59
63void QtopiaConverter::deinit() 60void QtopiaConverter::deinit()
64{ 61{
65 if (catDB) 62 if (catDB)
66 { 63 {
67 delete catDB; 64 delete catDB;
68 catDB = 0; 65 catDB = 0;
69 } 66 }
70} 67}
71 68
72bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr ) 69bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &addr )
73{ 70{
74 // name 71 // name
75 addr.setFormattedName(contact.fileAs()); 72 addr.setFormattedName(contact.fileAs());
76 addr.setFamilyName( contact.lastName() ); 73 addr.setFamilyName( contact.lastName() );
77 addr.setGivenName( contact.firstName() ); 74 addr.setGivenName( contact.firstName() );
78 addr.setAdditionalName( contact.middleName() ); 75 addr.setAdditionalName( contact.middleName() );
79 addr.setPrefix( contact.nameTitle() ); 76 addr.setPrefix( contact.nameTitle() );
80 addr.setSuffix( contact.suffix() ); 77 addr.setSuffix( contact.suffix() );
81 78
82 79
83 // email 80 // email
84 QStringList emails = contact.emailList(); 81 QStringList emails = contact.emailList();
@@ -188,79 +185,79 @@ bool QtopiaConverter::qtopiaToAddressee( const PimContact &contact, Addressee &a
188 businesspager.setNumber( contact.businessPager() ); 185 businesspager.setNumber( contact.businessPager() );
189 addr.insertPhoneNumber( businesspager ); 186 addr.insertPhoneNumber( businesspager );
190 } 187 }
191 188
192 addr.setRole( contact.jobTitle() ); //? 189 addr.setRole( contact.jobTitle() ); //?
193 addr.setOrganization( contact.company() ); 190 addr.setOrganization( contact.company() );
194 addr.insertCustom( "KADDRESSBOOK", "X-Profession", contact.profession() ); 191 addr.insertCustom( "KADDRESSBOOK", "X-Profession", contact.profession() );
195 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", contact.assistant() ); 192 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", contact.assistant() );
196 addr.insertCustom( "KADDRESSBOOK", "X-Department", contact.department() ); 193 addr.insertCustom( "KADDRESSBOOK", "X-Department", contact.department() );
197 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", contact.manager() ); 194 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", contact.manager() );
198 addr.insertCustom( "KADDRESSBOOK", "X-Office", contact.office() ); 195 addr.insertCustom( "KADDRESSBOOK", "X-Office", contact.office() );
199 196
200 //personal 197 //personal
201 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() ); 198 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", contact.spouse() );
202 // qtopia uses this categorization: 199 // qtopia uses this categorization:
203 // enum GenderType { UnspecifiedGender=0, Male, Female }; 200 // enum GenderType { UnspecifiedGender=0, Male, Female };
204 if (contact.gender() == PimContact::Male) 201 if (contact.gender() == PimContact::Male)
205 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); 202 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male");
206 else if (contact.gender() == PimContact::Female) 203 else if (contact.gender() == PimContact::Female)
207 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); 204 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female");
208 205
209 if (contact.anniversary().isValid()) { 206 if (contact.anniversary().isValid()) {
210 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate); 207 QString dt = KGlobal::locale()->formatDate(contact.anniversary(), true, KLocale::ISODate);
211//US 208//US
212 qDebug("OpieConverter::opieToAddressee found:%s", dt.latin1()); 209 qDebug("OpieConverter::qtopiaToAddressee found:%s", dt.latin1());
213 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); 210 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
214 } 211 }
215 212
216 addr.insertCustom( "KADDRESSBOOK", "X-Children", contact.children() ); 213 addr.insertCustom( "KADDRESSBOOK", "X-Children", contact.children() );
217 if (contact.birthday().isValid()) 214 if (contact.birthday().isValid())
218 addr.setBirthday( contact.birthday() ); 215 addr.setBirthday( contact.birthday() );
219 216
220 addr.setNickName( contact.nickname() ); 217 addr.setNickName( contact.nickname() );
221 218
222 // others 219 // others
223 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available. 220 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available.
224 QString notes = contact.notes(); 221 QString notes = contact.notes();
225 notes += "\nBusinessWebPage: " + contact.businessWebpage() + "\n"; 222 notes += "\nBusinessWebPage: " + contact.businessWebpage() + "\n";
226 223
227 addr.setNote( contact.notes() ); 224 addr.setNote( contact.notes() );
228 225
229 226
230 227
231//US QString groups() const { return find( Qtopia::Groups ); } 228//US QString groups() const { return find( Qtopia::Groups ); }
232//US QStringList groupList() const; 229//US QStringList groupList() const;
233 230
234 QArray<int> catArray = contact.categories(); 231 QArray<int> catArray = contact.categories();
235 QString cat; 232 QString cat;
236 233
237 for ( unsigned int i=0; i < catArray.size(); i++ ) { 234 for ( unsigned int i=0; i < catArray.size(); i++ ) {
238 cat = catDB->label("contact", catArray[i]); 235 cat = catDB->label("contact", catArray[i]);
239 if ( !cat.isEmpty() ) 236 if ( !cat.isEmpty() )
240 addr.insertCategory( cat ); 237 addr.insertCategory( cat );
241 } 238 }
242 239
243 return true; 240 return true;
244} 241}
245 242
246bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &contact ) 243bool QtopiaConverter::addresseeToQtopia( const Addressee &addr, PimContact &contact )
247{ 244{
248 // name 245 // name
249 contact.setLastName(addr.familyName()); 246 contact.setLastName(addr.familyName());
250 contact.setFirstName(addr.givenName()); 247 contact.setFirstName(addr.givenName());
251 contact.setMiddleName(addr.additionalName()); 248 contact.setMiddleName(addr.additionalName());
252 contact.setNameTitle(addr.prefix()); 249 contact.setNameTitle(addr.prefix());
253 contact.setSuffix(addr.suffix()); 250 contact.setSuffix(addr.suffix());
254 contact.setFileAs(); 251 contact.setFileAs();
255 252
256 253
257 // email 254 // email
258 QStringList emails = addr.emails(); 255 QStringList emails = addr.emails();
259 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { 256 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
260 contact.insertEmail(*it); 257 contact.insertEmail(*it);
261 } 258 }
262 contact.setDefaultEmail( addr.preferredEmail() ); 259 contact.setDefaultEmail( addr.preferredEmail() );
263 260
264 261
265 // home 262 // home
266 const Address homeaddress = addr.address(Address::Home); 263 const Address homeaddress = addr.address(Address::Home);
diff --git a/kabc/converter/qtopia/qtopiaconverter.h b/kabc/converter/qtopia/qtopiaconverter.h
index 7397113..8f4c698 100644
--- a/kabc/converter/qtopia/qtopiaconverter.h
+++ b/kabc/converter/qtopia/qtopiaconverter.h
@@ -29,50 +29,50 @@ $Id$
29 29
30#include <qstring.h> 30#include <qstring.h>
31 31
32#include "addressee.h" 32#include "addressee.h"
33#include <qpe/pim/contact.h> 33#include <qpe/pim/contact.h>
34 34
35class Categories; 35class Categories;
36 36
37namespace KABC { 37namespace KABC {
38 38
39class QtopiaConverter 39class QtopiaConverter
40{ 40{
41public: 41public:
42 42
43 /** 43 /**
44 * Constructor. 44 * Constructor.
45 */ 45 */
46 QtopiaConverter(); 46 QtopiaConverter();
47 47
48 /** 48 /**
49 * Destructor. 49 * Destructor.
50 */ 50 */
51 virtual ~QtopiaConverter(); 51 virtual ~QtopiaConverter();
52 52
53 virtual bool init(); 53 bool init();
54 virtual void deinit(); 54 void deinit();
55 55
56 /** 56 /**
57 * Converts a vcard string to an addressee. 57 * Converts a vcard string to an addressee.
58 * 58 *
59 * @param contact The qtopia contact. 59 * @param contact The qtopia contact.
60 * @param addr The addressee. 60 * @param addr The addressee.
61 */ 61 */
62 bool qtopiaToAddressee( const PimContact &contact, Addressee &addr ); 62 bool qtopiaToAddressee( const PimContact &contact, Addressee &addr );
63 63
64 /** 64 /**
65 * Converts an addressee to a vcard string. 65 * Converts an addressee to a vcard string.
66 * 66 *
67 * @param addr The addressee. 67 * @param addr The addressee.
68 * @param contact The qtopia contact. 68 * @param contact The qtopia contact.
69 */ 69 */
70 bool addresseeToQtopia( const Addressee &addr, PimContact &contact ); 70 bool addresseeToQtopia( const Addressee &addr, PimContact &contact );
71 71
72 private: 72 private:
73 Categories* catDB; 73 Categories* catDB;
74 74
75 75
76}; 76};
77 77
78} 78}