summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2004-10-20 12:05:18 (UTC)
committer zautrix <zautrix>2004-10-20 12:05:18 (UTC)
commit5cf3c1bce58a6487af166e637e54571e98156fd0 (patch) (unidiff)
tree2e1ba14350aa322bb21729cf462b96e658fa6929 /kaddressbook
parente2a0df411042d986adb31b28f9e0a2f17395358c (diff)
downloadkdepimpi-5cf3c1bce58a6487af166e637e54571e98156fd0.zip
kdepimpi-5cf3c1bce58a6487af166e637e54571e98156fd0.tar.gz
kdepimpi-5cf3c1bce58a6487af166e637e54571e98156fd0.tar.bz2
OL import fixes
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp8
-rw-r--r--kaddressbook/kaimportoldialog.cpp46
2 files changed, 48 insertions, 6 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 980e436..1074a62 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -237,240 +237,244 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
237 // LP moved to addressbook init method 237 // LP moved to addressbook init method
238 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, 238 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
239 "X-Department", "KADDRESSBOOK" ); 239 "X-Department", "KADDRESSBOOK" );
240 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, 240 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
241 "X-Profession", "KADDRESSBOOK" ); 241 "X-Profession", "KADDRESSBOOK" );
242 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, 242 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
243 "X-AssistantsName", "KADDRESSBOOK" ); 243 "X-AssistantsName", "KADDRESSBOOK" );
244 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, 244 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization,
245 "X-ManagersName", "KADDRESSBOOK" ); 245 "X-ManagersName", "KADDRESSBOOK" );
246 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, 246 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal,
247 "X-SpousesName", "KADDRESSBOOK" ); 247 "X-SpousesName", "KADDRESSBOOK" );
248 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, 248 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal,
249 "X-Office", "KADDRESSBOOK" ); 249 "X-Office", "KADDRESSBOOK" );
250 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, 250 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal,
251 "X-IMAddress", "KADDRESSBOOK" ); 251 "X-IMAddress", "KADDRESSBOOK" );
252 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 252 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
253 "X-Anniversary", "KADDRESSBOOK" ); 253 "X-Anniversary", "KADDRESSBOOK" );
254 254
255 //US added this field to become compatible with Opie/qtopia addressbook 255 //US added this field to become compatible with Opie/qtopia addressbook
256 // values can be "female" or "male" or "". An empty field represents undefined. 256 // values can be "female" or "male" or "". An empty field represents undefined.
257 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 257 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
258 "X-Gender", "KADDRESSBOOK" ); 258 "X-Gender", "KADDRESSBOOK" );
259 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, 259 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
260 "X-Children", "KADDRESSBOOK" ); 260 "X-Children", "KADDRESSBOOK" );
261 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, 261 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
262 "X-FreeBusyUrl", "KADDRESSBOOK" ); 262 "X-FreeBusyUrl", "KADDRESSBOOK" );
263#endif 263#endif
264 initGUI(); 264 initGUI();
265 265
266 mIncSearchWidget->setFocus(); 266 mIncSearchWidget->setFocus();
267 267
268 268
269 connect( mViewManager, SIGNAL( selected( const QString& ) ), 269 connect( mViewManager, SIGNAL( selected( const QString& ) ),
270 SLOT( setContactSelected( const QString& ) ) ); 270 SLOT( setContactSelected( const QString& ) ) );
271 connect( mViewManager, SIGNAL( executed( const QString& ) ), 271 connect( mViewManager, SIGNAL( executed( const QString& ) ),
272 SLOT( executeContact( const QString& ) ) ); 272 SLOT( executeContact( const QString& ) ) );
273 273
274 connect( mViewManager, SIGNAL( deleteRequest( ) ), 274 connect( mViewManager, SIGNAL( deleteRequest( ) ),
275 SLOT( deleteContacts( ) ) ); 275 SLOT( deleteContacts( ) ) );
276 connect( mViewManager, SIGNAL( modified() ), 276 connect( mViewManager, SIGNAL( modified() ),
277 SLOT( setModified() ) ); 277 SLOT( setModified() ) );
278 278
279 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 279 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
280 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 280 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
281 281
282 connect( mXXPortManager, SIGNAL( modified() ), 282 connect( mXXPortManager, SIGNAL( modified() ),
283 SLOT( setModified() ) ); 283 SLOT( setModified() ) );
284 284
285 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 285 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
286 SLOT( incrementalSearch( const QString& ) ) ); 286 SLOT( incrementalSearch( const QString& ) ) );
287 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 287 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
288 mJumpButtonBar, SLOT( recreateButtons() ) ); 288 mJumpButtonBar, SLOT( recreateButtons() ) );
289 289
290 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 290 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
291 SLOT( sendMail( const QString& ) ) ); 291 SLOT( sendMail( const QString& ) ) );
292 292
293 293
294 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); 294 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
295 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); 295 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
296 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&))); 296 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&)));
297 297
298 298
299#ifndef KAB_EMBEDDED 299#ifndef KAB_EMBEDDED
300 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 300 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
301 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 301 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
302 302
303 connect( mDetails, SIGNAL( browse( const QString& ) ), 303 connect( mDetails, SIGNAL( browse( const QString& ) ),
304 SLOT( browse( const QString& ) ) ); 304 SLOT( browse( const QString& ) ) );
305 305
306 306
307 mAddressBookService = new KAddressBookService( this ); 307 mAddressBookService = new KAddressBookService( this );
308 308
309#endif //KAB_EMBEDDED 309#endif //KAB_EMBEDDED
310 310
311 mMessageTimer = new QTimer( this ); 311 mMessageTimer = new QTimer( this );
312 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); 312 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) );
313 mEditorDialog = 0; 313 mEditorDialog = 0;
314 createAddresseeEditorDialog( this ); 314 createAddresseeEditorDialog( this );
315 setModified( false ); 315 setModified( false );
316 mBRdisabled = 0; 316 mBRdisabled = 0;
317#ifndef DESKTOP_VERSION 317#ifndef DESKTOP_VERSION
318 infrared = 0; 318 infrared = 0;
319#endif 319#endif
320 toggleBeamReceive( ); 320 toggleBeamReceive( );
321} 321}
322 322
323KABCore::~KABCore() 323KABCore::~KABCore()
324{ 324{
325 // save(); 325 // save();
326 //saveSettings(); 326 //saveSettings();
327 //KABPrefs::instance()->writeConfig(); 327 //KABPrefs::instance()->writeConfig();
328 delete AddresseeConfig::instance(); 328 delete AddresseeConfig::instance();
329 mAddressBook = 0; 329 mAddressBook = 0;
330 KABC::StdAddressBook::close(); 330 KABC::StdAddressBook::close();
331 331
332 delete syncManager; 332 delete syncManager;
333#ifndef DESKTOP_VERSION
333 if ( infrared ) 334 if ( infrared )
334 delete infrared; 335 delete infrared;
336#endif
335} 337}
336void KABCore::receive( const QCString& cmsg, const QByteArray& data ) 338void KABCore::receive( const QCString& cmsg, const QByteArray& data )
337{ 339{
338 qDebug("KA: QCOP message received: %s ", cmsg.data() ); 340 qDebug("KA: QCOP message received: %s ", cmsg.data() );
339 if ( cmsg == "setDocument(QString)" ) { 341 if ( cmsg == "setDocument(QString)" ) {
340 QDataStream stream( data, IO_ReadOnly ); 342 QDataStream stream( data, IO_ReadOnly );
341 QString fileName; 343 QString fileName;
342 stream >> fileName; 344 stream >> fileName;
343 recieve( fileName ); 345 recieve( fileName );
344 return; 346 return;
345 } 347 }
346} 348}
347void KABCore::toggleBeamReceive( ) 349void KABCore::toggleBeamReceive( )
348{ 350{
349 if ( mBRdisabled ) 351 if ( mBRdisabled )
350 return; 352 return;
351#ifndef DESKTOP_VERSION 353#ifndef DESKTOP_VERSION
352 if ( infrared ) { 354 if ( infrared ) {
353 qDebug("AB disable BeamReceive "); 355 qDebug("AB disable BeamReceive ");
354 delete infrared; 356 delete infrared;
355 infrared = 0; 357 infrared = 0;
356 mActionBR->setChecked(false); 358 mActionBR->setChecked(false);
357 return; 359 return;
358 } 360 }
359 qDebug("AB enable BeamReceive "); 361 qDebug("AB enable BeamReceive ");
360 mActionBR->setChecked(true); 362 mActionBR->setChecked(true);
361 363
362 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; 364 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ;
363 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); 365 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& )));
364#endif 366#endif
365} 367}
366 368
367 369
368void KABCore::disableBR(bool b) 370void KABCore::disableBR(bool b)
369{ 371{
372#ifndef DESKTOP_VERSION
370 if ( b ) { 373 if ( b ) {
371 if ( infrared ) { 374 if ( infrared ) {
372 toggleBeamReceive( ); 375 toggleBeamReceive( );
373 mBRdisabled = true;
374 } 376 }
377 mBRdisabled = true;
375 } else { 378 } else {
376 if ( mBRdisabled ) { 379 if ( mBRdisabled ) {
377 mBRdisabled = false; 380 mBRdisabled = false;
378 toggleBeamReceive( ); 381 //toggleBeamReceive( );
379 } 382 }
380 } 383 }
384#endif
381 385
382} 386}
383void KABCore::recieve( QString fn ) 387void KABCore::recieve( QString fn )
384{ 388{
385 //qDebug("KABCore::recieve "); 389 //qDebug("KABCore::recieve ");
386 int count = mAddressBook->importFromFile( fn, true ); 390 int count = mAddressBook->importFromFile( fn, true );
387 mViewManager->refreshView(); 391 mViewManager->refreshView();
388 message(i18n("%1 contact(s) received!").arg( count )); 392 message(i18n("%1 contact(s) received!").arg( count ));
389 topLevelWidget()->showMaximized(); 393 topLevelWidget()->showMaximized();
390 topLevelWidget()->raise(); 394 topLevelWidget()->raise();
391} 395}
392void KABCore::restoreSettings() 396void KABCore::restoreSettings()
393{ 397{
394 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; 398 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce;
395 399
396 bool state; 400 bool state;
397 401
398 if (mMultipleViewsAtOnce) 402 if (mMultipleViewsAtOnce)
399 state = KABPrefs::instance()->mDetailsPageVisible; 403 state = KABPrefs::instance()->mDetailsPageVisible;
400 else 404 else
401 state = false; 405 state = false;
402 406
403 mActionDetails->setChecked( state ); 407 mActionDetails->setChecked( state );
404 setDetailsVisible( state ); 408 setDetailsVisible( state );
405 409
406 state = KABPrefs::instance()->mJumpButtonBarVisible; 410 state = KABPrefs::instance()->mJumpButtonBarVisible;
407 411
408 mActionJumpBar->setChecked( state ); 412 mActionJumpBar->setChecked( state );
409 setJumpButtonBarVisible( state ); 413 setJumpButtonBarVisible( state );
410/*US 414/*US
411 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; 415 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter;
412 if ( splitterSize.count() == 0 ) { 416 if ( splitterSize.count() == 0 ) {
413 splitterSize.append( width() / 2 ); 417 splitterSize.append( width() / 2 );
414 splitterSize.append( width() / 2 ); 418 splitterSize.append( width() / 2 );
415 } 419 }
416 mMiniSplitter->setSizes( splitterSize ); 420 mMiniSplitter->setSizes( splitterSize );
417 if ( mExtensionBarSplitter ) { 421 if ( mExtensionBarSplitter ) {
418 splitterSize = KABPrefs::instance()->mExtensionsSplitter; 422 splitterSize = KABPrefs::instance()->mExtensionsSplitter;
419 if ( splitterSize.count() == 0 ) { 423 if ( splitterSize.count() == 0 ) {
420 splitterSize.append( width() / 2 ); 424 splitterSize.append( width() / 2 );
421 splitterSize.append( width() / 2 ); 425 splitterSize.append( width() / 2 );
422 } 426 }
423 mExtensionBarSplitter->setSizes( splitterSize ); 427 mExtensionBarSplitter->setSizes( splitterSize );
424 428
425 } 429 }
426*/ 430*/
427 mViewManager->restoreSettings(); 431 mViewManager->restoreSettings();
428 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); 432 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField );
429 mExtensionManager->restoreSettings(); 433 mExtensionManager->restoreSettings();
430#ifdef DESKTOP_VERSION 434#ifdef DESKTOP_VERSION
431 int wid = width(); 435 int wid = width();
432 if ( wid < 10 ) 436 if ( wid < 10 )
433 wid = 400; 437 wid = 400;
434#else 438#else
435 int wid = QApplication::desktop()->width(); 439 int wid = QApplication::desktop()->width();
436 if ( wid < 640 ) 440 if ( wid < 640 )
437 wid = QApplication::desktop()->height(); 441 wid = QApplication::desktop()->height();
438#endif 442#endif
439 QValueList<int> splitterSize;// = KABPrefs::instance()->mDetailsSplitter; 443 QValueList<int> splitterSize;// = KABPrefs::instance()->mDetailsSplitter;
440 if ( true /*splitterSize.count() == 0*/ ) { 444 if ( true /*splitterSize.count() == 0*/ ) {
441 splitterSize.append( wid / 2 ); 445 splitterSize.append( wid / 2 );
442 splitterSize.append( wid / 2 ); 446 splitterSize.append( wid / 2 );
443 } 447 }
444 mMiniSplitter->setSizes( splitterSize ); 448 mMiniSplitter->setSizes( splitterSize );
445 if ( mExtensionBarSplitter ) { 449 if ( mExtensionBarSplitter ) {
446 //splitterSize = KABPrefs::instance()->mExtensionsSplitter; 450 //splitterSize = KABPrefs::instance()->mExtensionsSplitter;
447 if ( true /*splitterSize.count() == 0*/ ) { 451 if ( true /*splitterSize.count() == 0*/ ) {
448 splitterSize.append( wid / 2 ); 452 splitterSize.append( wid / 2 );
449 splitterSize.append( wid / 2 ); 453 splitterSize.append( wid / 2 );
450 } 454 }
451 mExtensionBarSplitter->setSizes( splitterSize ); 455 mExtensionBarSplitter->setSizes( splitterSize );
452 456
453 } 457 }
454 458
455 459
456} 460}
457 461
458void KABCore::saveSettings() 462void KABCore::saveSettings()
459{ 463{
460 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); 464 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked();
461 if ( mExtensionBarSplitter ) 465 if ( mExtensionBarSplitter )
462 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 466 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
463 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); 467 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked();
464 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); 468 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes();
465#ifndef KAB_EMBEDDED 469#ifndef KAB_EMBEDDED
466 470
467 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 471 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
468 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); 472 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes();
469#endif //KAB_EMBEDDED 473#endif //KAB_EMBEDDED
470 mExtensionManager->saveSettings(); 474 mExtensionManager->saveSettings();
471 mViewManager->saveSettings(); 475 mViewManager->saveSettings();
472 476
473 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 477 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
474} 478}
475 479
476KABC::AddressBook *KABCore::addressBook() const 480KABC::AddressBook *KABCore::addressBook() const
diff --git a/kaddressbook/kaimportoldialog.cpp b/kaddressbook/kaimportoldialog.cpp
index 10e3c76..848d8af 100644
--- a/kaddressbook/kaimportoldialog.cpp
+++ b/kaddressbook/kaimportoldialog.cpp
@@ -1,127 +1,128 @@
1/* 1/*
2 This file is part of KAddressbook/Pi. 2 This file is part of KAddressbook/Pi.
3 Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org> 3 Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program 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 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qframe.h> 25#include <qframe.h>
26#include <qpixmap.h> 26#include <qpixmap.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qprogressbar.h> 28#include <qprogressbar.h>
29#include <qwidgetstack.h> 29#include <qwidgetstack.h>
30#include <qdatetime.h> 30#include <qdatetime.h>
31#include <qdir.h> 31#include <qdir.h>
32#include <qregexp.h>
32#include <qapplication.h> 33#include <qapplication.h>
33#include <qhbox.h> 34#include <qhbox.h>
34#include <qheader.h> 35#include <qheader.h>
35#include <qdatetime.h> 36#include <qdatetime.h>
36#include <qlistview.h> 37#include <qlistview.h>
37 38
38#include <kdebug.h> 39#include <kdebug.h>
39#include <klocale.h> 40#include <klocale.h>
40#include <kstandarddirs.h> 41#include <kstandarddirs.h>
41#include <kmessagebox.h> 42#include <kmessagebox.h>
42#include <kfiledialog.h> 43#include <kfiledialog.h>
43 44
44#include <libkdepim/categoryselectdialog.h> 45#include <libkdepim/categoryselectdialog.h>
45#include <libkdepim/kinputdialog.h> 46#include <libkdepim/kinputdialog.h>
46 47
47#include <libkcal/calendarlocal.h> 48#include <libkcal/calendarlocal.h>
48#include <libkcal/icalformat.h> 49#include <libkcal/icalformat.h>
49 50
50#include <kabc/addresseelist.h> 51#include <kabc/addresseelist.h>
51#include <kabc/phonenumber.h> 52#include <kabc/phonenumber.h>
52 53
53#include "kaimportoldialog.h" 54#include "kaimportoldialog.h"
54 55
55#include "../outport/msoutl9.h" 56#include "../outport/msoutl9.h"
56#include <ole2.h> 57#include <ole2.h>
57#include <comutil.h> 58#include <comutil.h>
58_Application gOlAppAB; 59_Application gOlAppAB;
59 60
60QDateTime mDdate2Qdtr( DATE dt) 61QDateTime mDdate2Qdtr( DATE dt)
61{ 62{
62 COleDateTime odt; 63 COleDateTime odt;
63 SYSTEMTIME st; 64 SYSTEMTIME st;
64 odt = dt; 65 odt = dt;
65 if ( odt.GetStatus() != 0 ) 66 if ( odt.GetStatus() != 0 )
66 return QDateTime(); 67 return QDateTime();
67 odt.GetAsSystemTime(st); 68 odt.GetAsSystemTime(st);
68 if ( st.wYear > 4000 ) // this program as a year 4000 bug! 69 if ( st.wYear > 4000 ) // this program as a year 4000 bug!
69 return QDateTime(); 70 return QDateTime();
70 // it seems so, that 1.1.4501 indicates: DATE invalid 71 // it seems so, that 1.1.4501 indicates: DATE invalid
71 QDateTime qdt (QDate(st.wYear, st.wMonth,st.wDay ),QTime( st.wHour, st.wMinute,st.wSecond ) ); 72 QDateTime qdt (QDate(st.wYear, st.wMonth,st.wDay ),QTime( st.wHour, st.wMinute,st.wSecond ) );
72 return qdt; 73 return qdt;
73} 74}
74 75
75class OLEListViewItem : public QCheckListItem 76class OLEListViewItem : public QCheckListItem
76{ 77{
77 public: 78 public:
78 OLEListViewItem( QListView *parent, QString text ) : 79 OLEListViewItem( QListView *parent, QString text ) :
79 QCheckListItem( parent, text, QCheckListItem::CheckBox ) { ; }; 80 QCheckListItem( parent, text, QCheckListItem::CheckBox ) { ; };
80 OLEListViewItem( QListViewItem *after, QString text ) : 81 OLEListViewItem( QListViewItem *after, QString text ) :
81 QCheckListItem( after, text, QCheckListItem::CheckBox ) { ; }; 82 QCheckListItem( after, text, QCheckListItem::CheckBox ) { ; };
82 ~OLEListViewItem() {}; 83 ~OLEListViewItem() {};
83 void setData( DWORD data ) {mData= data; }; 84 void setData( DWORD data ) {mData= data; };
84 DWORD data() { return mData ;}; 85 DWORD data() { return mData ;};
85 private: 86 private:
86 DWORD mData; 87 DWORD mData;
87}; 88};
88 89
89KAImportOLdialog::KAImportOLdialog( const QString &caption, 90KAImportOLdialog::KAImportOLdialog( const QString &caption,
90 KABC::AddressBook * aBook, QWidget *parent ) : 91 KABC::AddressBook * aBook, QWidget *parent ) :
91 KDialogBase( Plain, caption, User1 | Close, Ok, 92 KDialogBase( Plain, caption, User1 | Close, Ok,
92 parent, caption, true, false, i18n("Import!") ) 93 parent, caption, true, false, i18n("Import!") )
93{ 94{
94 QHBox * mw = new QHBox( this ); 95 QHBox * mw = new QHBox( this );
95 setMainWidget( mw ); 96 setMainWidget( mw );
96 mListView = new QListView( mw ); 97 mListView = new QListView( mw );
97 mListView->addColumn(i18n("Select Folder to import")); 98 mListView->addColumn(i18n("Select Folder to import"));
98 mListView->addColumn(i18n("Content Type")); 99 mListView->addColumn(i18n("Content Type"));
99 mABook = aBook; 100 mABook = aBook;
100 connect( this, SIGNAL( user1Clicked() ),SLOT ( slotApply())); 101 connect( this, SIGNAL( user1Clicked() ),SLOT ( slotApply()));
101 setupFolderView(); 102 setupFolderView();
102 resize( sizeHint().width()+50, sizeHint().height()+50 ); 103 resize( sizeHint().width()+50, sizeHint().height()+50 );
103} 104}
104 105
105KAImportOLdialog::~KAImportOLdialog() 106KAImportOLdialog::~KAImportOLdialog()
106{ 107{
107 108
108} 109}
109 110
110KABC::Addressee::List KAImportOLdialog::getAddressList() 111KABC::Addressee::List KAImportOLdialog::getAddressList()
111{ 112{
112 return mAList; 113 return mAList;
113} 114}
114void KAImportOLdialog::setupFolderView() 115void KAImportOLdialog::setupFolderView()
115{ 116{
116 SCODE sc = ::OleInitialize(NULL); 117 SCODE sc = ::OleInitialize(NULL);
117 if ( FAILED ( sc ) ) { 118 if ( FAILED ( sc ) ) {
118 KMessageBox::information(this,"OLE initialisation failed"); 119 KMessageBox::information(this,"OLE initialisation failed");
119 return; 120 return;
120 } 121 }
121 122
122 if(!gOlAppAB.CreateDispatch(_T("Outlook.Application"),NULL)){ 123 if(!gOlAppAB.CreateDispatch(_T("Outlook.Application"),NULL)){
123 KMessageBox::information(this,"Sorry, cannot access Outlook"); 124 KMessageBox::information(this,"Sorry, cannot access Outlook");
124 return ; 125 return ;
125 } 126 }
126 MAPIFolder mfInbox; 127 MAPIFolder mfInbox;
127 MAPIFolder mfRoot; 128 MAPIFolder mfRoot;
@@ -174,522 +175,559 @@ void KAImportOLdialog::addFolder(OLEListViewItem* iParent, LPDISPATCH dispParent
174 case 2: 175 case 2:
175 ts = i18n("Contacts"); 176 ts = i18n("Contacts");
176 break; 177 break;
177 case 3: 178 case 3:
178 ts = i18n("Todos"); 179 ts = i18n("Todos");
179 break; 180 break;
180 case 4: 181 case 4:
181 ts = i18n("Journals"); 182 ts = i18n("Journals");
182 break; 183 break;
183 case 5: 184 case 5:
184 ts = i18n("Notes"); 185 ts = i18n("Notes");
185 break; 186 break;
186 default: 187 default:
187 ts = i18n("Unknown"); 188 ts = i18n("Unknown");
188 } 189 }
189 hChild->setText( 1,ts); 190 hChild->setText( 1,ts);
190 hChild->setData( (DWORD) mfChild.m_lpDispatch ); 191 hChild->setData( (DWORD) mfChild.m_lpDispatch );
191 mfChild.m_lpDispatch->AddRef(); 192 mfChild.m_lpDispatch->AddRef();
192 addFolder(hChild, mfChild.m_lpDispatch); 193 addFolder(hChild, mfChild.m_lpDispatch);
193 } 194 }
194} 195}
195 196
196void KAImportOLdialog::slotApply() 197void KAImportOLdialog::slotApply()
197{ 198{
198 importedItems = 0; 199 importedItems = 0;
199 OLEListViewItem* child = (OLEListViewItem*) mListView->firstChild(); 200 OLEListViewItem* child = (OLEListViewItem*) mListView->firstChild();
200 while ( child ) { 201 while ( child ) {
201 if ( child->isOn() ) 202 if ( child->isOn() )
202 readContactData( child->data() ); 203 readContactData( child->data() );
203 child = (OLEListViewItem*) child->itemBelow(); 204 child = (OLEListViewItem*) child->itemBelow();
204 } 205 }
205 QString mes = i18n("Importing complete.\n\n%1 items imported.").arg( importedItems); 206 QString mes = i18n("Importing complete.\n\n%1 items imported.").arg( importedItems);
206 KMessageBox::information(this,mes); 207 KMessageBox::information(this,mes);
207} 208}
208void KAImportOLdialog::readContactData( DWORD folder ) 209void KAImportOLdialog::readContactData( DWORD folder )
209{ 210{
210 211
211 LPDISPATCH dispItem = (LPDISPATCH)folder; 212 LPDISPATCH dispItem = (LPDISPATCH)folder;
212 dispItem->AddRef(); 213 dispItem->AddRef();
213 MAPIFolder mf(dispItem); 214 MAPIFolder mf(dispItem);
214 mf.m_lpDispatch->AddRef(); 215 mf.m_lpDispatch->AddRef();
215 _Items folderItems; 216 _Items folderItems;
216 _variant_t indx((long)0); 217 _variant_t indx((long)0);
217 LPDISPATCH itm; 218 LPDISPATCH itm;
218 int i; 219 int i;
219 folderItems = mf.GetItems(); 220 folderItems = mf.GetItems();
220 QProgressBar bar( folderItems.GetCount(),0 ); 221 QProgressBar bar( folderItems.GetCount(),0 );
221 bar.setCaption (i18n("Importing - close to abort!") ); 222 bar.setCaption (i18n("Importing - close to abort!") );
222 int h = bar.sizeHint().height() ; 223 int h = bar.sizeHint().height() ;
223 int w = 300; 224 int w = 300;
224 int dw = QApplication::desktop()->width(); 225 int dw = QApplication::desktop()->width();
225 int dh = QApplication::desktop()->height(); 226 int dh = QApplication::desktop()->height();
226 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 227 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
227 bar.show(); 228 bar.show();
228 for(i=1; i <= folderItems.GetCount(); ++i) 229 for(i=1; i <= folderItems.GetCount(); ++i)
229 { 230 {
230 qApp->processEvents(); 231 qApp->processEvents();
231 if ( ! bar.isVisible() ) 232 if ( ! bar.isVisible() )
232 return ; 233 return ;
233 bar.setProgress( i ); 234 bar.setProgress( i );
234 indx = (long)i; 235 indx = (long)i;
235 itm = folderItems.Item(indx.Detach()); 236 itm = folderItems.Item(indx.Detach());
236 _ContactItem * pItem = (_ContactItem *)&itm; 237 _ContactItem * pItem = (_ContactItem *)&itm;
237 ol2kapiContact( pItem ); 238 ol2kapiContact( pItem );
238 itm->Release(); 239 itm->Release();
239 } 240 }
240} 241}
241void KAImportOLdialog::slotOk() 242void KAImportOLdialog::slotOk()
242{ 243{
243 QDialog::accept(); 244 QDialog::accept();
244} 245}
245 246
246void KAImportOLdialog::ol2kapiContact( _ContactItem * aItem ) 247void KAImportOLdialog::ol2kapiContact( _ContactItem * aItem )
247{ 248{
248 KABC::Addressee addressee; 249 KABC::Addressee addressee;
249 250
250 addressee.setUid( QString::fromUcs2(aItem->GetEntryID().GetBuffer())); 251 addressee.setUid( QString::fromUcs2(aItem->GetEntryID().GetBuffer()));
251 //GetLastModificationTime() 252 //GetLastModificationTime()
252 //addressee.setName( const QString &name ); 253 //addressee.setName( const QString &name );
253 //addressee.setFormattedName( const QString &formattedName ); 254 //addressee.setFormattedName( const QString &formattedName );
254 addressee.setFamilyName( QString::fromUcs2(aItem->GetLastName().GetBuffer()) ); 255 addressee.setFamilyName( QString::fromUcs2(aItem->GetLastName().GetBuffer()) );
255 addressee.setGivenName( QString::fromUcs2(aItem->GetFirstName().GetBuffer()) ); 256 addressee.setGivenName( QString::fromUcs2(aItem->GetFirstName().GetBuffer()) );
256 addressee.setAdditionalName( QString::fromUcs2(aItem->GetMiddleName().GetBuffer()) ); 257 addressee.setAdditionalName( QString::fromUcs2(aItem->GetMiddleName().GetBuffer()) );
257 addressee.setPrefix(QString::fromUcs2(aItem->GetTitle().GetBuffer()) ); 258 addressee.setPrefix(QString::fromUcs2(aItem->GetTitle().GetBuffer()) );
258 addressee.setSuffix( QString::fromUcs2(aItem->GetSuffix().GetBuffer()) ); 259 addressee.setSuffix( QString::fromUcs2(aItem->GetSuffix().GetBuffer()) );
259 addressee.setNickName( QString::fromUcs2(aItem->GetNickName().GetBuffer()) ); 260 addressee.setNickName( QString::fromUcs2(aItem->GetNickName().GetBuffer()) );
260 QDateTime dtb = mDdate2Qdtr(aItem->GetBirthday()); 261 QDateTime dtb = mDdate2Qdtr(aItem->GetBirthday());
261 if ( dtb.isValid() ) 262 if ( dtb.isValid() )
262 addressee.setBirthday( mDdate2Qdtr(aItem->GetBirthday())); 263 addressee.setBirthday( mDdate2Qdtr(aItem->GetBirthday()));
263 264
264 //QString::fromUcs2(aItem->.GetBuffer()) 265 //QString::fromUcs2(aItem->.GetBuffer())
265 //addressee.setMailer( const QString &mailer ); 266 //addressee.setMailer( const QString &mailer );
266 //addressee.setTimeZone( const TimeZone &timeZone ); 267 //addressee.setTimeZone( const TimeZone &timeZone );
267 //addressee.setGeo( const Geo &geo ); 268 //addressee.setGeo( const Geo &geo );
268 //addressee.setTitle( QString::fromUcs2(aItem->GetJobTitle().GetBuffer()) );// titel is the prefix 269 //addressee.setTitle( QString::fromUcs2(aItem->GetJobTitle().GetBuffer()) );// titel is the prefix
269 addressee.setRole( QString::fromUcs2(aItem->GetJobTitle().GetBuffer()) ); 270 addressee.setRole( QString::fromUcs2(aItem->GetJobTitle().GetBuffer()) );
270 addressee.setOrganization( QString::fromUcs2(aItem->GetCompanyName().GetBuffer()) ); 271 addressee.setOrganization( QString::fromUcs2(aItem->GetCompanyName().GetBuffer()).replace( QRegExp("\\r"), "") );
271 QString notesStr = QString::fromUcs2(aItem->GetBody().GetBuffer()); 272 QString notesStr = QString::fromUcs2(aItem->GetBody().GetBuffer());
273 notesStr.replace( QRegExp("\\r"), "");
272 274
273 addressee.setProductId( QString::fromUcs2(aItem->GetCustomerID().GetBuffer()) ); 275 addressee.setProductId( QString::fromUcs2(aItem->GetCustomerID().GetBuffer()) );
274 //addressee.setRevision( const QDateTime &revision ); 276 //addressee.setRevision( const QDateTime &revision );
275 // addressee.setSortString( const QString &sortString ); 277 // addressee.setSortString( const QString &sortString );
276 addressee.setUrl( QString::fromUcs2(aItem->GetWebPage().GetBuffer()) ); 278 addressee.setUrl( QString::fromUcs2(aItem->GetWebPage().GetBuffer()) );
277 279
278 QString tempS; 280 QString tempS;
279 tempS = QString::fromUcs2(aItem->GetNetMeetingAlias().GetBuffer())+" AT SERVER: " +QString::fromUcs2(aItem->GetNetMeetingServer().GetBuffer()); 281 tempS = QString::fromUcs2(aItem->GetNetMeetingAlias().GetBuffer())+" AT SERVER: " +QString::fromUcs2(aItem->GetNetMeetingServer().GetBuffer());
280 if ( tempS.length() > 12 ) 282 if ( tempS.length() > 12 )
281 addressee.insertCustom( "KADDRESSBOOK", "X-IMAddress", tempS ); 283 addressee.insertCustom( "KADDRESSBOOK", "X-IMAddress", tempS );
282 tempS = QString::fromUcs2(aItem->GetSpouse().GetBuffer()); 284 tempS = QString::fromUcs2(aItem->GetSpouse().GetBuffer());
283 if ( !tempS.isEmpty() ) 285 if ( !tempS.isEmpty() )
284 addressee.insertCustom( "KADDRESSBOOK", "X-SpousesName", tempS ); 286 addressee.insertCustom( "KADDRESSBOOK", "X-SpousesName", tempS );
285 tempS = QString::fromUcs2(aItem->GetManagerName().GetBuffer()); 287 tempS = QString::fromUcs2(aItem->GetManagerName().GetBuffer());
286 if ( !tempS.isEmpty() ) 288 if ( !tempS.isEmpty() )
287 addressee.insertCustom( "KADDRESSBOOK", "X-ManagersName", tempS ); 289 addressee.insertCustom( "KADDRESSBOOK", "X-ManagersName", tempS );
288 tempS = QString::fromUcs2(aItem->GetAssistantName().GetBuffer()); 290 tempS = QString::fromUcs2(aItem->GetAssistantName().GetBuffer());
289 if ( !tempS.isEmpty() ) 291 if ( !tempS.isEmpty() )
290 addressee.insertCustom( "KADDRESSBOOK", "X-AssistantsName", tempS ); 292 addressee.insertCustom( "KADDRESSBOOK", "X-AssistantsName", tempS );
291 tempS = QString::fromUcs2(aItem->GetDepartment().GetBuffer()); 293 tempS = QString::fromUcs2(aItem->GetDepartment().GetBuffer());
292 if ( !tempS.isEmpty() ) 294 if ( !tempS.isEmpty() )
293 addressee.insertCustom( "KADDRESSBOOK", "X-Department", tempS ); 295 addressee.insertCustom( "KADDRESSBOOK", "X-Department", tempS );
294 tempS = QString::fromUcs2(aItem->GetOfficeLocation().GetBuffer()); 296 tempS = QString::fromUcs2(aItem->GetOfficeLocation().GetBuffer()).replace( QRegExp("\\r"), "");
295 if ( !tempS.isEmpty() ) 297 if ( !tempS.isEmpty() )
296 addressee.insertCustom( "KADDRESSBOOK", "X-Office",tempS ); 298 addressee.insertCustom( "KADDRESSBOOK", "X-Office",tempS );
297 tempS = QString::fromUcs2(aItem->GetProfession().GetBuffer()); 299 tempS = QString::fromUcs2(aItem->GetProfession().GetBuffer());
298 if ( !tempS.isEmpty() ) 300 if ( !tempS.isEmpty() )
299 addressee.insertCustom( "KADDRESSBOOK", "X-Profession", tempS ); 301 addressee.insertCustom( "KADDRESSBOOK", "X-Profession", tempS );
300 dtb = mDdate2Qdtr(aItem->GetAnniversary()); 302 dtb = mDdate2Qdtr(aItem->GetAnniversary());
301 if (dtb.isValid() ) { 303 if (dtb.isValid() ) {
302 QString dt = KGlobal::locale()->formatDate( dtb.date() , true, KLocale::ISODate); 304 QString dt = KGlobal::locale()->formatDate( dtb.date() , true, KLocale::ISODate);
303 addressee.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); 305 addressee.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
304 } 306 }
305 int sec = aItem->GetSensitivity() ; 307 int sec = aItem->GetSensitivity() ;
306 if ( sec > 1 )// mapping pers -> private 308 if ( sec > 1 )// mapping pers -> private
307 --sec; 309 --sec;
308 addressee.setSecrecy( sec ); 310 addressee.setSecrecy( sec );
309 //addressee.setLogo( const Picture &logo ); 311 //addressee.setLogo( const Picture &logo );
310 //addressee.setPhoto( const Picture &photo ); 312 //addressee.setPhoto( const Picture &photo );
311 //addressee.setSound( const Sound &sound ); 313 //addressee.setSound( const Sound &sound );
312 //addressee.setAgent( const Agent &agent ); 314 //addressee.setAgent( const Agent &agent );
313 QString cat = QString::fromUcs2( aItem->GetCategories().GetBuffer()); 315 QString cat = QString::fromUcs2( aItem->GetCategories().GetBuffer()).replace( QRegExp("\\r"), "");
314 addressee.setCategories( QStringList::split( ";", cat )); 316 addressee.setCategories( QStringList::split( ";", cat ));
315 317
316 QString phoneS; 318 QString phoneS;
317 319
318 phoneS = QString::fromUcs2( aItem->GetAssistantTelephoneNumber().GetBuffer()); 320 phoneS = QString::fromUcs2( aItem->GetAssistantTelephoneNumber().GetBuffer());
319 if ( ! phoneS.isEmpty()) 321 if ( ! phoneS.isEmpty())
320 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Voice ) ); 322 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Voice ) );
321 phoneS = QString::fromUcs2( aItem->GetBusinessTelephoneNumber().GetBuffer()); 323 phoneS = QString::fromUcs2( aItem->GetBusinessTelephoneNumber().GetBuffer());
322 if ( ! phoneS.isEmpty()) 324 if ( ! phoneS.isEmpty())
323 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work ) ); 325 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work ) );
324 phoneS = QString::fromUcs2( aItem->GetBusiness2TelephoneNumber().GetBuffer()); 326 phoneS = QString::fromUcs2( aItem->GetBusiness2TelephoneNumber().GetBuffer());
325 if ( ! phoneS.isEmpty()) 327 if ( ! phoneS.isEmpty())
326 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work ) ); 328 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work ) );
327 phoneS = QString::fromUcs2( aItem->GetBusinessFaxNumber().GetBuffer()); 329 phoneS = QString::fromUcs2( aItem->GetBusinessFaxNumber().GetBuffer());
328 if ( ! phoneS.isEmpty()) 330 if ( ! phoneS.isEmpty())
329 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Fax ) ); 331 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Fax ) );
330 phoneS = QString::fromUcs2( aItem->GetCarTelephoneNumber().GetBuffer()); 332 phoneS = QString::fromUcs2( aItem->GetCarTelephoneNumber().GetBuffer());
331 if ( ! phoneS.isEmpty()) 333 if ( ! phoneS.isEmpty())
332 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Car ) ); 334 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Car ) );
333 phoneS = QString::fromUcs2( aItem->GetHomeTelephoneNumber().GetBuffer()); 335 phoneS = QString::fromUcs2( aItem->GetHomeTelephoneNumber().GetBuffer());
334 if ( ! phoneS.isEmpty()) 336 if ( ! phoneS.isEmpty())
335 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home ) ); 337 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home ) );
336 phoneS = QString::fromUcs2( aItem->GetHome2TelephoneNumber().GetBuffer()); 338 phoneS = QString::fromUcs2( aItem->GetHome2TelephoneNumber().GetBuffer());
337 if ( ! phoneS.isEmpty()) 339 if ( ! phoneS.isEmpty())
338 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home ) ); 340 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home ) );
339 phoneS = QString::fromUcs2( aItem->GetHomeFaxNumber().GetBuffer()); 341 phoneS = QString::fromUcs2( aItem->GetHomeFaxNumber().GetBuffer());
340 if ( ! phoneS.isEmpty()) 342 if ( ! phoneS.isEmpty())
341 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home + KABC::PhoneNumber::Fax ) ); 343 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Home + KABC::PhoneNumber::Fax ) );
342 phoneS = QString::fromUcs2( aItem->GetISDNNumber().GetBuffer()); 344 phoneS = QString::fromUcs2( aItem->GetISDNNumber().GetBuffer());
343 if ( ! phoneS.isEmpty()) 345 if ( ! phoneS.isEmpty())
344 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Isdn ) ); 346 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Isdn ) );
345 phoneS = QString::fromUcs2( aItem->GetMobileTelephoneNumber().GetBuffer()); 347 phoneS = QString::fromUcs2( aItem->GetMobileTelephoneNumber().GetBuffer());
346 if ( ! phoneS.isEmpty()) 348 if ( ! phoneS.isEmpty())
347 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Cell ) ); 349 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Cell ) );
348 phoneS = QString::fromUcs2( aItem->GetOtherFaxNumber().GetBuffer()); 350 phoneS = QString::fromUcs2( aItem->GetOtherFaxNumber().GetBuffer());
349 if ( ! phoneS.isEmpty()) 351 if ( ! phoneS.isEmpty())
350 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Fax ) ); 352 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Fax ) );
351 phoneS = QString::fromUcs2( aItem->GetOtherTelephoneNumber().GetBuffer()); 353 phoneS = QString::fromUcs2( aItem->GetOtherTelephoneNumber().GetBuffer());
352 if ( ! phoneS.isEmpty()) 354 if ( ! phoneS.isEmpty())
353 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Voice ) ); 355 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Voice ) );
354 phoneS = QString::fromUcs2( aItem->GetPagerNumber().GetBuffer()); 356 phoneS = QString::fromUcs2( aItem->GetPagerNumber().GetBuffer());
355 if ( ! phoneS.isEmpty()) 357 if ( ! phoneS.isEmpty())
356 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Pager ) ); 358 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Pager ) );
357 phoneS = QString::fromUcs2( aItem->GetPrimaryTelephoneNumber().GetBuffer()); 359 phoneS = QString::fromUcs2( aItem->GetPrimaryTelephoneNumber().GetBuffer());
358 if ( ! phoneS.isEmpty()) 360 if ( ! phoneS.isEmpty())
359 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Pref ) ); 361 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Pref ) );
360 phoneS = QString::fromUcs2( aItem->GetTTYTDDTelephoneNumber().GetBuffer()); 362 phoneS = QString::fromUcs2( aItem->GetTTYTDDTelephoneNumber().GetBuffer());
361 if ( ! phoneS.isEmpty()) 363 if ( ! phoneS.isEmpty())
362 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Modem ) ); 364 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Modem ) );
363 phoneS = QString::fromUcs2( aItem->GetTelexNumber().GetBuffer()); 365 phoneS = QString::fromUcs2( aItem->GetTelexNumber().GetBuffer());
364 if ( ! phoneS.isEmpty()) 366 if ( ! phoneS.isEmpty())
365 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Fax + KABC::PhoneNumber::Bbs ) ); 367 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Fax + KABC::PhoneNumber::Bbs ) );
366 phoneS = QString::fromUcs2( aItem->GetCompanyMainTelephoneNumber().GetBuffer()); 368 phoneS = QString::fromUcs2( aItem->GetCompanyMainTelephoneNumber().GetBuffer());
367 if ( ! phoneS.isEmpty()) 369 if ( ! phoneS.isEmpty())
368 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Pref ) ); 370 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Work + KABC::PhoneNumber::Pref ) );
369 phoneS = QString::fromUcs2( aItem->GetRadioTelephoneNumber().GetBuffer()); 371 phoneS = QString::fromUcs2( aItem->GetRadioTelephoneNumber().GetBuffer());
370 if ( ! phoneS.isEmpty()) 372 if ( ! phoneS.isEmpty())
371 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Video ) ); 373 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Video ) );
372 phoneS = QString::fromUcs2( aItem->GetCallbackTelephoneNumber().GetBuffer()); 374 phoneS = QString::fromUcs2( aItem->GetCallbackTelephoneNumber().GetBuffer());
373 if ( ! phoneS.isEmpty()) 375 if ( ! phoneS.isEmpty())
374 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Voice + KABC::PhoneNumber::Pref ) ); 376 addressee.insertPhoneNumber( KABC::PhoneNumber(phoneS ,KABC::PhoneNumber::Voice + KABC::PhoneNumber::Pref ) );
375 377
376 bool preferred = true; 378 bool preferred = true;
377 phoneS = QString::fromUcs2( aItem->GetEmail1Address().GetBuffer()); 379 phoneS = QString::fromUcs2( aItem->GetEmail1Address().GetBuffer());
378 if ( ! phoneS.isEmpty()) { 380 if ( ! phoneS.isEmpty()) {
379 addressee.insertEmail(phoneS , preferred ); 381 addressee.insertEmail(phoneS , preferred );
380 preferred = false; 382 preferred = false;
381 } 383 }
382 phoneS = QString::fromUcs2( aItem->GetEmail2Address().GetBuffer()); 384 phoneS = QString::fromUcs2( aItem->GetEmail2Address().GetBuffer());
383 if ( ! phoneS.isEmpty()) { 385 if ( ! phoneS.isEmpty()) {
384 addressee.insertEmail(phoneS , preferred ); 386 addressee.insertEmail(phoneS , preferred );
385 preferred = false; 387 preferred = false;
386 } 388 }
387 phoneS = QString::fromUcs2( aItem->GetEmail3Address().GetBuffer()); 389 phoneS = QString::fromUcs2( aItem->GetEmail3Address().GetBuffer());
388 if ( ! phoneS.isEmpty()) { 390 if ( ! phoneS.isEmpty()) {
389 addressee.insertEmail(phoneS , preferred ); 391 addressee.insertEmail(phoneS , preferred );
390 preferred = false; 392 preferred = false;
391 } 393 }
392 // is this the number of the preferred email? 394 // is this the number of the preferred email?
393 //long GetSelectedMailingAddress();??? 395 //long GetSelectedMailingAddress();???
394 396
395 KABC::Address addressHome; 397 KABC::Address addressHome;
396 KABC::Address* addressAdd = &addressHome; 398 KABC::Address* addressAdd = &addressHome;
397 bool insert = false; 399 bool insert = false;
398 phoneS = QString::fromUcs2( aItem->GetHomeAddressCountry().GetBuffer()); 400 phoneS = QString::fromUcs2( aItem->GetHomeAddressCountry().GetBuffer());
401 phoneS.replace( QRegExp("\\r"), "");
399 if ( ! phoneS.isEmpty()) { 402 if ( ! phoneS.isEmpty()) {
400 addressAdd->setCountry(phoneS ); 403 addressAdd->setCountry(phoneS );
401 insert = true; 404 insert = true;
402 } 405 }
403 phoneS = QString::fromUcs2( aItem->GetHomeAddressState().GetBuffer()); 406 phoneS = QString::fromUcs2( aItem->GetHomeAddressState().GetBuffer());
407 phoneS.replace( QRegExp("\\r"), "");
404 if ( ! phoneS.isEmpty()) { 408 if ( ! phoneS.isEmpty()) {
405 addressAdd->setRegion(phoneS ); 409 addressAdd->setRegion(phoneS );
406 insert = true; 410 insert = true;
407 } 411 }
408 phoneS = QString::fromUcs2( aItem->GetHomeAddressCity().GetBuffer()); 412 phoneS = QString::fromUcs2( aItem->GetHomeAddressCity().GetBuffer());
413 phoneS.replace( QRegExp("\\r"), "");
409 if ( ! phoneS.isEmpty()) { 414 if ( ! phoneS.isEmpty()) {
410 addressAdd->setLocality(phoneS ); 415 addressAdd->setLocality(phoneS );
411 insert = true; 416 insert = true;
412 } 417 }
413 phoneS = QString::fromUcs2( aItem->GetHomeAddressPostalCode().GetBuffer()); 418 phoneS = QString::fromUcs2( aItem->GetHomeAddressPostalCode().GetBuffer());
419 phoneS.replace( QRegExp("\\r"), "");
414 if ( ! phoneS.isEmpty()) { 420 if ( ! phoneS.isEmpty()) {
415 addressAdd->setPostalCode(phoneS ); 421 addressAdd->setPostalCode(phoneS );
416 insert = true; 422 insert = true;
417 } 423 }
418 phoneS = QString::fromUcs2( aItem->GetHomeAddressPostOfficeBox().GetBuffer()); 424 phoneS = QString::fromUcs2( aItem->GetHomeAddressPostOfficeBox().GetBuffer());
425 phoneS.replace( QRegExp("\\r"), "");
419 if ( ! phoneS.isEmpty()) { 426 if ( ! phoneS.isEmpty()) {
420 addressAdd->setPostOfficeBox(phoneS ); 427 addressAdd->setPostOfficeBox(phoneS );
421 insert = true; 428 insert = true;
422 } 429 }
423 phoneS = QString::fromUcs2( aItem->GetHomeAddressStreet().GetBuffer()); 430 phoneS = QString::fromUcs2( aItem->GetHomeAddressStreet().GetBuffer());
431 phoneS.replace( QRegExp("\\r"), "");
424 if ( ! phoneS.isEmpty()) { 432 if ( ! phoneS.isEmpty()) {
425 addressAdd->setStreet(phoneS ); 433 addressAdd->setStreet(phoneS );
426 insert = true; 434 insert = true;
427 } 435 }
428 phoneS = QString::fromUcs2( aItem->GetHomeAddress().GetBuffer()); 436 phoneS = QString::fromUcs2( aItem->GetHomeAddress().GetBuffer());
437 phoneS.replace( QRegExp("\\r"), "");
429 if ( ! phoneS.isEmpty()) { 438 if ( ! phoneS.isEmpty()) {
430 // redundant !addressAdd->setExtended(phoneS ); 439 // redundant !addressAdd->setExtended(phoneS );
431 // insert = true; 440 // insert = true;
432 } 441 }
433 addressAdd->setType( KABC::Address::Home ); 442 addressAdd->setType( KABC::Address::Home );
434 if ( insert ) 443 if ( insert )
435 addressee.insertAddress( *addressAdd ); 444 addressee.insertAddress( *addressAdd );
436 // ++++++++++++++++++++++ end of address 445 // ++++++++++++++++++++++ end of address
437 446
438 KABC::Address addressWork; 447 KABC::Address addressWork;
439 addressAdd = &addressWork; 448 addressAdd = &addressWork;
440 insert = false; 449 insert = false;
441 phoneS = QString::fromUcs2( aItem->GetBusinessAddressCountry().GetBuffer()); 450 phoneS = QString::fromUcs2( aItem->GetBusinessAddressCountry().GetBuffer());
451 phoneS.replace( QRegExp("\\r"), "");
442 if ( ! phoneS.isEmpty()) { 452 if ( ! phoneS.isEmpty()) {
443 addressAdd->setCountry(phoneS ); 453 addressAdd->setCountry(phoneS );
444 insert = true; 454 insert = true;
445 } 455 }
446 phoneS = QString::fromUcs2( aItem->GetBusinessAddressState().GetBuffer()); 456 phoneS = QString::fromUcs2( aItem->GetBusinessAddressState().GetBuffer());
457 phoneS.replace( QRegExp("\\r"), "");
447 if ( ! phoneS.isEmpty()) { 458 if ( ! phoneS.isEmpty()) {
448 addressAdd->setRegion(phoneS ); 459 addressAdd->setRegion(phoneS );
449 insert = true; 460 insert = true;
450 } 461 }
451 phoneS = QString::fromUcs2( aItem->GetBusinessAddressCity().GetBuffer()); 462 phoneS = QString::fromUcs2( aItem->GetBusinessAddressCity().GetBuffer());
463 phoneS.replace( QRegExp("\\r"), "");
452 if ( ! phoneS.isEmpty()) { 464 if ( ! phoneS.isEmpty()) {
453 addressAdd->setLocality(phoneS ); 465 addressAdd->setLocality(phoneS );
454 insert = true; 466 insert = true;
455 } 467 }
456 phoneS = QString::fromUcs2( aItem->GetBusinessAddressPostalCode().GetBuffer()); 468 phoneS = QString::fromUcs2( aItem->GetBusinessAddressPostalCode().GetBuffer());
469 phoneS.replace( QRegExp("\\r"), "");
457 if ( ! phoneS.isEmpty()) { 470 if ( ! phoneS.isEmpty()) {
458 addressAdd->setPostalCode(phoneS ); 471 addressAdd->setPostalCode(phoneS );
459 insert = true; 472 insert = true;
460 } 473 }
461 phoneS = QString::fromUcs2( aItem->GetBusinessAddressPostOfficeBox().GetBuffer()); 474 phoneS = QString::fromUcs2( aItem->GetBusinessAddressPostOfficeBox().GetBuffer());
475 phoneS.replace( QRegExp("\\r"), "");
462 if ( ! phoneS.isEmpty()) { 476 if ( ! phoneS.isEmpty()) {
463 addressAdd->setPostOfficeBox(phoneS ); 477 addressAdd->setPostOfficeBox(phoneS );
464 insert = true; 478 insert = true;
465 } 479 }
466 phoneS = QString::fromUcs2( aItem->GetBusinessAddressStreet().GetBuffer()); 480 phoneS = QString::fromUcs2( aItem->GetBusinessAddressStreet().GetBuffer());
481 phoneS.replace( QRegExp("\\r"), "");
467 if ( ! phoneS.isEmpty()) { 482 if ( ! phoneS.isEmpty()) {
468 addressAdd->setStreet(phoneS ); 483 addressAdd->setStreet(phoneS );
469 insert = true; 484 insert = true;
470 } 485 }
471 phoneS = QString::fromUcs2( aItem->GetBusinessAddress().GetBuffer()); 486 phoneS = QString::fromUcs2( aItem->GetBusinessAddress().GetBuffer());
487 phoneS.replace( QRegExp("\\r"), "");
472 if ( ! phoneS.isEmpty()) { 488 if ( ! phoneS.isEmpty()) {
473 // redundant !addressAdd->setExtended(phoneS ); 489 // redundant !addressAdd->setExtended(phoneS );
474 // insert = true; 490 // insert = true;
475 } 491 }
476 addressAdd->setType( KABC::Address::Work ); 492 addressAdd->setType( KABC::Address::Work );
477 if ( insert ) 493 if ( insert )
478 addressee.insertAddress( *addressAdd ); 494 addressee.insertAddress( *addressAdd );
479 // ++++++++++++++++++++++ end of address 495 // ++++++++++++++++++++++ end of address
480 496
481 KABC::Address addressOther; 497 KABC::Address addressOther;
482 addressAdd = &addressOther; 498 addressAdd = &addressOther;
483 insert = false; 499 insert = false;
484 phoneS = QString::fromUcs2( aItem->GetOtherAddressCountry().GetBuffer()); 500 phoneS = QString::fromUcs2( aItem->GetOtherAddressCountry().GetBuffer());
501 phoneS.replace( QRegExp("\\r"), "");
485 if ( ! phoneS.isEmpty()) { 502 if ( ! phoneS.isEmpty()) {
486 addressAdd->setCountry(phoneS ); 503 addressAdd->setCountry(phoneS );
487 insert = true; 504 insert = true;
488 } 505 }
489 phoneS = QString::fromUcs2( aItem->GetOtherAddressState().GetBuffer()); 506 phoneS = QString::fromUcs2( aItem->GetOtherAddressState().GetBuffer());
507 phoneS.replace( QRegExp("\\r"), "");
490 if ( ! phoneS.isEmpty()) { 508 if ( ! phoneS.isEmpty()) {
491 addressAdd->setRegion(phoneS ); 509 addressAdd->setRegion(phoneS );
492 insert = true; 510 insert = true;
493 } 511 }
494 phoneS = QString::fromUcs2( aItem->GetOtherAddressCity().GetBuffer()); 512 phoneS = QString::fromUcs2( aItem->GetOtherAddressCity().GetBuffer());
513 phoneS.replace( QRegExp("\\r"), "");
495 if ( ! phoneS.isEmpty()) { 514 if ( ! phoneS.isEmpty()) {
496 addressAdd->setLocality(phoneS ); 515 addressAdd->setLocality(phoneS );
497 insert = true; 516 insert = true;
498 } 517 }
499 phoneS = QString::fromUcs2( aItem->GetOtherAddressPostalCode().GetBuffer()); 518 phoneS = QString::fromUcs2( aItem->GetOtherAddressPostalCode().GetBuffer());
519 phoneS.replace( QRegExp("\\r"), "");
500 if ( ! phoneS.isEmpty()) { 520 if ( ! phoneS.isEmpty()) {
501 addressAdd->setPostalCode(phoneS ); 521 addressAdd->setPostalCode(phoneS );
502 insert = true; 522 insert = true;
503 } 523 }
504 phoneS = QString::fromUcs2( aItem->GetOtherAddressPostOfficeBox().GetBuffer()); 524 phoneS = QString::fromUcs2( aItem->GetOtherAddressPostOfficeBox().GetBuffer());
525 phoneS.replace( QRegExp("\\r"), "");
505 if ( ! phoneS.isEmpty()) { 526 if ( ! phoneS.isEmpty()) {
506 addressAdd->setPostOfficeBox(phoneS ); 527 addressAdd->setPostOfficeBox(phoneS );
507 insert = true; 528 insert = true;
508 } 529 }
509 phoneS = QString::fromUcs2( aItem->GetOtherAddressStreet().GetBuffer()); 530 phoneS = QString::fromUcs2( aItem->GetOtherAddressStreet().GetBuffer());
531 phoneS.replace( QRegExp("\\r"), "");
510 if ( ! phoneS.isEmpty()) { 532 if ( ! phoneS.isEmpty()) {
511 addressAdd->setStreet(phoneS ); 533 addressAdd->setStreet(phoneS );
512 insert = true; 534 insert = true;
513 } 535 }
514 phoneS = QString::fromUcs2( aItem->GetOtherAddress().GetBuffer()); 536 phoneS = QString::fromUcs2( aItem->GetOtherAddress().GetBuffer());
515 if ( ! phoneS.isEmpty()) { 537 if ( ! phoneS.isEmpty()) {
516 // redundant !addressAdd->setExtended(phoneS ); 538 // redundant !addressAdd->setExtended(phoneS );
517 //insert = true; 539 //insert = true;
518 } 540 }
519 //addressAdd->setId( ); 541 //addressAdd->setId( );
520 if ( insert ) 542 if ( insert )
521 addressee.insertAddress( *addressAdd ); 543 addressee.insertAddress( *addressAdd );
522 // ++++++++++++++++++++++ end of address 544 // ++++++++++++++++++++++ end of address
523 KABC::Address addressMail; 545 KABC::Address addressMail;
524 addressAdd = &addressMail; 546 addressAdd = &addressMail;
525 insert = false; 547 insert = false;
526 phoneS = QString::fromUcs2( aItem->GetMailingAddressCountry().GetBuffer()); 548 phoneS = QString::fromUcs2( aItem->GetMailingAddressCountry().GetBuffer());
549 phoneS.replace( QRegExp("\\r"), "");
527 if ( ! phoneS.isEmpty()) { 550 if ( ! phoneS.isEmpty()) {
528 addressAdd->setCountry(phoneS ); 551 addressAdd->setCountry(phoneS );
529 insert = true; 552 insert = true;
530 } 553 }
531 phoneS = QString::fromUcs2( aItem->GetMailingAddressState().GetBuffer()); 554 phoneS = QString::fromUcs2( aItem->GetMailingAddressState().GetBuffer());
555 phoneS.replace( QRegExp("\\r"), "");
532 if ( ! phoneS.isEmpty()) { 556 if ( ! phoneS.isEmpty()) {
533 addressAdd->setRegion(phoneS ); 557 addressAdd->setRegion(phoneS );
534 insert = true; 558 insert = true;
535 } 559 }
536 phoneS = QString::fromUcs2( aItem->GetMailingAddressCity().GetBuffer()); 560 phoneS = QString::fromUcs2( aItem->GetMailingAddressCity().GetBuffer());
561 phoneS.replace( QRegExp("\\r"), "");
537 if ( ! phoneS.isEmpty()) { 562 if ( ! phoneS.isEmpty()) {
538 addressAdd->setLocality(phoneS ); 563 addressAdd->setLocality(phoneS );
539 insert = true; 564 insert = true;
540 } 565 }
541 phoneS = QString::fromUcs2( aItem->GetMailingAddressPostalCode().GetBuffer()); 566 phoneS = QString::fromUcs2( aItem->GetMailingAddressPostalCode().GetBuffer());
567 phoneS.replace( QRegExp("\\r"), "");
542 if ( ! phoneS.isEmpty()) { 568 if ( ! phoneS.isEmpty()) {
543 addressAdd->setPostalCode(phoneS ); 569 addressAdd->setPostalCode(phoneS );
544 insert = true; 570 insert = true;
545 } 571 }
546 phoneS = QString::fromUcs2( aItem->GetMailingAddressPostOfficeBox().GetBuffer()); 572 phoneS = QString::fromUcs2( aItem->GetMailingAddressPostOfficeBox().GetBuffer());
573 phoneS.replace( QRegExp("\\r"), "");
547 if ( ! phoneS.isEmpty()) { 574 if ( ! phoneS.isEmpty()) {
548 addressAdd->setPostOfficeBox(phoneS ); 575 addressAdd->setPostOfficeBox(phoneS );
549 insert = true; 576 insert = true;
550 } 577 }
551 phoneS = QString::fromUcs2( aItem->GetMailingAddressStreet().GetBuffer()); 578 phoneS = QString::fromUcs2( aItem->GetMailingAddressStreet().GetBuffer());
579 phoneS.replace( QRegExp("\\r"), "");
552 if ( ! phoneS.isEmpty()) { 580 if ( ! phoneS.isEmpty()) {
553 addressAdd->setStreet(phoneS ); 581 addressAdd->setStreet(phoneS );
554 insert = true; 582 insert = true;
555 } 583 }
556 phoneS = QString::fromUcs2( aItem->GetMailingAddress().GetBuffer()); 584 phoneS = QString::fromUcs2( aItem->GetMailingAddress().GetBuffer());
585 phoneS.replace( QRegExp("\\r"), "");
557 if ( ! phoneS.isEmpty()) { 586 if ( ! phoneS.isEmpty()) {
558 // redundant ! addressAdd->setExtended(phoneS ); 587 // redundant ! addressAdd->setExtended(phoneS );
559 // insert = true; 588 // insert = true;
560 } 589 }
561 addressAdd->setType( KABC::Address::Postal ); 590 addressAdd->setType( KABC::Address::Postal );
562 if ( insert ) { 591 if ( insert ) {
563 addressee.insertAddress( *addressAdd ); 592 addressee.insertAddress( *addressAdd );
564 } 593 }
565 // the following code is disabled 594 // the following code is disabled
566 // it does not seem to be useful 595 // it does not seem to be useful
567#if 0 596#if 0
568 if ( insert ) { 597 if ( insert ) {
569 addressAdd->setType( KABC::Address::Home ); 598 addressAdd->setType( KABC::Address::Home );
570 if ( addressMail == addressHome ) { 599 if ( addressMail == addressHome ) {
571 addressHome.setType( KABC::Address::Postal+ KABC::Address::Home ); 600 addressHome.setType( KABC::Address::Postal+ KABC::Address::Home );
572 addressee.insertAddress( addressHome ); 601 addressee.insertAddress( addressHome );
573 } else { 602 } else {
574 addressAdd->setType( KABC::Address::Work ); 603 addressAdd->setType( KABC::Address::Work );
575 if ( addressMail == addressWork ){ 604 if ( addressMail == addressWork ){
576 addressWork.setType( KABC::Address::Postal+ KABC::Address::Work ); 605 addressWork.setType( KABC::Address::Postal+ KABC::Address::Work );
577 addressee.insertAddress( addressWork ); 606 addressee.insertAddress( addressWork );
578 607
579 } else { 608 } else {
580 addressAdd->setType( 0 ); 609 addressAdd->setType( 0 );
581 if ( addressOther == addressMail ){ 610 if ( addressOther == addressMail ){
582 addressOther.setType( KABC::Address::Postal ); 611 addressOther.setType( KABC::Address::Postal );
583 addressee.insertAddress( addressOther ); 612 addressee.insertAddress( addressOther );
584 } else { 613 } else {
585 addressee.insertAddress( *addressAdd ); 614 addressee.insertAddress( *addressAdd );
586 } 615 }
587 } 616 }
588 } 617 }
589 } 618 }
590#endif 619#endif
591 // ++++++++++++++++++++++ end of ALL addresses 620 // ++++++++++++++++++++++ end of ALL addresses
592 //GetUserProperties(); 621 //GetUserProperties();
593 tempS = QString::fromUcs2(aItem->GetInternetFreeBusyAddress().GetBuffer()); 622 tempS = QString::fromUcs2(aItem->GetInternetFreeBusyAddress().GetBuffer());
623 phoneS.replace( QRegExp("\\r"), "");
594 if ( !tempS.isEmpty() ) 624 if ( !tempS.isEmpty() )
595 addressee.insertCustom( "KADDRESSBOOK", "X-FreeBusyUrl", tempS ); 625 addressee.insertCustom( "KADDRESSBOOK", "X-FreeBusyUrl", tempS );
596 tempS = QString::fromUcs2(aItem->GetChildren().GetBuffer()); 626 tempS = QString::fromUcs2(aItem->GetChildren().GetBuffer());
597 if ( !tempS.isEmpty() ) 627 if ( !tempS.isEmpty() )
598 addressee.insertCustom( "KADDRESSBOOK", "X-Children", tempS ); 628 addressee.insertCustom( "KADDRESSBOOK", "X-Children", tempS );
599 int gen = aItem->GetGender(); 629 int gen = aItem->GetGender();
600 if ( gen != 0 ) { // 0 undef - 1 female - 2 male 630 if ( gen != 0 ) { // 0 undef - 1 female - 2 male
601 if ( gen == 1 ) 631 if ( gen == 1 )
602 addressee.insertCustom( "KADDRESSBOOK", "X-Gender", "female" ); 632 addressee.insertCustom( "KADDRESSBOOK", "X-Gender", "female" );
603 else 633 else
604 addressee.insertCustom( "KADDRESSBOOK", "X-Gender", "male" ); 634 addressee.insertCustom( "KADDRESSBOOK", "X-Gender", "male" );
605 } 635 }
606 QString additionalInfo; 636 QString additionalInfo;
607 QString tempAdd; 637 QString tempAdd;
608 tempAdd = QString::fromUcs2(aItem->GetLanguage().GetBuffer()); 638 tempAdd = QString::fromUcs2(aItem->GetLanguage().GetBuffer());
609 if ( ! tempAdd.isEmpty() ) { 639 if ( ! tempAdd.isEmpty() ) {
610 additionalInfo += i18n("\nLanguage: "); 640 additionalInfo += i18n("\nLanguage: ");
611 additionalInfo += tempAdd; 641 additionalInfo += tempAdd;
612 } 642 }
613 tempAdd = QString::fromUcs2(aItem->GetHobby().GetBuffer()); 643 tempAdd = QString::fromUcs2(aItem->GetHobby().GetBuffer());
644 phoneS.replace( QRegExp("\\r"), "");
614 if ( ! tempAdd.isEmpty() ) { 645 if ( ! tempAdd.isEmpty() ) {
615 additionalInfo += i18n("\nHobby: "); 646 additionalInfo += i18n("\nHobby: ");
616 additionalInfo += tempAdd;; 647 additionalInfo += tempAdd;;
617 } 648 }
618 tempAdd =QString::fromUcs2(aItem->GetPersonalHomePage().GetBuffer()); 649 tempAdd =QString::fromUcs2(aItem->GetPersonalHomePage().GetBuffer());
650 phoneS.replace( QRegExp("\\r"), "");
619 if ( ! tempAdd.isEmpty() ) { 651 if ( ! tempAdd.isEmpty() ) {
620 additionalInfo += i18n("\nHomepage: "); 652 additionalInfo += i18n("\nHomepage: ");
621 additionalInfo += tempAdd;; 653 additionalInfo += tempAdd;;
622 } 654 }
623 tempAdd = QString::fromUcs2(aItem->GetBillingInformation().GetBuffer()); 655 tempAdd = QString::fromUcs2(aItem->GetBillingInformation().GetBuffer());
656 phoneS.replace( QRegExp("\\r"), "");
624 if ( ! tempAdd.isEmpty() ) { 657 if ( ! tempAdd.isEmpty() ) {
625 additionalInfo += i18n("\nBilling information: "); 658 additionalInfo += i18n("\nBilling information: ");
626 additionalInfo += tempAdd;; 659 additionalInfo += tempAdd;;
627 } 660 }
628 tempAdd = QString::fromUcs2(aItem->GetCustomerID().GetBuffer()); 661 tempAdd = QString::fromUcs2(aItem->GetCustomerID().GetBuffer());
662 phoneS.replace( QRegExp("\\r"), "");
629 if ( ! tempAdd.isEmpty() ) { 663 if ( ! tempAdd.isEmpty() ) {
630 additionalInfo += i18n("\nCustomer ID: "); 664 additionalInfo += i18n("\nCustomer ID: ");
631 additionalInfo += tempAdd;; 665 additionalInfo += tempAdd;;
632 } 666 }
633 tempAdd = QString::fromUcs2(aItem->GetUser1().GetBuffer()); 667 tempAdd = QString::fromUcs2(aItem->GetUser1().GetBuffer());
668 phoneS.replace( QRegExp("\\r"), "");
634 if ( ! tempAdd.isEmpty() ) { 669 if ( ! tempAdd.isEmpty() ) {
635 additionalInfo += i18n("\nUser1: "); 670 additionalInfo += i18n("\nUser1: ");
636 additionalInfo += tempAdd;; 671 additionalInfo += tempAdd;;
637 } 672 }
638 tempAdd = QString::fromUcs2(aItem->GetUser2().GetBuffer()); 673 tempAdd = QString::fromUcs2(aItem->GetUser2().GetBuffer());
674 phoneS.replace( QRegExp("\\r"), "");
639 if ( ! tempAdd.isEmpty() ) { 675 if ( ! tempAdd.isEmpty() ) {
640 additionalInfo += i18n("\nUser2: "); 676 additionalInfo += i18n("\nUser2: ");
641 additionalInfo += tempAdd;; 677 additionalInfo += tempAdd;;
642 } 678 }
643 tempAdd = QString::fromUcs2(aItem->GetUser3().GetBuffer()); 679 tempAdd = QString::fromUcs2(aItem->GetUser3().GetBuffer());
680 phoneS.replace( QRegExp("\\r"), "");
644 if ( ! tempAdd.isEmpty() ) { 681 if ( ! tempAdd.isEmpty() ) {
645 additionalInfo += i18n("\nUser3: "); 682 additionalInfo += i18n("\nUser3: ");
646 additionalInfo += tempAdd;; 683 additionalInfo += tempAdd;;
647 } 684 }
648 tempAdd = QString::fromUcs2(aItem->GetUser4().GetBuffer()); 685 tempAdd = QString::fromUcs2(aItem->GetUser4().GetBuffer());
686 phoneS.replace( QRegExp("\\r"), "");
649 if ( ! tempAdd.isEmpty() ) { 687 if ( ! tempAdd.isEmpty() ) {
650 additionalInfo += i18n("\nUser4: "); 688 additionalInfo += i18n("\nUser4: ");
651 additionalInfo += tempAdd;; 689 additionalInfo += tempAdd;;
652 } 690 }
653 if (!additionalInfo.isEmpty() ) { 691 if (!additionalInfo.isEmpty() ) {
654 tempAdd = notesStr; 692 tempAdd = notesStr;
655 notesStr = "+++++++++++++++++++++++++++\n"; 693 notesStr = "+++++++++++++++++++++++++++\n";
656 notesStr += i18n("Additonal fields created\nby KA/Pi Outlook import:"); 694 notesStr += i18n("Additonal fields created\nby KA/Pi Outlook import:");
657 notesStr += additionalInfo; 695 notesStr += additionalInfo;
658 notesStr += i18n("\nEnd additonal fields created\nby KA/Pi Outlook import!\n"); 696 notesStr += i18n("\nEnd additonal fields created\nby KA/Pi Outlook import!\n");
659 notesStr += "+++++++++++++++++++++++++++\n"; 697 notesStr += "+++++++++++++++++++++++++++\n";
660 notesStr += tempAdd; 698 notesStr += tempAdd;
661 } 699 }
662 addressee.setNote( notesStr ); 700 addressee.setNote( notesStr );
663#if 0 701#if 0
664 // pending 702 // pending
665 - IM address: no clue where to get info about the helper ID 703 - IM address: no clue where to get info about the helper ID
666 -custom fields: difficult to implement - not implemented 704 -custom fields: difficult to implement - not implemented
667 -keys: makes no sense 705 -keys: makes no sense
668#endif 706#endif
669 707
670 if ( addAddressee( addressee )) 708 if ( addAddressee( addressee ))
671 ++importedItems; 709 ++importedItems;
672} 710}
673void KAImportOLdialog::slotCancel() 711void KAImportOLdialog::slotCancel()
674{ 712{
675 reject(); 713 reject();
676} 714}
677 715
678bool KAImportOLdialog::addAddressee( KABC::Addressee a ) 716bool KAImportOLdialog::addAddressee( KABC::Addressee a )
679{ 717{
680 bool add = true; 718 bool add = true;
681 KABC::Addressee::List::Iterator it; 719 KABC::Addressee::List::Iterator it;
682 for ( it = mAList.begin(); it != mAList.end(); ++it ) { 720 for ( it = mAList.begin(); it != mAList.end(); ++it ) {
683 if ( (*it).uid() == a.uid() ) { 721 if ( (*it).uid() == a.uid() ) {
684 add = false; 722 add = false;
685 break; 723 break;
686 } 724 }
687 } 725 }
688 if ( add ) { 726 if ( add ) {
689 if ( mABook->findByUid(a.uid() ).isEmpty()) 727 if ( mABook->findByUid(a.uid() ).isEmpty())
690 mAList.append ( a ); 728 mAList.append ( a );
691 else 729 else
692 add = false; 730 add = false;
693 } 731 }
694 return add; 732 return add;
695} 733}