summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-15 14:52:41 (UTC)
committer zautrix <zautrix>2004-10-15 14:52:41 (UTC)
commit5073db0790d4ac053624b5468107deaa9957315d (patch) (unidiff)
treec40971cc49e8bc3ef455953bdc725ab5fde8b215
parent4f276d80bd977401d656851515474cc00c661e5b (diff)
downloadkdepimpi-5073db0790d4ac053624b5468107deaa9957315d.zip
kdepimpi-5073db0790d4ac053624b5468107deaa9957315d.tar.gz
kdepimpi-5073db0790d4ac053624b5468107deaa9957315d.tar.bz2
dtm sync fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/sharpdtm/sharpdtmconverter.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
index 6418b54..396be0a 100644
--- a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
+++ b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
@@ -74,231 +74,231 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
74 74
75 // for syncing: we need setting of the two fields 75 // for syncing: we need setting of the two fields
76 addr.setExternalUID( QString::number( contact ) ); 76 addr.setExternalUID( QString::number( contact ) );
77 addr.setOriginalExternalUID( QString::number( contact ) ); 77 addr.setOriginalExternalUID( QString::number( contact ) );
78 addr.setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL ); 78 addr.setTempSyncStat( SYNC_TEMPSTATE_NEW_EXTERNAL );
79 79
80 80
81 // name 81 // name
82 //qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!"); 82 //qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!");
83 addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); // needs fix 83 addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); // needs fix
84 84
85 addr.setFamilyName( db->readField(ZdbAdrs::LastName) ); 85 addr.setFamilyName( db->readField(ZdbAdrs::LastName) );
86 addr.setGivenName( db->readField(ZdbAdrs::FirstName) ); 86 addr.setGivenName( db->readField(ZdbAdrs::FirstName) );
87 addr.setAdditionalName( db->readField(ZdbAdrs::MiddleName) ); 87 addr.setAdditionalName( db->readField(ZdbAdrs::MiddleName) );
88 addr.setPrefix( db->readField(ZdbAdrs::Title) ); 88 addr.setPrefix( db->readField(ZdbAdrs::Title) );
89 addr.setSuffix( db->readField(ZdbAdrs::Suffix) ); 89 addr.setSuffix( db->readField(ZdbAdrs::Suffix) );
90 90
91 91
92 QString emailstr = db->readField(ZdbAdrs::Emails); 92 QString emailstr = db->readField(ZdbAdrs::Emails);
93 emailstr.replace( QRegExp(","), " " ); 93 emailstr.replace( QRegExp(","), " " );
94 emailstr.replace( QRegExp(";"), " " ); 94 emailstr.replace( QRegExp(";"), " " );
95 emailstr.replace( QRegExp(":"), " " ); 95 emailstr.replace( QRegExp(":"), " " );
96 //qDebug("SharpDTMConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1()); 96 //qDebug("SharpDTMConverter::sharpToAddressee whats the character to seperate the emailadresses? %s ", emailstr.latin1());
97 QStringList emails = QStringList::split(" ", emailstr.simplifyWhiteSpace()); 97 QStringList emails = QStringList::split(" ", emailstr.simplifyWhiteSpace());
98 bool defE = false; 98 bool defE = false;
99 bool found = false; 99 bool found = false;
100 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) { 100 for ( QStringList::Iterator it = emails.begin(); it != emails.end(); ++it ) {
101 if (found ) 101 if (found )
102 defE = false; 102 defE = false;
103 else 103 else
104 found = defE = ((*it).lower() == db->readField(ZdbAdrs::DefaultEmail).lower()); 104 found = defE = ((*it).lower() == db->readField(ZdbAdrs::DefaultEmail).lower());
105 addr.insertEmail( *it, defE ); 105 addr.insertEmail( *it, defE );
106 } 106 }
107 if ( ! found ) 107 if ( ! found )
108 if (!db->readField(ZdbAdrs::DefaultEmail).isEmpty()) 108 if (!db->readField(ZdbAdrs::DefaultEmail).isEmpty())
109 addr.insertEmail(db->readField(ZdbAdrs::DefaultEmail), true); 109 addr.insertEmail(db->readField(ZdbAdrs::DefaultEmail), true);
110 110
111 // home 111 // home
112 if ((!db->readField(ZdbAdrs::HomeStreet).isEmpty()) || 112 if ((!db->readField(ZdbAdrs::HomeStreet).isEmpty()) ||
113 (!db->readField(ZdbAdrs::HomeCity).isEmpty()) || 113 (!db->readField(ZdbAdrs::HomeCity).isEmpty()) ||
114 (!db->readField(ZdbAdrs::HomeState).isEmpty()) || 114 (!db->readField(ZdbAdrs::HomeState).isEmpty()) ||
115 (!db->readField(ZdbAdrs::HomeZip).isEmpty()) || 115 (!db->readField(ZdbAdrs::HomeZip).isEmpty()) ||
116 (!db->readField(ZdbAdrs::HomeCountry).isEmpty())) 116 (!db->readField(ZdbAdrs::HomeCountry).isEmpty()))
117 { 117 {
118 Address homeaddress; 118 Address homeaddress;
119 homeaddress.setType(Address::Home); 119 homeaddress.setType(Address::Home);
120//US homeaddress.setPostOfficeBox( "" ); 120//US homeaddress.setPostOfficeBox( "" );
121//US homeaddress.setExtended( "" ); 121//US homeaddress.setExtended( "" );
122 homeaddress.setStreet( db->readField(ZdbAdrs::HomeStreet) ); 122 homeaddress.setStreet( db->readField(ZdbAdrs::HomeStreet).replace( QRegExp("\\r"), ""));
123 homeaddress.setLocality( db->readField(ZdbAdrs::HomeCity) ); 123 homeaddress.setLocality( db->readField(ZdbAdrs::HomeCity) );
124 homeaddress.setRegion( db->readField(ZdbAdrs::HomeState) ); 124 homeaddress.setRegion( db->readField(ZdbAdrs::HomeState) );
125 homeaddress.setPostalCode( db->readField(ZdbAdrs::HomeZip) ); 125 homeaddress.setPostalCode( db->readField(ZdbAdrs::HomeZip) );
126 homeaddress.setCountry( db->readField(ZdbAdrs::HomeCountry) ); 126 homeaddress.setCountry( db->readField(ZdbAdrs::HomeCountry) );
127 127
128 addr.insertAddress( homeaddress ); 128 addr.insertAddress( homeaddress );
129 } 129 }
130 130
131 if (!db->readField(ZdbAdrs::HomePhone).isEmpty()) 131 if (!db->readField(ZdbAdrs::HomePhone).isEmpty())
132 { 132 {
133 PhoneNumber homephone; 133 PhoneNumber homephone;
134 homephone.setType( PhoneNumber::Home ); 134 homephone.setType( PhoneNumber::Home );
135 homephone.setNumber( db->readField(ZdbAdrs::HomePhone) ); 135 homephone.setNumber( db->readField(ZdbAdrs::HomePhone) );
136 addr.insertPhoneNumber( homephone ); 136 addr.insertPhoneNumber( homephone );
137 } 137 }
138 138
139 if (!db->readField(ZdbAdrs::HomeFax).isEmpty()) 139 if (!db->readField(ZdbAdrs::HomeFax).isEmpty())
140 { 140 {
141 PhoneNumber homefax; 141 PhoneNumber homefax;
142 homefax.setType( PhoneNumber::Home | PhoneNumber::Fax ); 142 homefax.setType( PhoneNumber::Home | PhoneNumber::Fax );
143 homefax.setNumber( db->readField(ZdbAdrs::HomeFax) ); 143 homefax.setNumber( db->readField(ZdbAdrs::HomeFax) );
144 addr.insertPhoneNumber( homefax ); 144 addr.insertPhoneNumber( homefax );
145 } 145 }
146 146
147 if (!db->readField(ZdbAdrs::HomeMobile).isEmpty()) 147 if (!db->readField(ZdbAdrs::HomeMobile).isEmpty())
148 { 148 {
149 PhoneNumber homemobile; 149 PhoneNumber homemobile;
150 homemobile.setType( PhoneNumber::Home | PhoneNumber::Cell ); 150 homemobile.setType( PhoneNumber::Home | PhoneNumber::Cell );
151 homemobile.setNumber( db->readField(ZdbAdrs::HomeMobile) ); 151 homemobile.setNumber( db->readField(ZdbAdrs::HomeMobile) );
152 addr.insertPhoneNumber( homemobile ); 152 addr.insertPhoneNumber( homemobile );
153 } 153 }
154 154
155 addr.setUrl( db->readField(ZdbAdrs::HomeWebPage) ); 155 addr.setUrl( db->readField(ZdbAdrs::HomeWebPage) );
156 156
157 157
158 // business 158 // business
159 if ((!db->readField(ZdbAdrs::BusinessStreet).isEmpty()) || 159 if ((!db->readField(ZdbAdrs::BusinessStreet).isEmpty()) ||
160 (!db->readField(ZdbAdrs::BusinessCity).isEmpty()) || 160 (!db->readField(ZdbAdrs::BusinessCity).isEmpty()) ||
161 (!db->readField(ZdbAdrs::BusinessState).isEmpty()) || 161 (!db->readField(ZdbAdrs::BusinessState).isEmpty()) ||
162 (!db->readField(ZdbAdrs::BusinessZip).isEmpty()) || 162 (!db->readField(ZdbAdrs::BusinessZip).isEmpty()) ||
163 (!db->readField(ZdbAdrs::BusinessCountry).isEmpty())) 163 (!db->readField(ZdbAdrs::BusinessCountry).isEmpty()))
164 { 164 {
165 Address businessaddress; 165 Address businessaddress;
166 businessaddress.setType(Address::Work); 166 businessaddress.setType(Address::Work);
167//US businessaddress.setPostOfficeBox( "" ); 167//US businessaddress.setPostOfficeBox( "" );
168//US businessaddress.setExtended( "" ); 168//US businessaddress.setExtended( "" );
169 businessaddress.setStreet( db->readField(ZdbAdrs::BusinessStreet) ); 169 businessaddress.setStreet( db->readField(ZdbAdrs::BusinessStreet).replace( QRegExp("\\r"), "") );
170 businessaddress.setLocality( db->readField(ZdbAdrs::BusinessCity) ); 170 businessaddress.setLocality( db->readField(ZdbAdrs::BusinessCity) );
171 businessaddress.setRegion( db->readField(ZdbAdrs::BusinessState) ); 171 businessaddress.setRegion( db->readField(ZdbAdrs::BusinessState) );
172 businessaddress.setPostalCode( db->readField(ZdbAdrs::BusinessZip) ); 172 businessaddress.setPostalCode( db->readField(ZdbAdrs::BusinessZip) );
173 businessaddress.setCountry( db->readField(ZdbAdrs::BusinessCountry) ); 173 businessaddress.setCountry( db->readField(ZdbAdrs::BusinessCountry) );
174 174
175 addr.insertAddress( businessaddress ); 175 addr.insertAddress( businessaddress );
176 } 176 }
177 177
178 178
179 if (!db->readField(ZdbAdrs::BusinessPhone).isEmpty()) 179 if (!db->readField(ZdbAdrs::BusinessPhone).isEmpty())
180 { 180 {
181 PhoneNumber businessphone; 181 PhoneNumber businessphone;
182 businessphone.setType( PhoneNumber::Work ); 182 businessphone.setType( PhoneNumber::Work );
183 businessphone.setNumber( db->readField(ZdbAdrs::BusinessPhone) ); 183 businessphone.setNumber( db->readField(ZdbAdrs::BusinessPhone) );
184 addr.insertPhoneNumber( businessphone ); 184 addr.insertPhoneNumber( businessphone );
185 } 185 }
186 186
187 if (!db->readField(ZdbAdrs::BusinessFax).isEmpty()) 187 if (!db->readField(ZdbAdrs::BusinessFax).isEmpty())
188 { 188 {
189 PhoneNumber businessfax; 189 PhoneNumber businessfax;
190 businessfax.setType( PhoneNumber::Work | PhoneNumber::Fax ); 190 businessfax.setType( PhoneNumber::Work | PhoneNumber::Fax );
191 businessfax.setNumber( db->readField(ZdbAdrs::BusinessFax) ); 191 businessfax.setNumber( db->readField(ZdbAdrs::BusinessFax) );
192 addr.insertPhoneNumber( businessfax ); 192 addr.insertPhoneNumber( businessfax );
193 } 193 }
194 194
195 if (!db->readField(ZdbAdrs::BusinessMobile).isEmpty()) 195 if (!db->readField(ZdbAdrs::BusinessMobile).isEmpty())
196 { 196 {
197 PhoneNumber businessmobile; 197 PhoneNumber businessmobile;
198 businessmobile.setType( PhoneNumber::Work | PhoneNumber::Cell ); 198 businessmobile.setType( PhoneNumber::Work | PhoneNumber::Cell );
199 businessmobile.setNumber( db->readField(ZdbAdrs::BusinessMobile) ); 199 businessmobile.setNumber( db->readField(ZdbAdrs::BusinessMobile) );
200 addr.insertPhoneNumber( businessmobile ); 200 addr.insertPhoneNumber( businessmobile );
201 } 201 }
202 202
203 if (!db->readField(ZdbAdrs::BusinessPager).isEmpty()) 203 if (!db->readField(ZdbAdrs::BusinessPager).isEmpty())
204 { 204 {
205 PhoneNumber businesspager; 205 PhoneNumber businesspager;
206 businesspager.setType( PhoneNumber::Work | PhoneNumber::Pager ); 206 businesspager.setType( PhoneNumber::Work | PhoneNumber::Pager );
207 businesspager.setNumber( db->readField(ZdbAdrs::BusinessPager) ); 207 businesspager.setNumber( db->readField(ZdbAdrs::BusinessPager) );
208 addr.insertPhoneNumber( businesspager ); 208 addr.insertPhoneNumber( businesspager );
209 } 209 }
210 210
211 addr.setRole( db->readField(ZdbAdrs::JobTitle) ); 211 addr.setRole( db->readField(ZdbAdrs::JobTitle) );
212 addr.setOrganization( db->readField(ZdbAdrs::Company) ); 212 addr.setOrganization( db->readField(ZdbAdrs::Company) );
213 addr.insertCustom( "KADDRESSBOOK", "X-Profession", db->readField(ZdbAdrs::Profession) ); 213 addr.insertCustom( "KADDRESSBOOK", "X-Profession", db->readField(ZdbAdrs::Profession) );
214 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", db->readField(ZdbAdrs::Assistant) ); 214 addr.insertCustom( "KADDRESSBOOK", "X-AssistantsName", db->readField(ZdbAdrs::Assistant) );
215 addr.insertCustom( "KADDRESSBOOK", "X-Department", db->readField(ZdbAdrs::Department) ); 215 addr.insertCustom( "KADDRESSBOOK", "X-Department", db->readField(ZdbAdrs::Department) );
216 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", db->readField(ZdbAdrs::Manager) ); 216 addr.insertCustom( "KADDRESSBOOK", "X-ManagersName", db->readField(ZdbAdrs::Manager) );
217 addr.insertCustom( "KADDRESSBOOK", "X-Office", db->readField(ZdbAdrs::Office) ); 217 addr.insertCustom( "KADDRESSBOOK", "X-Office", db->readField(ZdbAdrs::Office) );
218 218
219 //personal 219 //personal
220 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", db->readField(ZdbAdrs::Spouse) ); 220 addr.insertCustom( "KADDRESSBOOK", "X-SpousesName", db->readField(ZdbAdrs::Spouse) );
221 221
222 QString gen = db->readField(ZdbAdrs::Gender); 222 QString gen = db->readField(ZdbAdrs::Gender);
223 //qDebug("SharpDTMConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1()); 223 //qDebug("SharpDTMConverter::sharpToAddressee pleas check that gender works!! : Gender: %s", gen.latin1());
224 //qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited"); 224 //qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited");
225 225
226 if (gen == "male") 226 if (gen == "male")
227 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); 227 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male");
228 else if (gen == "female") 228 else if (gen == "female")
229 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); 229 addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female");
230 230
231 231
232 QDate ann = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Anniversary) ); 232 QDate ann = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Anniversary) );
233 if (ann.isValid()) { 233 if (ann.isValid()) {
234 QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate); 234 QString dt = KGlobal::locale()->formatDate(ann, true, KLocale::ISODate);
235 //qDebug("qtopiaToAddressee annyversary found:%s", dt.latin1()); 235 //qDebug("qtopiaToAddressee annyversary found:%s", dt.latin1());
236 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); 236 addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
237 } 237 }
238 238
239 239
240 addr.insertCustom( "KADDRESSBOOK", "X-Children", db->readField(ZdbAdrs::Children) ); 240 addr.insertCustom( "KADDRESSBOOK", "X-Children", db->readField(ZdbAdrs::Children) );
241 241
242 242
243 QDate birthd = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Birthday) ); 243 QDate birthd = KGlobal::locale()->readDate( db->readField(ZdbAdrs::Birthday) );
244 //qDebug("birtd %s ", birthd.toString().latin1()); 244 //qDebug("birtd %s ", birthd.toString().latin1());
245 if (birthd.isValid()) 245 if (birthd.isValid())
246 addr.setBirthday( birthd ); 246 addr.setBirthday( birthd );
247 247
248 addr.setNickName( db->readField(ZdbAdrs::Nickname) ); 248 addr.setNickName( db->readField(ZdbAdrs::Nickname) );
249 249
250 // others 250 // others
251 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available. 251 //US I put opies BusinessWebPage into Ka/Pi's notes block, because no other native field is available.
252 QString notes = db->readField(ZdbAdrs::Notes); 252 //QString notes = db->readField(ZdbAdrs::Notes);
253 //notes += "\nBusinessWebPage: " + db->readField(ZdbAdrs::BusinessWebPage) + "\n"; 253 //notes += "\nBusinessWebPage: " + db->readField(ZdbAdrs::BusinessWebPage) + "\n";
254 if ( addr.url().isEmpty() ) 254 if ( addr.url().isEmpty() )
255 addr.setUrl( db->readField(ZdbAdrs::BusinessWebPage) ); 255 addr.setUrl( db->readField(ZdbAdrs::BusinessWebPage) );
256 addr.setNote( db->readField(ZdbAdrs::Notes) ); 256 addr.setNote( db->readField(ZdbAdrs::Notes).replace( QRegExp("\\r"), ""));
257 257
258 258
259 259
260//US QString groups() const { return find( Qtopia::Groups ); } 260//US QString groups() const { return find( Qtopia::Groups ); }
261//US QStringList groupList() const; 261//US QStringList groupList() const;
262 262
263 //qDebug("SharpDTMConverter::sharpToAddressee please check that the categories will be converted" ); 263 //qDebug("SharpDTMConverter::sharpToAddressee please check that the categories will be converted" );
264 QArray<int> catArray = db->readCategories(); 264 QArray<int> catArray = db->readCategories();
265 QString cat; 265 QString cat;
266 266
267 for ( unsigned int i=0; i < catArray.size(); i++ ) { 267 for ( unsigned int i=0; i < catArray.size(); i++ ) {
268 cat = catDB->label(catArray[i]); 268 cat = catDB->label(catArray[i]);
269 if ( cat.isEmpty() ) 269 if ( cat.isEmpty() )
270 addr.insertCategory(QString::number(catArray[i])); 270 addr.insertCategory(QString::number(catArray[i]));
271 else 271 else
272 addr.insertCategory( cat ); 272 addr.insertCategory( cat );
273 } 273 }
274 274
275 return true; 275 return true;
276} 276}
277 277
278bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact ) 278bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* database , const CardId &contact )
279{ 279{
280 bool cellHome = false, cellWork = false; 280 bool cellHome = false, cellWork = false;
281 // name 281 // name
282 database->writeField(ZdbAdrs::LastName, addr.familyName()); 282 database->writeField(ZdbAdrs::LastName, addr.familyName());
283 database->writeField(ZdbAdrs::FirstName, addr.givenName()); 283 database->writeField(ZdbAdrs::FirstName, addr.givenName());
284 database->writeField(ZdbAdrs::MiddleName, addr.additionalName()); 284 database->writeField(ZdbAdrs::MiddleName, addr.additionalName());
285 database->writeField(ZdbAdrs::Title, addr.prefix()); 285 database->writeField(ZdbAdrs::Title, addr.prefix());
286 database->writeField(ZdbAdrs::Suffix, addr.suffix()); 286 database->writeField(ZdbAdrs::Suffix, addr.suffix());
287 287
288 //qDebug("SharpDTMConverter::addresseeToSharp check if the fileAs transformation works!!\n%s",addr.formattedName().latin1() ); 288 //qDebug("SharpDTMConverter::addresseeToSharp check if the fileAs transformation works!!\n%s",addr.formattedName().latin1() );
289 QString formattedName = addr.formattedName(); 289 QString formattedName = addr.formattedName();
290 if ( formattedName.isEmpty() ) { 290 if ( formattedName.isEmpty() ) {
291 if ( !addr.familyName().isEmpty() ) { 291 if ( !addr.familyName().isEmpty() ) {
292 formattedName = addr.familyName(); 292 formattedName = addr.familyName();
293 if ( !addr.givenName().isEmpty() ) { 293 if ( !addr.givenName().isEmpty() ) {
294 formattedName += ", "; 294 formattedName += ", ";
295 formattedName += addr.givenName(); 295 formattedName += addr.givenName();
296 } 296 }
297 } else 297 } else
298 formattedName = addr.givenName(); 298 formattedName = addr.givenName();
299 } 299 }
300 database->writeField(ZdbAdrs::FileAs, formattedName); 300 database->writeField(ZdbAdrs::FileAs, formattedName);
301 database->writeField(ZdbAdrs::FullName, formattedName); 301 database->writeField(ZdbAdrs::FullName, formattedName);
302 302
303 // email 303 // email
304 //qDebug("SharpDTMConverter::addresseeToSharp check which seperator we need here for the emails!!"); 304 //qDebug("SharpDTMConverter::addresseeToSharp check which seperator we need here for the emails!!");