summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabcore.cpp
Unidiff
Diffstat (limited to 'kaddressbook/kabcore.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp38
1 files changed, 31 insertions, 7 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 27aca2d..3f9b546 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -329,96 +329,97 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
329 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, 329 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal,
330 "X-IMAddress", "KADDRESSBOOK" ); 330 "X-IMAddress", "KADDRESSBOOK" );
331 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 331 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
332 "X-Anniversary", "KADDRESSBOOK" ); 332 "X-Anniversary", "KADDRESSBOOK" );
333 333
334 //US added this field to become compatible with Opie/qtopia addressbook 334 //US added this field to become compatible with Opie/qtopia addressbook
335 // values can be "female" or "male" or "". An empty field represents undefined. 335 // values can be "female" or "male" or "". An empty field represents undefined.
336 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 336 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
337 "X-Gender", "KADDRESSBOOK" ); 337 "X-Gender", "KADDRESSBOOK" );
338 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, 338 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
339 "X-Children", "KADDRESSBOOK" ); 339 "X-Children", "KADDRESSBOOK" );
340 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, 340 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
341 "X-FreeBusyUrl", "KADDRESSBOOK" ); 341 "X-FreeBusyUrl", "KADDRESSBOOK" );
342#endif 342#endif
343 initGUI(); 343 initGUI();
344 344
345 mIncSearchWidget->setFocus(); 345 mIncSearchWidget->setFocus();
346 346
347 347
348 connect( mViewManager, SIGNAL( selected( const QString& ) ), 348 connect( mViewManager, SIGNAL( selected( const QString& ) ),
349 SLOT( setContactSelected( const QString& ) ) ); 349 SLOT( setContactSelected( const QString& ) ) );
350 connect( mViewManager, SIGNAL( executed( const QString& ) ), 350 connect( mViewManager, SIGNAL( executed( const QString& ) ),
351 SLOT( executeContact( const QString& ) ) ); 351 SLOT( executeContact( const QString& ) ) );
352 352
353 connect( mViewManager, SIGNAL( deleteRequest( ) ), 353 connect( mViewManager, SIGNAL( deleteRequest( ) ),
354 SLOT( deleteContacts( ) ) ); 354 SLOT( deleteContacts( ) ) );
355 connect( mViewManager, SIGNAL( modified() ), 355 connect( mViewManager, SIGNAL( modified() ),
356 SLOT( setModified() ) ); 356 SLOT( setModified() ) );
357 357
358 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 358 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
359 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 359 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
360 360
361 connect( mXXPortManager, SIGNAL( modified() ), 361 connect( mXXPortManager, SIGNAL( modified() ),
362 SLOT( setModified() ) ); 362 SLOT( setModified() ) );
363 363
364 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 364 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
365 SLOT( incrementalSearch( const QString& ) ) ); 365 SLOT( incrementalSearch( const QString& ) ) );
366 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 366 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
367 mJumpButtonBar, SLOT( recreateButtons() ) ); 367 mJumpButtonBar, SLOT( recreateButtons() ) );
368 368
369 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 369 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
370 SLOT( sendMail( const QString& ) ) ); 370 SLOT( sendMail( const QString& ) ) );
371 371
372 372
373 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); 373 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
374 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&))); 374 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&)));
375 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&))); 375 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&)));
376 connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle())); 376 connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle()));
377 connect( ExternalAppHandler::instance(), SIGNAL (callContactdialog()),this, SLOT(callContactdialog()));
377 378
378 379
379#ifndef KAB_EMBEDDED 380#ifndef KAB_EMBEDDED
380 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 381 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
381 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 382 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
382 383
383 connect( mDetails, SIGNAL( browse( const QString& ) ), 384 connect( mDetails, SIGNAL( browse( const QString& ) ),
384 SLOT( browse( const QString& ) ) ); 385 SLOT( browse( const QString& ) ) );
385 386
386 387
387 mAddressBookService = new KAddressBookService( this ); 388 mAddressBookService = new KAddressBookService( this );
388 389
389#endif //KAB_EMBEDDED 390#endif //KAB_EMBEDDED
390 391
391 mMessageTimer = new QTimer( this ); 392 mMessageTimer = new QTimer( this );
392 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); 393 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) );
393 mEditorDialog = 0; 394 mEditorDialog = 0;
394 createAddresseeEditorDialog( this ); 395 createAddresseeEditorDialog( this );
395 setModified( false ); 396 setModified( false );
396 mBRdisabled = false; 397 mBRdisabled = false;
397#ifndef DESKTOP_VERSION 398#ifndef DESKTOP_VERSION
398 infrared = 0; 399 infrared = 0;
399#endif 400#endif
400 //toggleBeamReceive( ); 401 //toggleBeamReceive( );
401 //mMainWindow->toolBar()->show(); 402 //mMainWindow->toolBar()->show();
402 // we have a toolbar repainting error on the Zaurus when starting KA/Pi 403 // we have a toolbar repainting error on the Zaurus when starting KA/Pi
403 QTimer::singleShot( 10, this , SLOT ( updateToolBar())); 404 QTimer::singleShot( 10, this , SLOT ( updateToolBar()));
404} 405}
405 406
406void KABCore::updateToolBar() 407void KABCore::updateToolBar()
407{ 408{
408 static int iii = 0; 409 static int iii = 0;
409 ++iii; 410 ++iii;
410 mMainWindow->toolBar()->repaintMe(); 411 mMainWindow->toolBar()->repaintMe();
411 if ( iii < 4 ) 412 if ( iii < 4 )
412 QTimer::singleShot( 100*iii, this , SLOT ( updateToolBar())); 413 QTimer::singleShot( 100*iii, this , SLOT ( updateToolBar()));
413} 414}
414KABCore::~KABCore() 415KABCore::~KABCore()
415{ 416{
416 // save(); 417 // save();
417 //saveSettings(); 418 //saveSettings();
418 //KABPrefs::instance()->writeConfig(); 419 //KABPrefs::instance()->writeConfig();
419 delete AddresseeConfig::instance(); 420 delete AddresseeConfig::instance();
420 mAddressBook = 0; 421 mAddressBook = 0;
421 KABC::StdAddressBook::close(); 422 KABC::StdAddressBook::close();
422 423
423 delete syncManager; 424 delete syncManager;
424#ifndef DESKTOP_VERSION 425#ifndef DESKTOP_VERSION
@@ -790,122 +791,124 @@ void KABCore::mailVCard( const QStringList& uids )
790 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); 791 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") );
791 792
792 793
793/*US 794/*US
794 kapp->invokeMailer( QString::null, QString::null, QString::null, 795 kapp->invokeMailer( QString::null, QString::null, QString::null,
795 QString::null, // subject 796 QString::null, // subject
796 QString::null, // body 797 QString::null, // body
797 QString::null, 798 QString::null,
798 urls ); // attachments 799 urls ); // attachments
799*/ 800*/
800 801
801} 802}
802 803
803/** 804/**
804 Beams the "WhoAmI contact. 805 Beams the "WhoAmI contact.
805*/ 806*/
806void KABCore::beamMySelf() 807void KABCore::beamMySelf()
807{ 808{
808 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); 809 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI();
809 if (!a.isEmpty()) 810 if (!a.isEmpty())
810 { 811 {
811 QStringList uids; 812 QStringList uids;
812 uids << a.uid(); 813 uids << a.uid();
813 814
814 beamVCard(uids); 815 beamVCard(uids);
815 } else { 816 } else {
816 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); 817 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) );
817 818
818 819
819 } 820 }
820} 821}
821void KABCore::updateMainWindow() 822void KABCore::updateMainWindow()
822{ 823{
823 mMainWindow->showMaximized(); 824 mMainWindow->showMaximized();
824 mMainWindow->update(); 825 mMainWindow->update();
825} 826}
826void KABCore::resizeEvent(QResizeEvent* e ) 827void KABCore::resizeEvent(QResizeEvent* e )
827{ 828{
828 if ( !mMiniSplitter ) 829 if ( !mMiniSplitter )
829 return; 830 return;
830 //qDebug("KABCore::resizeEvent(QResizeEvent* e ) "); 831 //qDebug("KABCore::resizeEvent(QResizeEvent* e ) ");
831 if ( QApplication::desktop()->width() >= 480 ) { 832 if ( QApplication::desktop()->width() >= 480 ) {
832 if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480 833 if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480
833 if ( mMiniSplitter->orientation() == Qt::Vertical ) { 834 if ( mMiniSplitter->orientation() == Qt::Vertical ) {
834 mMiniSplitter->setOrientation( Qt::Horizontal); 835 mMiniSplitter->setOrientation( Qt::Horizontal);
835 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 836 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
836 } 837 }
837 if ( QApplication::desktop()->width() <= 640 ) { 838 if ( QApplication::desktop()->width() <= 640 ) {
839 mMainWindow->showMinimized();
838 //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); 840 //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
839 mViewManager->getFilterAction()->setComboWidth( 150 ); 841 mViewManager->getFilterAction()->setComboWidth( 150 );
840 if ( mIncSearchWidget ) 842 if ( mIncSearchWidget )
841 mIncSearchWidget->setSize(); 843 mIncSearchWidget->setSize();
842 QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); 844 QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
843 } 845 }
844 846
845 } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640 847 } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640
846 if ( mMiniSplitter->orientation() == Qt::Horizontal ) { 848 if ( mMiniSplitter->orientation() == Qt::Horizontal ) {
847 mMiniSplitter->setOrientation( Qt::Vertical ); 849 mMiniSplitter->setOrientation( Qt::Vertical );
848 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 850 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
849 } 851 }
850 if ( QApplication::desktop()->width() <= 640 ) { 852 if ( QApplication::desktop()->width() <= 640 ) {
851 //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); 853 //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
852 mMainWindow->showMinimized(); 854 mMainWindow->showMinimized();
853 if ( KABPrefs::instance()->mHideSearchOnSwitch ) { 855 if ( KABPrefs::instance()->mHideSearchOnSwitch ) {
854 if ( mIncSearchWidget ) { 856 if ( mIncSearchWidget ) {
855 mIncSearchWidget->setSize(); 857 mIncSearchWidget->setSize();
856 } 858 }
857 } else { 859 } else {
858 mViewManager->getFilterAction()->setComboWidth( 0 ); 860 mViewManager->getFilterAction()->setComboWidth( 0 );
859 } 861 }
860 QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); 862 QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
861 } 863 }
862 } 864 }
863 } 865 }
866 QWidget::resizeEvent( e );
864 867
865} 868}
866void KABCore::export2phone() 869void KABCore::export2phone()
867{ 870{
868 871
869 QStringList uids; 872 QStringList uids;
870 XXPortSelectDialog dlg( this, false, this ); 873 XXPortSelectDialog dlg( this, false, this );
871 if ( dlg.exec() ) 874 if ( dlg.exec() )
872 uids = dlg.uids(); 875 uids = dlg.uids();
873 else 876 else
874 return; 877 return;
875 if ( uids.isEmpty() ) 878 if ( uids.isEmpty() )
876 return; 879 return;
877 // qDebug("count %d ", uids.count()); 880 // qDebug("count %d ", uids.count());
878 881
879 KAex2phonePrefs ex2phone; 882 KAex2phonePrefs ex2phone;
880 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 883 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
881 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 884 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
882 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 885 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
883 886
884 if ( !ex2phone.exec() ) { 887 if ( !ex2phone.exec() ) {
885 return; 888 return;
886 } 889 }
887 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 890 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
888 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 891 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
889 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 892 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
890 893
891 894
892 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 895 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
893 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 896 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
894 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 897 KPimGlobalPrefs::instance()->mEx2PhoneModel );
895 898
896 QString fileName = getPhoneFile(); 899 QString fileName = getPhoneFile();
897 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) 900 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) )
898 return; 901 return;
899 902
900 message(i18n("Exporting to phone...")); 903 message(i18n("Exporting to phone..."));
901 QTimer::singleShot( 1, this , SLOT ( writeToPhone())); 904 QTimer::singleShot( 1, this , SLOT ( writeToPhone()));
902 905
903} 906}
904QString KABCore::getPhoneFile() 907QString KABCore::getPhoneFile()
905{ 908{
906#ifdef DESKTOP_VERSION 909#ifdef DESKTOP_VERSION
907 return locateLocal("tmp", "phonefile.vcf"); 910 return locateLocal("tmp", "phonefile.vcf");
908#else 911#else
909 return "/tmp/phonefile.vcf"; 912 return "/tmp/phonefile.vcf";
910#endif 913#endif
911 914
@@ -2460,126 +2463,147 @@ void KABCore::clipboardDataChanged()
2460} 2463}
2461 2464
2462void KABCore::updateActionMenu() 2465void KABCore::updateActionMenu()
2463{ 2466{
2464 UndoStack *undo = UndoStack::instance(); 2467 UndoStack *undo = UndoStack::instance();
2465 RedoStack *redo = RedoStack::instance(); 2468 RedoStack *redo = RedoStack::instance();
2466 2469
2467 if ( undo->isEmpty() ) 2470 if ( undo->isEmpty() )
2468 mActionUndo->setText( i18n( "Undo" ) ); 2471 mActionUndo->setText( i18n( "Undo" ) );
2469 else 2472 else
2470 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 2473 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
2471 2474
2472 mActionUndo->setEnabled( !undo->isEmpty() ); 2475 mActionUndo->setEnabled( !undo->isEmpty() );
2473 2476
2474 if ( !redo->top() ) 2477 if ( !redo->top() )
2475 mActionRedo->setText( i18n( "Redo" ) ); 2478 mActionRedo->setText( i18n( "Redo" ) );
2476 else 2479 else
2477 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 2480 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
2478 2481
2479 mActionRedo->setEnabled( !redo->isEmpty() ); 2482 mActionRedo->setEnabled( !redo->isEmpty() );
2480} 2483}
2481 2484
2482void KABCore::configureKeyBindings() 2485void KABCore::configureKeyBindings()
2483{ 2486{
2484#ifndef KAB_EMBEDDED 2487#ifndef KAB_EMBEDDED
2485 KKeyDialog::configure( actionCollection(), true ); 2488 KKeyDialog::configure( actionCollection(), true );
2486#else //KAB_EMBEDDED 2489#else //KAB_EMBEDDED
2487 qDebug("KABCore::configureKeyBindings() not implemented"); 2490 qDebug("KABCore::configureKeyBindings() not implemented");
2488#endif //KAB_EMBEDDED 2491#endif //KAB_EMBEDDED
2489} 2492}
2490 2493
2491#ifdef KAB_EMBEDDED 2494#ifdef KAB_EMBEDDED
2492void KABCore::configureResources() 2495void KABCore::configureResources()
2493{ 2496{
2494 KRES::KCMKResources dlg( this, "" , 0 ); 2497 KRES::KCMKResources dlg( this, "" , 0 );
2495 2498
2496 if ( !dlg.exec() ) 2499 if ( !dlg.exec() )
2497 return; 2500 return;
2498 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 2501 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
2499} 2502}
2500#endif //KAB_EMBEDDED 2503#endif //KAB_EMBEDDED
2501 2504
2502 2505
2503/* this method will be called through the QCop interface from Ko/Pi to select addresses 2506/* this method will be called through the QCop interface from Ko/Pi to select addresses
2504 * for the attendees list of an event. 2507 * for the attendees list of an event.
2505 */ 2508 */
2506void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2509void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2507{ 2510{
2508 QStringList nameList; 2511
2509 QStringList emailList;
2510 QStringList uidList;
2511 bool ok = false; 2512 bool ok = false;
2513 mEmailSourceChannel = sourceChannel;
2512 int wid = uid.toInt( &ok ); 2514 int wid = uid.toInt( &ok );
2515 qDebug("UID %s ", uid.latin1());
2513 if ( ok ) { 2516 if ( ok ) {
2514 if ( wid != QApplication::desktop()->width() ) { 2517 if ( wid != QApplication::desktop()->width() ) {
2515 qDebug("KA/Pi: Request from different desktop geometry. Resizing ..."); 2518 qDebug("KA/Pi: Request from different desktop geometry. Resizing ...");
2516 message( i18n("Resizing, please wait...") ); 2519 message( i18n("Resizing, please wait...") );
2517 raise(); 2520 mMainWindow->showMinimized();
2518 qApp->processEvents(); 2521 /*
2522 {
2523 QCopEnvelope e("QPE/Application/kapi", "callContactdialog()");
2524 }
2525 */
2526 QTimer::singleShot( 1,this, SLOT ( resizeAndCallContactdialog() ) );
2527 return;
2519 } 2528 }
2520 2529
2521 } else { 2530 } else {
2522 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid "); 2531 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid ");
2523 } 2532 }
2533 callContactdialog();
2534 //QCopEnvelope e("QPE/Application/kapi", "callContactdialog()");
2535
2536}
2537void KABCore::resizeAndCallContactdialog()
2538{
2539 updateMainWindow();
2540 QTimer::singleShot( 100,this, SLOT ( callContactdialog() ) );
2541}
2524 2542
2543void KABCore::callContactdialog()
2544{
2545 QStringList nameList;
2546 QStringList emailList;
2547 QStringList uidList;
2548 qDebug("WIDTH %d ", QApplication::desktop()->width() );
2525 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2549 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2526 uint i=0; 2550 uint i=0;
2527 for (i=0; i < list.count(); i++) 2551 for (i=0; i < list.count(); i++)
2528 { 2552 {
2529 nameList.append(list[i].realName()); 2553 nameList.append(list[i].realName());
2530 emailList.append(list[i].preferredEmail()); 2554 emailList.append(list[i].preferredEmail());
2531 uidList.append(list[i].uid()); 2555 uidList.append(list[i].uid());
2532 } 2556 }
2557 QString uid = "unnamed";
2533 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1()); 2558 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1());
2534 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2559 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(mEmailSourceChannel, uid, nameList, emailList, uidList);
2535 2560
2536} 2561}
2537
2538/* this method will be called through the QCop interface from Ko/Pi to select birthdays 2562/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2539 * to put them into the calendar. 2563 * to put them into the calendar.
2540 */ 2564 */
2541void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2565void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2542{ 2566{
2543 // qDebug("KABCore::requestForBirthdayList"); 2567 // qDebug("KABCore::requestForBirthdayList");
2544 QStringList birthdayList; 2568 QStringList birthdayList;
2545 QStringList anniversaryList; 2569 QStringList anniversaryList;
2546 QStringList realNameList; 2570 QStringList realNameList;
2547 QStringList preferredEmailList; 2571 QStringList preferredEmailList;
2548 QStringList assembledNameList; 2572 QStringList assembledNameList;
2549 QStringList uidList; 2573 QStringList uidList;
2550 2574
2551 KABC::AddressBook::Iterator it; 2575 KABC::AddressBook::Iterator it;
2552 2576
2553 int count = 0; 2577 int count = 0;
2554 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2578 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2555 ++count; 2579 ++count;
2556 } 2580 }
2557 QProgressBar bar(count,0 ); 2581 QProgressBar bar(count,0 );
2558 int w = 300; 2582 int w = 300;
2559 if ( QApplication::desktop()->width() < 320 ) 2583 if ( QApplication::desktop()->width() < 320 )
2560 w = 220; 2584 w = 220;
2561 int h = bar.sizeHint().height() ; 2585 int h = bar.sizeHint().height() ;
2562 int dw = QApplication::desktop()->width(); 2586 int dw = QApplication::desktop()->width();
2563 int dh = QApplication::desktop()->height(); 2587 int dh = QApplication::desktop()->height();
2564 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2588 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2565 bar.show(); 2589 bar.show();
2566 bar.setCaption (i18n("Collecting birthdays - close to abort!") ); 2590 bar.setCaption (i18n("Collecting birthdays - close to abort!") );
2567 qApp->processEvents(); 2591 qApp->processEvents();
2568 2592
2569 QDate bday; 2593 QDate bday;
2570 QString anni; 2594 QString anni;
2571 QString formattedbday; 2595 QString formattedbday;
2572 2596
2573 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) 2597 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2574 { 2598 {
2575 if ( ! bar.isVisible() ) 2599 if ( ! bar.isVisible() )
2576 return; 2600 return;
2577 bar.setProgress( count++ ); 2601 bar.setProgress( count++ );
2578 qApp->processEvents(); 2602 qApp->processEvents();
2579 bday = (*it).birthday().date(); 2603 bday = (*it).birthday().date();
2580 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); 2604 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2581 2605
2582 if ( bday.isValid() || !anni.isEmpty()) 2606 if ( bday.isValid() || !anni.isEmpty())
2583 { 2607 {
2584 if (bday.isValid()) 2608 if (bday.isValid())
2585 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); 2609 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);