summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/allday.pngbin0 -> 279 bytes
-rw-r--r--bin/kdepim/korganizer/icons16/allday.pngbin0 -> 271 bytes
-rw-r--r--bin/kdepim/korganizer/iconsmini/allday.pngbin0 -> 273 bytes
-rw-r--r--bin/kdepim/korganizer/iconsmini/configure.pngbin0 -> 763 bytes
-rw-r--r--kaddressbook/kabcore.cpp40
-rw-r--r--korganizer/calendarview.cpp21
-rw-r--r--korganizer/mainwindow.cpp3
-rw-r--r--libkdepim/ksyncmanager.cpp34
8 files changed, 50 insertions, 48 deletions
diff --git a/bin/kdepim/korganizer/allday.png b/bin/kdepim/korganizer/allday.png
new file mode 100644
index 0000000..735eae2
--- a/dev/null
+++ b/bin/kdepim/korganizer/allday.png
Binary files differ
diff --git a/bin/kdepim/korganizer/icons16/allday.png b/bin/kdepim/korganizer/icons16/allday.png
new file mode 100644
index 0000000..426d250
--- a/dev/null
+++ b/bin/kdepim/korganizer/icons16/allday.png
Binary files differ
diff --git a/bin/kdepim/korganizer/iconsmini/allday.png b/bin/kdepim/korganizer/iconsmini/allday.png
new file mode 100644
index 0000000..be9a2ba
--- a/dev/null
+++ b/bin/kdepim/korganizer/iconsmini/allday.png
Binary files differ
diff --git a/bin/kdepim/korganizer/iconsmini/configure.png b/bin/kdepim/korganizer/iconsmini/configure.png
new file mode 100644
index 0000000..ad965e2
--- a/dev/null
+++ b/bin/kdepim/korganizer/iconsmini/configure.png
Binary files differ
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 590cc82..ae0a068 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -398,86 +398,86 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
398#endif 398#endif
399 //toggleBeamReceive( ); 399 //toggleBeamReceive( );
400 //mMainWindow->toolBar()->show(); 400 //mMainWindow->toolBar()->show();
401 // we have a toolbar repainting error on the Zaurus when starting KA/Pi 401 // we have a toolbar repainting error on the Zaurus when starting KA/Pi
402 QTimer::singleShot( 10, this , SLOT ( updateToolBar())); 402 QTimer::singleShot( 10, this , SLOT ( updateToolBar()));
403} 403}
404 404
405void KABCore::updateToolBar() 405void KABCore::updateToolBar()
406{ 406{
407 static int iii = 0; 407 static int iii = 0;
408 ++iii; 408 ++iii;
409 mMainWindow->toolBar()->repaintMe(); 409 mMainWindow->toolBar()->repaintMe();
410 if ( iii < 3 ) 410 if ( iii < 3 )
411 QTimer::singleShot( 10, this , SLOT ( updateToolBar())); 411 QTimer::singleShot( 10, this , SLOT ( updateToolBar()));
412} 412}
413KABCore::~KABCore() 413KABCore::~KABCore()
414{ 414{
415 // save(); 415 // save();
416 //saveSettings(); 416 //saveSettings();
417 //KABPrefs::instance()->writeConfig(); 417 //KABPrefs::instance()->writeConfig();
418 delete AddresseeConfig::instance(); 418 delete AddresseeConfig::instance();
419 mAddressBook = 0; 419 mAddressBook = 0;
420 KABC::StdAddressBook::close(); 420 KABC::StdAddressBook::close();
421 421
422 delete syncManager; 422 delete syncManager;
423#ifndef DESKTOP_VERSION 423#ifndef DESKTOP_VERSION
424 if ( infrared ) 424 if ( infrared )
425 delete infrared; 425 delete infrared;
426#endif 426#endif
427} 427}
428void KABCore::receive( const QCString& cmsg, const QByteArray& data ) 428void KABCore::receive( const QCString& cmsg, const QByteArray& data )
429{ 429{
430 qDebug("KA: QCOP message received: %s ", cmsg.data() ); 430 //qDebug("KA: QCOP message received: %s ", cmsg.data() );
431 if ( cmsg == "setDocument(QString)" ) { 431 if ( cmsg == "setDocument(QString)" ) {
432 QDataStream stream( data, IO_ReadOnly ); 432 QDataStream stream( data, IO_ReadOnly );
433 QString fileName; 433 QString fileName;
434 stream >> fileName; 434 stream >> fileName;
435 recieve( fileName ); 435 recieve( fileName );
436 return; 436 return;
437 } 437 }
438} 438}
439void KABCore::toggleBeamReceive( ) 439void KABCore::toggleBeamReceive( )
440{ 440{
441 if ( mBRdisabled ) 441 if ( mBRdisabled )
442 return; 442 return;
443#ifndef DESKTOP_VERSION 443#ifndef DESKTOP_VERSION
444 if ( infrared ) { 444 if ( infrared ) {
445 qDebug("AB disable BeamReceive "); 445 qDebug("KA: AB disable BeamReceive ");
446 delete infrared; 446 delete infrared;
447 infrared = 0; 447 infrared = 0;
448 mActionBR->setChecked(false); 448 mActionBR->setChecked(false);
449 return; 449 return;
450 } 450 }
451 qDebug("AB enable BeamReceive "); 451 qDebug("KA: AB enable BeamReceive ");
452 mActionBR->setChecked(true); 452 mActionBR->setChecked(true);
453 453
454 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; 454 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ;
455 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); 455 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& )));
456#endif 456#endif
457} 457}
458 458
459 459
460void KABCore::disableBR(bool b) 460void KABCore::disableBR(bool b)
461{ 461{
462#ifndef DESKTOP_VERSION 462#ifndef DESKTOP_VERSION
463 if ( b ) { 463 if ( b ) {
464 if ( infrared ) { 464 if ( infrared ) {
465 toggleBeamReceive( ); 465 toggleBeamReceive( );
466 } 466 }
467 mBRdisabled = true; 467 mBRdisabled = true;
468 } else { 468 } else {
469 if ( mBRdisabled ) { 469 if ( mBRdisabled ) {
470 mBRdisabled = false; 470 mBRdisabled = false;
471 //toggleBeamReceive( ); 471 //toggleBeamReceive( );
472 } 472 }
473 } 473 }
474#endif 474#endif
475 475
476} 476}
477void KABCore::recieve( QString fn ) 477void KABCore::recieve( QString fn )
478{ 478{
479 //qDebug("KABCore::recieve "); 479 //qDebug("KABCore::recieve ");
480 int count = mAddressBook->importFromFile( fn, true ); 480 int count = mAddressBook->importFromFile( fn, true );
481 if ( count ) 481 if ( count )
482 setModified( true ); 482 setModified( true );
483 mViewManager->refreshView(); 483 mViewManager->refreshView();
@@ -539,65 +539,65 @@ void KABCore::restoreSettings()
539 } 539 }
540 mMiniSplitter->setSizes( splitterSize ); 540 mMiniSplitter->setSizes( splitterSize );
541 if ( mExtensionBarSplitter ) { 541 if ( mExtensionBarSplitter ) {
542 //splitterSize = KABPrefs::instance()->mExtensionsSplitter; 542 //splitterSize = KABPrefs::instance()->mExtensionsSplitter;
543 if ( true /*splitterSize.count() == 0*/ ) { 543 if ( true /*splitterSize.count() == 0*/ ) {
544 splitterSize.append( wid / 2 ); 544 splitterSize.append( wid / 2 );
545 splitterSize.append( wid / 2 ); 545 splitterSize.append( wid / 2 );
546 } 546 }
547 mExtensionBarSplitter->setSizes( splitterSize ); 547 mExtensionBarSplitter->setSizes( splitterSize );
548 548
549 } 549 }
550 550
551 551
552} 552}
553 553
554void KABCore::saveSettings() 554void KABCore::saveSettings()
555{ 555{
556 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); 556 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked();
557 if ( mExtensionBarSplitter ) 557 if ( mExtensionBarSplitter )
558 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 558 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
559 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); 559 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked();
560 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); 560 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes();
561#ifndef KAB_EMBEDDED 561#ifndef KAB_EMBEDDED
562 562
563 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 563 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
564 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); 564 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes();
565#endif //KAB_EMBEDDED 565#endif //KAB_EMBEDDED
566 mExtensionManager->saveSettings(); 566 mExtensionManager->saveSettings();
567 mViewManager->saveSettings(); 567 mViewManager->saveSettings();
568 568
569 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 569 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
570 KABPrefs::instance()->writeConfig(); 570 KABPrefs::instance()->writeConfig();
571 qDebug("KABCore::saveSettings() "); 571 qDebug("KA: KABCore::saveSettings() ");
572} 572}
573 573
574KABC::AddressBook *KABCore::addressBook() const 574KABC::AddressBook *KABCore::addressBook() const
575{ 575{
576 return mAddressBook; 576 return mAddressBook;
577} 577}
578 578
579KConfig *KABCore::config() 579KConfig *KABCore::config()
580{ 580{
581#ifndef KAB_EMBEDDED 581#ifndef KAB_EMBEDDED
582 return KABPrefs::instance()->config(); 582 return KABPrefs::instance()->config();
583#else //KAB_EMBEDDED 583#else //KAB_EMBEDDED
584 return KABPrefs::instance()->getConfig(); 584 return KABPrefs::instance()->getConfig();
585#endif //KAB_EMBEDDED 585#endif //KAB_EMBEDDED
586} 586}
587 587
588KActionCollection *KABCore::actionCollection() const 588KActionCollection *KABCore::actionCollection() const
589{ 589{
590 return mGUIClient->actionCollection(); 590 return mGUIClient->actionCollection();
591} 591}
592 592
593KABC::Field *KABCore::currentSearchField() const 593KABC::Field *KABCore::currentSearchField() const
594{ 594{
595 if (mIncSearchWidget) 595 if (mIncSearchWidget)
596 return mIncSearchWidget->currentField(); 596 return mIncSearchWidget->currentField();
597 else 597 else
598 return 0; 598 return 0;
599} 599}
600 600
601QStringList KABCore::selectedUIDs() const 601QStringList KABCore::selectedUIDs() const
602{ 602{
603 return mViewManager->selectedUids(); 603 return mViewManager->selectedUids();
@@ -877,65 +877,65 @@ void KABCore::export2phone()
877 } 877 }
878 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 878 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
879 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 879 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
880 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 880 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
881 881
882 882
883 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 883 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
884 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 884 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
885 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 885 KPimGlobalPrefs::instance()->mEx2PhoneModel );
886 886
887 QString fileName = getPhoneFile(); 887 QString fileName = getPhoneFile();
888 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) 888 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) )
889 return; 889 return;
890 890
891 message(i18n("Exporting to phone...")); 891 message(i18n("Exporting to phone..."));
892 QTimer::singleShot( 1, this , SLOT ( writeToPhone())); 892 QTimer::singleShot( 1, this , SLOT ( writeToPhone()));
893 893
894} 894}
895QString KABCore::getPhoneFile() 895QString KABCore::getPhoneFile()
896{ 896{
897#ifdef DESKTOP_VERSION 897#ifdef DESKTOP_VERSION
898 return locateLocal("tmp", "phonefile.vcf"); 898 return locateLocal("tmp", "phonefile.vcf");
899#else 899#else
900 return "/tmp/phonefile.vcf"; 900 return "/tmp/phonefile.vcf";
901#endif 901#endif
902 902
903} 903}
904void KABCore::writeToPhone( ) 904void KABCore::writeToPhone( )
905{ 905{
906 if ( PhoneAccess::writeToPhone( getPhoneFile() ) ) 906 if ( PhoneAccess::writeToPhone( getPhoneFile() ) )
907 message(i18n("Export to phone finished!")); 907 message(i18n("Export to phone finished!"));
908 else 908 else
909 qDebug(i18n("Error exporting to phone")); 909 qDebug(i18n("KA: Error exporting to phone"));
910} 910}
911void KABCore::beamVCard() 911void KABCore::beamVCard()
912{ 912{
913 QStringList uids; 913 QStringList uids;
914 XXPortSelectDialog dlg( this, false, this ); 914 XXPortSelectDialog dlg( this, false, this );
915 if ( dlg.exec() ) 915 if ( dlg.exec() )
916 uids = dlg.uids(); 916 uids = dlg.uids();
917 else 917 else
918 return; 918 return;
919 if ( uids.isEmpty() ) 919 if ( uids.isEmpty() )
920 return; 920 return;
921 beamVCard( uids ); 921 beamVCard( uids );
922} 922}
923 923
924 924
925void KABCore::beamVCard(const QStringList& uids) 925void KABCore::beamVCard(const QStringList& uids)
926{ 926{
927 927
928 // LR: we should use the /tmp dir on the Zaurus, 928 // LR: we should use the /tmp dir on the Zaurus,
929 // because: /tmp = RAM, (HOME)/kdepim = flash memory 929 // because: /tmp = RAM, (HOME)/kdepim = flash memory
930 930
931#ifdef DESKTOP_VERSION 931#ifdef DESKTOP_VERSION
932 QString fileName = locateLocal("tmp", "kapibeamfile.vcf"); 932 QString fileName = locateLocal("tmp", "kapibeamfile.vcf");
933#else 933#else
934 QString fileName = "/tmp/kapibeamfile.vcf"; 934 QString fileName = "/tmp/kapibeamfile.vcf";
935#endif 935#endif
936 936
937 KABC::VCardConverter converter; 937 KABC::VCardConverter converter;
938 QString description; 938 QString description;
939 QString datastream; 939 QString datastream;
940 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 940 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
941 KABC::Addressee a = mAddressBook->findByUid( *it ); 941 KABC::Addressee a = mAddressBook->findByUid( *it );
@@ -948,65 +948,65 @@ void KABCore::beamVCard(const QStringList& uids)
948 948
949 QString vcard; 949 QString vcard;
950 converter.addresseeToVCard( a, vcard ); 950 converter.addresseeToVCard( a, vcard );
951 int start = 0; 951 int start = 0;
952 int next; 952 int next;
953 while ( (next = vcard.find("TYPE=", start) )>= 0 ) { 953 while ( (next = vcard.find("TYPE=", start) )>= 0 ) {
954 int semi = vcard.find(";", next); 954 int semi = vcard.find(";", next);
955 int dopp = vcard.find(":", next); 955 int dopp = vcard.find(":", next);
956 int sep; 956 int sep;
957 if ( semi < dopp && semi >= 0 ) 957 if ( semi < dopp && semi >= 0 )
958 sep = semi ; 958 sep = semi ;
959 else 959 else
960 sep = dopp; 960 sep = dopp;
961 datastream +=vcard.mid( start, next - start); 961 datastream +=vcard.mid( start, next - start);
962 datastream +=vcard.mid( next+5,sep -next -5 ).upper(); 962 datastream +=vcard.mid( next+5,sep -next -5 ).upper();
963 start = sep; 963 start = sep;
964 } 964 }
965 datastream += vcard.mid( start,vcard.length() ); 965 datastream += vcard.mid( start,vcard.length() );
966 } 966 }
967#ifndef DESKTOP_VERSION 967#ifndef DESKTOP_VERSION
968 QFile outFile(fileName); 968 QFile outFile(fileName);
969 if ( outFile.open(IO_WriteOnly) ) { 969 if ( outFile.open(IO_WriteOnly) ) {
970 datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" ); 970 datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" );
971 QTextStream t( &outFile ); // use a text stream 971 QTextStream t( &outFile ); // use a text stream
972 //t.setEncoding( QTextStream::UnicodeUTF8 ); 972 //t.setEncoding( QTextStream::UnicodeUTF8 );
973 t.setEncoding( QTextStream::Latin1 ); 973 t.setEncoding( QTextStream::Latin1 );
974 t <<datastream.latin1(); 974 t <<datastream.latin1();
975 outFile.close(); 975 outFile.close();
976 Ir *ir = new Ir( this ); 976 Ir *ir = new Ir( this );
977 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); 977 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) );
978 ir->send( fileName, description, "text/x-vCard" ); 978 ir->send( fileName, description, "text/x-vCard" );
979 } else { 979 } else {
980 qDebug("Error open temp beam file "); 980 qDebug("KA: Error open temp beam file ");
981 return; 981 return;
982 } 982 }
983#endif 983#endif
984 984
985} 985}
986 986
987void KABCore::beamDone( Ir *ir ) 987void KABCore::beamDone( Ir *ir )
988{ 988{
989#ifndef DESKTOP_VERSION 989#ifndef DESKTOP_VERSION
990 delete ir; 990 delete ir;
991#endif 991#endif
992 topLevelWidget()->raise(); 992 topLevelWidget()->raise();
993 message( i18n("Beaming finished!") ); 993 message( i18n("Beaming finished!") );
994} 994}
995 995
996 996
997void KABCore::browse( const QString& url ) 997void KABCore::browse( const QString& url )
998{ 998{
999#ifndef KAB_EMBEDDED 999#ifndef KAB_EMBEDDED
1000 kapp->invokeBrowser( url ); 1000 kapp->invokeBrowser( url );
1001#else //KAB_EMBEDDED 1001#else //KAB_EMBEDDED
1002 qDebug("KABCore::browse must be fixed"); 1002 qDebug("KABCore::browse must be fixed");
1003#endif //KAB_EMBEDDED 1003#endif //KAB_EMBEDDED
1004} 1004}
1005 1005
1006void KABCore::selectAllContacts() 1006void KABCore::selectAllContacts()
1007{ 1007{
1008 mViewManager->setSelected( QString::null, true ); 1008 mViewManager->setSelected( QString::null, true );
1009} 1009}
1010 1010
1011void KABCore::deleteContacts() 1011void KABCore::deleteContacts()
1012{ 1012{
@@ -2655,100 +2655,100 @@ void KABCore::requestForDetails(const QString& sourceChannel, const QString& ses
2655 2655
2656void KABCore::whatsnew() 2656void KABCore::whatsnew()
2657{ 2657{
2658 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 2658 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
2659} 2659}
2660void KABCore::synchowto() 2660void KABCore::synchowto()
2661{ 2661{
2662 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 2662 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
2663} 2663}
2664void KABCore::kdesynchowto() 2664void KABCore::kdesynchowto()
2665{ 2665{
2666 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 2666 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
2667} 2667}
2668void KABCore::multisynchowto() 2668void KABCore::multisynchowto()
2669{ 2669{
2670 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 2670 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
2671} 2671}
2672void KABCore::faq() 2672void KABCore::faq()
2673{ 2673{
2674 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" ); 2674 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" );
2675} 2675}
2676 2676
2677#include <libkcal/syncdefines.h> 2677#include <libkcal/syncdefines.h>
2678 2678
2679KABC::Addressee KABCore::getLastSyncAddressee() 2679KABC::Addressee KABCore::getLastSyncAddressee()
2680{ 2680{
2681 Addressee lse; 2681 Addressee lse;
2682 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2682 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2683 2683
2684 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); 2684 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() );
2685 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2685 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice );
2686 if (lse.isEmpty()) { 2686 if (lse.isEmpty()) {
2687 qDebug("Creating new last-syncAddressee "); 2687 qDebug("KA: Creating new last-syncAddressee ");
2688 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2688 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice );
2689 QString sum = ""; 2689 QString sum = "";
2690 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) 2690 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL )
2691 sum = "E: "; 2691 sum = "E: ";
2692 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event")); 2692 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event"));
2693 lse.setRevision( mLastAddressbookSync ); 2693 lse.setRevision( mLastAddressbookSync );
2694 lse.setCategories( i18n("SyncEvent") ); 2694 lse.setCategories( i18n("SyncEvent") );
2695 mAddressBook->insertAddressee( lse ); 2695 mAddressBook->insertAddressee( lse );
2696 } 2696 }
2697 return lse; 2697 return lse;
2698} 2698}
2699int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ) 2699int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full )
2700{ 2700{
2701 2701
2702 //void setZaurusId(int id); 2702 //void setZaurusId(int id);
2703 // int zaurusId() const; 2703 // int zaurusId() const;
2704 // void setZaurusUid(int id); 2704 // void setZaurusUid(int id);
2705 // int zaurusUid() const; 2705 // int zaurusUid() const;
2706 // void setZaurusStat(int id); 2706 // void setZaurusStat(int id);
2707 // int zaurusStat() const; 2707 // int zaurusStat() const;
2708 // 0 equal 2708 // 0 equal
2709 // 1 take local 2709 // 1 take local
2710 // 2 take remote 2710 // 2 take remote
2711 // 3 cancel 2711 // 3 cancel
2712 QDateTime lastSync = mLastAddressbookSync; 2712 QDateTime lastSync = mLastAddressbookSync;
2713 QDateTime localMod = local->revision(); 2713 QDateTime localMod = local->revision();
2714 QDateTime remoteMod = remote->revision(); 2714 QDateTime remoteMod = remote->revision();
2715 2715
2716 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2716 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2717 2717
2718 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2718 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2719 bool remCh, locCh; 2719 bool remCh, locCh;
2720 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); 2720 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) );
2721 if ( remCh ) 2721 //if ( remCh )
2722 qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() ); 2722 // qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() );
2723 locCh = ( localMod > mLastAddressbookSync ); 2723 locCh = ( localMod > mLastAddressbookSync );
2724 //qDebug("cahnged rem %d loc %d",remCh, locCh ); 2724 //qDebug("cahnged rem %d loc %d",remCh, locCh );
2725 if ( !remCh && ! locCh ) { 2725 if ( !remCh && ! locCh ) {
2726 //qDebug("both not changed "); 2726 //qDebug("both not changed ");
2727 lastSync = localMod.addDays(1); 2727 lastSync = localMod.addDays(1);
2728 if ( mode <= SYNC_PREF_ASK ) 2728 if ( mode <= SYNC_PREF_ASK )
2729 return 0; 2729 return 0;
2730 } else { 2730 } else {
2731 if ( locCh ) { 2731 if ( locCh ) {
2732 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1()); 2732 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1());
2733 lastSync = localMod.addDays( -1 ); 2733 lastSync = localMod.addDays( -1 );
2734 if ( !remCh ) 2734 if ( !remCh )
2735 remoteMod =( lastSync.addDays( -1 ) ); 2735 remoteMod =( lastSync.addDays( -1 ) );
2736 } else { 2736 } else {
2737 //qDebug(" not loc changed "); 2737 //qDebug(" not loc changed ");
2738 lastSync = localMod.addDays( 1 ); 2738 lastSync = localMod.addDays( 1 );
2739 if ( remCh ) { 2739 if ( remCh ) {
2740 //qDebug("rem changed "); 2740 //qDebug("rem changed ");
2741 remoteMod =( lastSync.addDays( 1 ) ); 2741 remoteMod =( lastSync.addDays( 1 ) );
2742 } 2742 }
2743 2743
2744 } 2744 }
2745 } 2745 }
2746 full = true; 2746 full = true;
2747 if ( mode < SYNC_PREF_ASK ) 2747 if ( mode < SYNC_PREF_ASK )
2748 mode = SYNC_PREF_ASK; 2748 mode = SYNC_PREF_ASK;
2749 } else { 2749 } else {
2750 if ( localMod == remoteMod ) 2750 if ( localMod == remoteMod )
2751 return 0; 2751 return 0;
2752 2752
2753 } 2753 }
2754 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec()); 2754 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec());
@@ -2827,72 +2827,72 @@ int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, i
2827 2827
2828bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode) 2828bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode)
2829{ 2829{
2830 bool syncOK = true; 2830 bool syncOK = true;
2831 int addedAddressee = 0; 2831 int addedAddressee = 0;
2832 int addedAddresseeR = 0; 2832 int addedAddresseeR = 0;
2833 int deletedAddresseeR = 0; 2833 int deletedAddresseeR = 0;
2834 int deletedAddresseeL = 0; 2834 int deletedAddresseeL = 0;
2835 int changedLocal = 0; 2835 int changedLocal = 0;
2836 int changedRemote = 0; 2836 int changedRemote = 0;
2837 int filteredIN = 0; 2837 int filteredIN = 0;
2838 int filteredOUT = 0; 2838 int filteredOUT = 0;
2839 2839
2840 QString mCurrentSyncName = syncManager->getCurrentSyncName(); 2840 QString mCurrentSyncName = syncManager->getCurrentSyncName();
2841 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2841 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2842 2842
2843 //QPtrList<Addressee> el = local->rawAddressees(); 2843 //QPtrList<Addressee> el = local->rawAddressees();
2844 Addressee addresseeR; 2844 Addressee addresseeR;
2845 QString uid; 2845 QString uid;
2846 int take; 2846 int take;
2847 Addressee addresseeL; 2847 Addressee addresseeL;
2848 Addressee addresseeRSync; 2848 Addressee addresseeRSync;
2849 Addressee addresseeLSync; 2849 Addressee addresseeLSync;
2850 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees(); 2850 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees();
2851 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees(); 2851 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees();
2852 bool fullDateRange = false; 2852 bool fullDateRange = false;
2853 local->resetTempSyncStat(); 2853 local->resetTempSyncStat();
2854 mLastAddressbookSync = QDateTime::currentDateTime(); 2854 mLastAddressbookSync = QDateTime::currentDateTime();
2855 if ( syncManager->syncWithDesktop() ) { 2855 if ( syncManager->syncWithDesktop() ) {
2856 // remote->removeSyncInfo( QString());//remove all info 2856 // remote->removeSyncInfo( QString());//remove all info
2857 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 2857 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
2858 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent; 2858 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent;
2859 qDebug("using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() ); 2859 qDebug("KA: using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() );
2860 } else { 2860 } else {
2861 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime "); 2861 qDebug("KA: KSyncManager::mRequestedSyncEvent has invalid datatime ");
2862 } 2862 }
2863 } 2863 }
2864 QDateTime modifiedCalendar = mLastAddressbookSync; 2864 QDateTime modifiedCalendar = mLastAddressbookSync;
2865 addresseeLSync = getLastSyncAddressee(); 2865 addresseeLSync = getLastSyncAddressee();
2866 qDebug("Last Sync %s ", addresseeLSync.revision().toString().latin1()); 2866 qDebug("KA: Last Sync %s ", addresseeLSync.revision().toString().latin1());
2867 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName ); 2867 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName );
2868 if ( !addresseeR.isEmpty() ) { 2868 if ( !addresseeR.isEmpty() ) {
2869 addresseeRSync = addresseeR; 2869 addresseeRSync = addresseeR;
2870 remote->removeAddressee(addresseeR ); 2870 remote->removeAddressee(addresseeR );
2871 2871
2872 } else { 2872 } else {
2873 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2873 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2874 addresseeRSync = addresseeLSync ; 2874 addresseeRSync = addresseeLSync ;
2875 } else { 2875 } else {
2876 //qDebug("FULLDATE 1"); 2876 //qDebug("FULLDATE 1");
2877 fullDateRange = true; 2877 fullDateRange = true;
2878 Addressee newAdd; 2878 Addressee newAdd;
2879 addresseeRSync = newAdd; 2879 addresseeRSync = newAdd;
2880 addresseeRSync.setFamilyName(mCurrentSyncName + i18n(" - sync addressee")); 2880 addresseeRSync.setFamilyName(mCurrentSyncName + i18n(" - sync addressee"));
2881 addresseeRSync.setUid("last-syncAddressee-"+mCurrentSyncName ); 2881 addresseeRSync.setUid("last-syncAddressee-"+mCurrentSyncName );
2882 addresseeRSync.setRevision( mLastAddressbookSync ); 2882 addresseeRSync.setRevision( mLastAddressbookSync );
2883 addresseeRSync.setCategories( i18n("SyncAddressee") ); 2883 addresseeRSync.setCategories( i18n("SyncAddressee") );
2884 } 2884 }
2885 } 2885 }
2886 if ( addresseeLSync.revision() == mLastAddressbookSync ) { 2886 if ( addresseeLSync.revision() == mLastAddressbookSync ) {
2887 // qDebug("FULLDATE 2"); 2887 // qDebug("FULLDATE 2");
2888 fullDateRange = true; 2888 fullDateRange = true;
2889 } 2889 }
2890 if ( ! fullDateRange ) { 2890 if ( ! fullDateRange ) {
2891 if ( addresseeLSync.revision() != addresseeRSync.revision() ) { 2891 if ( addresseeLSync.revision() != addresseeRSync.revision() ) {
2892 2892
2893 // qDebug("set fulldate to true %s %s" ,addresseeLSync->dtStart().toString().latin1(), addresseeRSync->dtStart().toString().latin1() ); 2893 // qDebug("set fulldate to true %s %s" ,addresseeLSync->dtStart().toString().latin1(), addresseeRSync->dtStart().toString().latin1() );
2894 //qDebug("%d %d %d %d ", addresseeLSync->dtStart().time().second(), addresseeLSync->dtStart().time().msec() , addresseeRSync->dtStart().time().second(), addresseeRSync->dtStart().time().msec()); 2894 //qDebug("%d %d %d %d ", addresseeLSync->dtStart().time().second(), addresseeLSync->dtStart().time().msec() , addresseeRSync->dtStart().time().second(), addresseeRSync->dtStart().time().msec());
2895 fullDateRange = true; 2895 fullDateRange = true;
2896 //qDebug("FULLDATE 3 %s %s", addresseeLSync.revision().toString().latin1() , addresseeRSync.revision().toString().latin1() ); 2896 //qDebug("FULLDATE 3 %s %s", addresseeLSync.revision().toString().latin1() , addresseeRSync.revision().toString().latin1() );
2897 } 2897 }
2898 } 2898 }
@@ -3096,205 +3096,205 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo
3096 } 3096 }
3097 } 3097 }
3098 } 3098 }
3099 ++incCounter; 3099 ++incCounter;
3100 } 3100 }
3101 el.clear(); 3101 el.clear();
3102 syncManager->hideProgressBar(); 3102 syncManager->hideProgressBar();
3103 mLastAddressbookSync = QDateTime::currentDateTime().addSecs( 1 ); 3103 mLastAddressbookSync = QDateTime::currentDateTime().addSecs( 1 );
3104 // get rid of micro seconds 3104 // get rid of micro seconds
3105 QTime t = mLastAddressbookSync.time(); 3105 QTime t = mLastAddressbookSync.time();
3106 mLastAddressbookSync.setTime( QTime (t.hour (), t.minute (), t.second () ) ); 3106 mLastAddressbookSync.setTime( QTime (t.hour (), t.minute (), t.second () ) );
3107 addresseeLSync.setRevision( mLastAddressbookSync ); 3107 addresseeLSync.setRevision( mLastAddressbookSync );
3108 addresseeRSync.setRevision( mLastAddressbookSync ); 3108 addresseeRSync.setRevision( mLastAddressbookSync );
3109 addresseeRSync.setRole( i18n("!Remote from: ")+mCurrentSyncName ) ; 3109 addresseeRSync.setRole( i18n("!Remote from: ")+mCurrentSyncName ) ;
3110 addresseeLSync.setRole(i18n("!Local from: ") + mCurrentSyncName ); 3110 addresseeLSync.setRole(i18n("!Local from: ") + mCurrentSyncName );
3111 addresseeRSync.setGivenName( i18n("!DO NOT EDIT!") ) ; 3111 addresseeRSync.setGivenName( i18n("!DO NOT EDIT!") ) ;
3112 addresseeLSync.setGivenName(i18n("!DO NOT EDIT!") ); 3112 addresseeLSync.setGivenName(i18n("!DO NOT EDIT!") );
3113 addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ; 3113 addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ;
3114 addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() ); 3114 addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() );
3115 addresseeRSync.setNote( "" ) ; 3115 addresseeRSync.setNote( "" ) ;
3116 addresseeLSync.setNote( "" ); 3116 addresseeLSync.setNote( "" );
3117 3117
3118 if ( mGlobalSyncMode == SYNC_MODE_NORMAL) 3118 if ( mGlobalSyncMode == SYNC_MODE_NORMAL)
3119 remote->insertAddressee( addresseeRSync, false ); 3119 remote->insertAddressee( addresseeRSync, false );
3120 local->insertAddressee( addresseeLSync, false ); 3120 local->insertAddressee( addresseeLSync, false );
3121 QString mes; 3121 QString mes;
3122 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR, filteredIN, filteredOUT ); 3122 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR, filteredIN, filteredOUT );
3123 qDebug( mes ); 3123 qDebug( mes );
3124 mes = i18n("Local addressbook changed!\n") +mes; 3124 mes = i18n("Local addressbook changed!\n") +mes;
3125 if ( syncManager->mShowSyncSummary ) { 3125 if ( syncManager->mShowSyncSummary ) {
3126 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes, 3126 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes,
3127 i18n("KA/Pi Synchronization"),i18n("Write back"))) { 3127 i18n("KA/Pi Synchronization"),i18n("Write back"))) {
3128 qDebug("cancelled "); 3128 qDebug("KA: WB cancelled ");
3129 return false; 3129 return false;
3130 } 3130 }
3131 } 3131 }
3132 return syncOK; 3132 return syncOK;
3133} 3133}
3134 3134
3135 3135
3136//this is a overwritten callbackmethods from the syncinterface 3136//this is a overwritten callbackmethods from the syncinterface
3137bool KABCore::sync(KSyncManager* manager, QString filename, int mode) 3137bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
3138{ 3138{
3139 3139
3140 //pending prepare addresseeview for output 3140 //pending prepare addresseeview for output
3141 //pending detect, if remote file has REV field. if not switch to external sync 3141 //pending detect, if remote file has REV field. if not switch to external sync
3142 mGlobalSyncMode = SYNC_MODE_NORMAL; 3142 mGlobalSyncMode = SYNC_MODE_NORMAL;
3143 if ( manager != syncManager ) 3143 if ( manager != syncManager )
3144 qDebug("KABCore::sync:: ERROR! :: manager != syncManager "); 3144 qDebug("KABCore::sync:: ERROR! :: manager != syncManager ");
3145 QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); 3145 QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
3146 3146
3147 AddressBook abLocal(filename,"syncContact"); 3147 AddressBook abLocal(filename,"syncContact");
3148 bool syncOK = false; 3148 bool syncOK = false;
3149 if ( abLocal.load() ) { 3149 if ( abLocal.load() ) {
3150 qDebug("Sync:AB loaded %s,sync mode %d",filename.latin1(), mode ); 3150 qDebug("KA: Sync::AB loaded %s,sync mode %d",filename.latin1(), mode );
3151 bool external = false; 3151 bool external = false;
3152 bool isXML = false; 3152 bool isXML = false;
3153 if ( filename.right(4) == ".xml") { 3153 if ( filename.right(4) == ".xml") {
3154 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3154 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3155 isXML = true; 3155 isXML = true;
3156 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); 3156 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true );
3157 } else { 3157 } else {
3158 external = !manager->mIsKapiFile; 3158 external = !manager->mIsKapiFile;
3159 if ( external ) { 3159 if ( external ) {
3160 qDebug("Sync:Setting vcf mode to external "); 3160 qDebug("KA: Sync::Setting vcf mode to external ");
3161 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3161 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3162 AddressBook::Iterator it; 3162 AddressBook::Iterator it;
3163 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { 3163 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
3164 (*it).setID( mCurrentSyncDevice, (*it).uid() ); 3164 (*it).setID( mCurrentSyncDevice, (*it).uid() );
3165 (*it).computeCsum( mCurrentSyncDevice ); 3165 (*it).computeCsum( mCurrentSyncDevice );
3166 } 3166 }
3167 } 3167 }
3168 } 3168 }
3169 //AddressBook::Iterator it; 3169 //AddressBook::Iterator it;
3170 //QStringList vcards; 3170 //QStringList vcards;
3171 //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { 3171 //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
3172 // qDebug("Name %s ", (*it).familyName().latin1()); 3172 // qDebug("Name %s ", (*it).familyName().latin1());
3173 //} 3173 //}
3174 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode ); 3174 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode );
3175 if ( syncOK ) { 3175 if ( syncOK ) {
3176 if ( syncManager->mWriteBackFile ) 3176 if ( syncManager->mWriteBackFile )
3177 { 3177 {
3178 if ( external ) 3178 if ( external )
3179 abLocal.removeSyncAddressees( !isXML); 3179 abLocal.removeSyncAddressees( !isXML);
3180 qDebug("Sync:Saving remote AB "); 3180 qDebug("KA: Sync::Saving remote AB ");
3181 if ( ! abLocal.saveAB()) 3181 if ( ! abLocal.saveAB())
3182 qDebug("Error writing back AB to file "); 3182 qDebug("KA: sync::Error writing back AB to file ");
3183 if ( external ) { 3183 if ( external ) {
3184 // afterwrite processing 3184 // afterwrite processing
3185 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML); 3185 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML);
3186 } 3186 }
3187 } 3187 }
3188 } 3188 }
3189 setModified(); 3189 setModified();
3190 3190
3191 } 3191 }
3192 abLocal.removeResources(); 3192 abLocal.removeResources();
3193 if ( syncOK ) 3193 if ( syncOK )
3194 mViewManager->refreshView(); 3194 mViewManager->refreshView();
3195 return syncOK; 3195 return syncOK;
3196 3196
3197} 3197}
3198void KABCore::removeSyncInfo( QString syncProfile) 3198void KABCore::removeSyncInfo( QString syncProfile)
3199{ 3199{
3200 qDebug("AB:removeSyncInfo for profile %s ", syncProfile.latin1()); 3200 qDebug("KA: AB:removeSyncInfo for profile %s ", syncProfile.latin1());
3201 mAddressBook->removeSyncInfo( syncProfile ); 3201 mAddressBook->removeSyncInfo( syncProfile );
3202 setModified(); 3202 setModified();
3203} 3203}
3204 3204
3205 3205
3206//this is a overwritten callbackmethods from the syncinterface 3206//this is a overwritten callbackmethods from the syncinterface
3207bool KABCore::syncExternal(KSyncManager* manager, QString resource) 3207bool KABCore::syncExternal(KSyncManager* manager, QString resource)
3208{ 3208{
3209 if ( resource == "phone" ) 3209 if ( resource == "phone" )
3210 return syncPhone(); 3210 return syncPhone();
3211 disableBR( true ); 3211 disableBR( true );
3212 if ( manager != syncManager ) 3212 if ( manager != syncManager )
3213 qDebug("KABCore::syncExternal:: ERROR! :: manager != syncManager "); 3213 qDebug("KABCore::syncExternal:: ERROR! :: manager != syncManager ");
3214 QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); 3214 QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
3215 3215
3216 AddressBook abLocal( resource,"syncContact"); 3216 AddressBook abLocal( resource,"syncContact");
3217 bool syncOK = false; 3217 bool syncOK = false;
3218 message(i18n("Loading DTM address data..."), false); 3218 message(i18n("Loading DTM address data..."), false);
3219 if ( abLocal.load() ) { 3219 if ( abLocal.load() ) {
3220 qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); 3220 qDebug("KA: AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1());
3221 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3221 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3222 message(i18n("Sync preprocessing..."),false); 3222 message(i18n("Sync preprocessing..."),false);
3223 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); 3223 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false );
3224 message(i18n("Synchronizing..."),false); 3224 message(i18n("Synchronizing..."),false);
3225 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); 3225 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs );
3226 if ( syncOK ) { 3226 if ( syncOK ) {
3227 if ( syncManager->mWriteBackFile ) { 3227 if ( syncManager->mWriteBackFile ) {
3228 abLocal.removeSyncAddressees( false ); 3228 abLocal.removeSyncAddressees( false );
3229 message(i18n("Saving DTM address data..."),false); 3229 message(i18n("Saving DTM address data..."),false);
3230 abLocal.saveAB(); 3230 abLocal.saveAB();
3231 message(i18n("Sync postprocessing..."),false); 3231 message(i18n("Sync postprocessing..."),false);
3232 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); 3232 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
3233 } 3233 }
3234 } else 3234 } else
3235 message( i18n("Sync cancelled or failed.") ); 3235 message( i18n("Sync cancelled or failed.") );
3236 setModified(); 3236 setModified();
3237 } 3237 }
3238 abLocal.removeResources(); 3238 abLocal.removeResources();
3239 if ( syncOK ) { 3239 if ( syncOK ) {
3240 mViewManager->refreshView(); 3240 mViewManager->refreshView();
3241 message(i18n("DTM syncing finished.")); 3241 message(i18n("DTM syncing finished."));
3242 } 3242 }
3243 disableBR( false ); 3243 disableBR( false );
3244 return syncOK; 3244 return syncOK;
3245 3245
3246} 3246}
3247void KABCore::message( QString m, bool startTimer) 3247void KABCore::message( QString m, bool startTimer)
3248{ 3248{
3249 topLevelWidget()->setCaption( m ); 3249 topLevelWidget()->setCaption( m );
3250 qApp->processEvents(); 3250 qApp->processEvents();
3251 if ( startTimer ) 3251 if ( startTimer )
3252 mMessageTimer->start( 15000, true ); 3252 mMessageTimer->start( 15000, true );
3253 else 3253 else
3254 mMessageTimer->stop(); 3254 mMessageTimer->stop();
3255} 3255}
3256bool KABCore::syncPhone() 3256bool KABCore::syncPhone()
3257{ 3257{
3258 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 3258 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
3259 QString fileName = getPhoneFile(); 3259 QString fileName = getPhoneFile();
3260 if ( !PhoneAccess::readFromPhone( fileName) ) { 3260 if ( !PhoneAccess::readFromPhone( fileName) ) {
3261 message(i18n("Phone access failed!")); 3261 message(i18n("Phone access failed!"));
3262 return false; 3262 return false;
3263 } 3263 }
3264 AddressBook abLocal( fileName,"syncContact"); 3264 AddressBook abLocal( fileName,"syncContact");
3265 bool syncOK = false; 3265 bool syncOK = false;
3266 { 3266 {
3267 abLocal.importFromFile( fileName ); 3267 abLocal.importFromFile( fileName );
3268 qDebug("AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1()); 3268 qDebug("KA: AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1());
3269 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3269 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3270 abLocal.preparePhoneSync( mCurrentSyncDevice, true ); 3270 abLocal.preparePhoneSync( mCurrentSyncDevice, true );
3271 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); 3271 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true );
3272 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); 3272 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs );
3273 if ( syncOK ) { 3273 if ( syncOK ) {
3274 if ( syncManager->mWriteBackFile ) { 3274 if ( syncManager->mWriteBackFile ) {
3275 abLocal.removeSyncAddressees( true ); 3275 abLocal.removeSyncAddressees( true );
3276 abLocal.saveABphone( fileName ); 3276 abLocal.saveABphone( fileName );
3277 abLocal.findNewExtIds( fileName, mCurrentSyncDevice ); 3277 abLocal.findNewExtIds( fileName, mCurrentSyncDevice );
3278 //abLocal.preparePhoneSync( mCurrentSyncDevice, false ); 3278 //abLocal.preparePhoneSync( mCurrentSyncDevice, false );
3279 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); 3279 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
3280 } 3280 }
3281 } 3281 }
3282 setModified(); 3282 setModified();
3283 } 3283 }
3284 abLocal.removeResources(); 3284 abLocal.removeResources();
3285 if ( syncOK ) 3285 if ( syncOK )
3286 mViewManager->refreshView(); 3286 mViewManager->refreshView();
3287 return syncOK; 3287 return syncOK;
3288} 3288}
3289void KABCore::getFile( bool success ) 3289void KABCore::getFile( bool success )
3290{ 3290{
3291 if ( ! success ) { 3291 if ( ! success ) {
3292 message( i18n("Error receiving file. Nothing changed!") ); 3292 message( i18n("Error receiving file. Nothing changed!") );
3293 return; 3293 return;
3294 } 3294 }
3295 int count = mAddressBook->importFromFile( sentSyncFile() , false, true ); 3295 int count = mAddressBook->importFromFile( sentSyncFile() , false, true );
3296 if ( count ) 3296 if ( count )
3297 setModified( true ); 3297 setModified( true );
3298 message( i18n("Pi-Sync successful!") ); 3298 message( i18n("Pi-Sync successful!") );
3299 mViewManager->refreshView(); 3299 mViewManager->refreshView();
3300} 3300}
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 038da54..06454c2 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -919,114 +919,114 @@ void CalendarView::checkExternalId( Incidence * inc )
919{ 919{
920 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ; 920 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ;
921 checkExternSyncEvent( lastSync, inc ); 921 checkExternSyncEvent( lastSync, inc );
922 922
923} 923}
924bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode ) 924bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode )
925{ 925{
926 bool syncOK = true; 926 bool syncOK = true;
927 int addedEvent = 0; 927 int addedEvent = 0;
928 int addedEventR = 0; 928 int addedEventR = 0;
929 int deletedEventR = 0; 929 int deletedEventR = 0;
930 int deletedEventL = 0; 930 int deletedEventL = 0;
931 int changedLocal = 0; 931 int changedLocal = 0;
932 int changedRemote = 0; 932 int changedRemote = 0;
933 int filteredIN = 0; 933 int filteredIN = 0;
934 int filteredOUT = 0; 934 int filteredOUT = 0;
935 //QPtrList<Event> el = local->rawEvents(); 935 //QPtrList<Event> el = local->rawEvents();
936 Event* eventR; 936 Event* eventR;
937 QString uid; 937 QString uid;
938 int take; 938 int take;
939 Event* eventL; 939 Event* eventL;
940 Event* eventRSync; 940 Event* eventRSync;
941 Event* eventLSync; 941 Event* eventLSync;
942 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents(); 942 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents();
943 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents(); 943 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents();
944 bool fullDateRange = false; 944 bool fullDateRange = false;
945 local->resetTempSyncStat(); 945 local->resetTempSyncStat();
946 mLastCalendarSync = QDateTime::currentDateTime(); 946 mLastCalendarSync = QDateTime::currentDateTime();
947 if ( mSyncManager->syncWithDesktop() ) { 947 if ( mSyncManager->syncWithDesktop() ) {
948 remote->resetPilotStat(1); 948 remote->resetPilotStat(1);
949 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 949 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
950 mLastCalendarSync = KSyncManager::mRequestedSyncEvent; 950 mLastCalendarSync = KSyncManager::mRequestedSyncEvent;
951 qDebug("using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() ); 951 qDebug("KO: using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() );
952 } else { 952 } else {
953 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime "); 953 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime ");
954 } 954 }
955 } 955 }
956 QDateTime modifiedCalendar = mLastCalendarSync; 956 QDateTime modifiedCalendar = mLastCalendarSync;
957 eventLSync = getLastSyncEvent(); 957 eventLSync = getLastSyncEvent();
958 eventR = remote->event("last-syncEvent-"+mCurrentSyncName ); 958 eventR = remote->event("last-syncEvent-"+mCurrentSyncName );
959 if ( eventR ) { 959 if ( eventR ) {
960 eventRSync = (Event*) eventR->clone(); 960 eventRSync = (Event*) eventR->clone();
961 remote->deleteEvent(eventR ); 961 remote->deleteEvent(eventR );
962 962
963 } else { 963 } else {
964 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) { 964 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) {
965 eventRSync = (Event*)eventLSync->clone(); 965 eventRSync = (Event*)eventLSync->clone();
966 } else { 966 } else {
967 fullDateRange = true; 967 fullDateRange = true;
968 eventRSync = new Event(); 968 eventRSync = new Event();
969 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event")); 969 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
970 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName ); 970 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
971 eventRSync->setDtStart( mLastCalendarSync ); 971 eventRSync->setDtStart( mLastCalendarSync );
972 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 972 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
973 eventRSync->setCategories( i18n("SyncEvent") ); 973 eventRSync->setCategories( i18n("SyncEvent") );
974 } 974 }
975 } 975 }
976 if ( eventLSync->dtStart() == mLastCalendarSync ) 976 if ( eventLSync->dtStart() == mLastCalendarSync )
977 fullDateRange = true; 977 fullDateRange = true;
978 978
979 if ( ! fullDateRange ) { 979 if ( ! fullDateRange ) {
980 if ( eventLSync->dtStart() != eventRSync->dtStart() ) { 980 if ( eventLSync->dtStart() != eventRSync->dtStart() ) {
981 981
982 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() ); 982 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() );
983 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec()); 983 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec());
984 fullDateRange = true; 984 fullDateRange = true;
985 } 985 }
986 } 986 }
987 if ( mSyncManager->syncWithDesktop() ) { 987 if ( mSyncManager->syncWithDesktop() ) {
988 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync ); 988 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync );
989 } 989 }
990 if ( fullDateRange ) 990 if ( fullDateRange )
991 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); 991 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365);
992 else 992 else
993 mLastCalendarSync = eventLSync->dtStart(); 993 mLastCalendarSync = eventLSync->dtStart();
994 // for resyncing if own file has changed 994 // for resyncing if own file has changed
995 if ( mCurrentSyncDevice == "deleteaftersync" ) { 995 if ( mCurrentSyncDevice == "deleteaftersync" ) {
996 mLastCalendarSync = loadedFileVersion; 996 mLastCalendarSync = loadedFileVersion;
997 //qDebug("setting mLastCalendarSync "); 997 //qDebug("setting mLastCalendarSync ");
998 } 998 }
999 //qDebug("*************************** "); 999 //qDebug("*************************** ");
1000 qDebug("mLastCalendarSync %s full: %d",mLastCalendarSync.toString().latin1(), fullDateRange); 1000 qDebug("KO: mLastCalendarSync %s .Full: %d",mLastCalendarSync.toString().latin1(), fullDateRange);
1001 QPtrList<Incidence> er = remote->rawIncidences(); 1001 QPtrList<Incidence> er = remote->rawIncidences();
1002 Incidence* inR = er.first(); 1002 Incidence* inR = er.first();
1003 Incidence* inL; 1003 Incidence* inL;
1004 QProgressBar bar( er.count(),0 ); 1004 QProgressBar bar( er.count(),0 );
1005 bar.setCaption (i18n("Syncing - close to abort!") ); 1005 bar.setCaption (i18n("Syncing - close to abort!") );
1006 1006
1007 // ************** setting up filter ************* 1007 // ************** setting up filter *************
1008 CalFilter *filterIN = 0; 1008 CalFilter *filterIN = 0;
1009 CalFilter *filterOUT = 0; 1009 CalFilter *filterOUT = 0;
1010 CalFilter *filter = mFilters.first(); 1010 CalFilter *filter = mFilters.first();
1011 while(filter) { 1011 while(filter) {
1012 if ( filter->name() == mSyncManager->mFilterInCal ) 1012 if ( filter->name() == mSyncManager->mFilterInCal )
1013 filterIN = filter; 1013 filterIN = filter;
1014 if ( filter->name() == mSyncManager->mFilterOutCal ) 1014 if ( filter->name() == mSyncManager->mFilterOutCal )
1015 filterOUT = filter; 1015 filterOUT = filter;
1016 filter = mFilters.next(); 1016 filter = mFilters.next();
1017 } 1017 }
1018 int w = 300; 1018 int w = 300;
1019 if ( QApplication::desktop()->width() < 320 ) 1019 if ( QApplication::desktop()->width() < 320 )
1020 w = 220; 1020 w = 220;
1021 int h = bar.sizeHint().height() ; 1021 int h = bar.sizeHint().height() ;
1022 int dw = QApplication::desktop()->width(); 1022 int dw = QApplication::desktop()->width();
1023 int dh = QApplication::desktop()->height(); 1023 int dh = QApplication::desktop()->height();
1024 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1024 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1025 bar.show(); 1025 bar.show();
1026 int modulo = (er.count()/10)+1; 1026 int modulo = (er.count()/10)+1;
1027 int incCounter = 0; 1027 int incCounter = 0;
1028 while ( inR ) { 1028 while ( inR ) {
1029 if ( ! bar.isVisible() ) 1029 if ( ! bar.isVisible() )
1030 return false; 1030 return false;
1031 if ( incCounter % modulo == 0 ) 1031 if ( incCounter % modulo == 0 )
1032 bar.setProgress( incCounter ); 1032 bar.setProgress( incCounter );
@@ -1195,83 +1195,84 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1195 if ( inR->type() == "Todo" ) { 1195 if ( inR->type() == "Todo" ) {
1196 Todo * t = (Todo*)inR; 1196 Todo * t = (Todo*)inR;
1197 if ( t->hasDueDate() ) 1197 if ( t->hasDueDate() )
1198 dt = t->dtDue(); 1198 dt = t->dtDue();
1199 else 1199 else
1200 dt = cur.addSecs( 62 ); 1200 dt = cur.addSecs( 62 );
1201 } 1201 }
1202 else if (inR->type() == "Event" ) { 1202 else if (inR->type() == "Event" ) {
1203 bool ok; 1203 bool ok;
1204 dt = inR->getNextOccurence( cur, &ok ); 1204 dt = inR->getNextOccurence( cur, &ok );
1205 if ( !ok ) 1205 if ( !ok )
1206 dt = cur.addSecs( -62 ); 1206 dt = cur.addSecs( -62 );
1207 } 1207 }
1208 else 1208 else
1209 dt = inR->dtStart(); 1209 dt = inR->dtStart();
1210 if ( dt < cur || dt > end ) { 1210 if ( dt < cur || dt > end ) {
1211 remote->deleteIncidence( inR ); 1211 remote->deleteIncidence( inR );
1212 ++delFut; 1212 ++delFut;
1213 } 1213 }
1214 inR = er.next(); 1214 inR = er.next();
1215 } 1215 }
1216 } 1216 }
1217 bar.hide(); 1217 bar.hide();
1218 mLastCalendarSync = QDateTime::currentDateTime().addSecs( 1 ); 1218 mLastCalendarSync = QDateTime::currentDateTime().addSecs( 1 );
1219 eventLSync->setReadOnly( false ); 1219 eventLSync->setReadOnly( false );
1220 eventLSync->setDtStart( mLastCalendarSync ); 1220 eventLSync->setDtStart( mLastCalendarSync );
1221 eventRSync->setDtStart( mLastCalendarSync ); 1221 eventRSync->setDtStart( mLastCalendarSync );
1222 eventLSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) ); 1222 eventLSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) );
1223 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) ); 1223 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 3600 ) );
1224 eventRSync->setLocation( i18n("Remote from: ")+mCurrentSyncName ) ; 1224 eventRSync->setLocation( i18n("Remote from: ")+mCurrentSyncName ) ;
1225 eventLSync->setLocation(i18n("Local from: ") + mCurrentSyncName ); 1225 eventLSync->setLocation(i18n("Local from: ") + mCurrentSyncName );
1226 eventLSync->setReadOnly( true ); 1226 eventLSync->setReadOnly( true );
1227 qDebug("********** %d %d ", mGlobalSyncMode == SYNC_MODE_NORMAL, mSyncManager->syncWithDesktop() ); 1227 qDebug("KO: Normal sync: %d ",mGlobalSyncMode == SYNC_MODE_NORMAL );
1228 if ( mGlobalSyncMode == SYNC_MODE_NORMAL && !mSyncManager->syncWithDesktop()) // kde is abnormal... 1228 if ( mGlobalSyncMode == SYNC_MODE_NORMAL && !mSyncManager->syncWithDesktop()) // kde is abnormal...
1229 remote->addEvent( eventRSync ); 1229 remote->addEvent( eventRSync );
1230 else 1230 else
1231 delete eventRSync; 1231 delete eventRSync;
1232 qDebug("KO: Sync with desktop %d ",mSyncManager->syncWithDesktop() );
1232 QString mes; 1233 QString mes;
1233 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR, filteredIN, filteredOUT ); 1234 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR, filteredIN, filteredOUT );
1234 QString delmess; 1235 QString delmess;
1235 if ( delFut ) { 1236 if ( delFut ) {
1236 delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are more\nthan %d weeks in the past or\nmore than %d weeks in the future.\nAfter skipping, remote has\n%d calendar/todo items."), delFut,mSyncManager->mWriteBackInPast,mSyncManager->mWriteBackInFuture, remRem-delFut); 1237 delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are more\nthan %d weeks in the past or\nmore than %d weeks in the future.\nAfter skipping, remote has\n%d calendar/todo items."), delFut,mSyncManager->mWriteBackInPast,mSyncManager->mWriteBackInFuture, remRem-delFut);
1237 mes += delmess; 1238 mes += delmess;
1238 } 1239 }
1239 mes = i18n("Local calendar changed!\n") +mes; 1240 mes = i18n("Local calendar changed!\n") +mes;
1240 mCalendar->checkAlarmForIncidence( 0, true ); 1241 mCalendar->checkAlarmForIncidence( 0, true );
1241 qDebug( mes ); 1242 qDebug( mes );
1242 if ( mSyncManager->mShowSyncSummary ) { 1243 if ( mSyncManager->mShowSyncSummary ) {
1243 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes, 1244 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes,
1244 i18n("KO/Pi Synchronization"),i18n("Write back"))) { 1245 i18n("KO/Pi Synchronization"),i18n("Write back"))) {
1245 qDebug("cancelled "); 1246 qDebug("KO: WB cancelled ");
1246 return false; 1247 return false;
1247 } 1248 }
1248 } 1249 }
1249 return syncOK; 1250 return syncOK;
1250} 1251}
1251 1252
1252void CalendarView::setSyncDevice( QString s ) 1253void CalendarView::setSyncDevice( QString s )
1253{ 1254{
1254 mCurrentSyncDevice= s; 1255 mCurrentSyncDevice= s;
1255} 1256}
1256void CalendarView::setSyncName( QString s ) 1257void CalendarView::setSyncName( QString s )
1257{ 1258{
1258 mCurrentSyncName= s; 1259 mCurrentSyncName= s;
1259} 1260}
1260bool CalendarView::syncCalendar(QString filename, int mode) 1261bool CalendarView::syncCalendar(QString filename, int mode)
1261{ 1262{
1262 //qDebug("syncCalendar %s ", filename.latin1()); 1263 //qDebug("syncCalendar %s ", filename.latin1());
1263 mGlobalSyncMode = SYNC_MODE_NORMAL; 1264 mGlobalSyncMode = SYNC_MODE_NORMAL;
1264 CalendarLocal* calendar = new CalendarLocal(); 1265 CalendarLocal* calendar = new CalendarLocal();
1265 calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 1266 calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
1266 FileStorage* storage = new FileStorage( calendar ); 1267 FileStorage* storage = new FileStorage( calendar );
1267 bool syncOK = false; 1268 bool syncOK = false;
1268 storage->setFileName( filename ); 1269 storage->setFileName( filename );
1269 // qDebug("loading ... "); 1270 // qDebug("loading ... ");
1270 if ( storage->load() ) { 1271 if ( storage->load() ) {
1271 getEventViewerDialog()->setSyncMode( true ); 1272 getEventViewerDialog()->setSyncMode( true );
1272 syncOK = synchronizeCalendar( mCalendar, calendar, mode ); 1273 syncOK = synchronizeCalendar( mCalendar, calendar, mode );
1273 getEventViewerDialog()->setSyncMode( false ); 1274 getEventViewerDialog()->setSyncMode( false );
1274 if ( syncOK ) { 1275 if ( syncOK ) {
1275 if ( mSyncManager->mWriteBackFile ) 1276 if ( mSyncManager->mWriteBackFile )
1276 { 1277 {
1277 storage->setSaveFormat( new ICalFormat() ); 1278 storage->setSaveFormat( new ICalFormat() );
@@ -1411,72 +1412,72 @@ bool CalendarView::importBday()
1411 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ; 1412 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ;
1412 if ( addAnniversary( (*it).birthday().date(), (*it).assembledName(), a, true ) ) 1413 if ( addAnniversary( (*it).birthday().date(), (*it).assembledName(), a, true ) )
1413 ++addCount; 1414 ++addCount;
1414 } 1415 }
1415 QDate anni = KGlobal::locale()->readDate( (*it).custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); 1416 QDate anni = KGlobal::locale()->readDate( (*it).custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d");
1416 if ( anni.isValid() ){ 1417 if ( anni.isValid() ){
1417 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ; 1418 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ;
1418 if ( addAnniversary( anni, (*it).assembledName(), a, false ) ) 1419 if ( addAnniversary( anni, (*it).assembledName(), a, false ) )
1419 ++addCount; 1420 ++addCount;
1420 } 1421 }
1421 } 1422 }
1422 updateView(); 1423 updateView();
1423 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); 1424 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
1424#else //DESKTOP_VERSION 1425#else //DESKTOP_VERSION
1425 1426
1426 ExternalAppHandler::instance()->requestBirthdayListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); 1427 ExternalAppHandler::instance()->requestBirthdayListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/);
1427 // the result should now arrive through method insertBirthdays 1428 // the result should now arrive through method insertBirthdays
1428 1429
1429#endif //DESKTOP_VERSION 1430#endif //DESKTOP_VERSION
1430 1431
1431#endif //KORG_NOKABC 1432#endif //KORG_NOKABC
1432 1433
1433 1434
1434 return true; 1435 return true;
1435} 1436}
1436 1437
1437// This method will be called from Ka/Pi as a response to requestBirthdayListFromKAPI 1438// This method will be called from Ka/Pi as a response to requestBirthdayListFromKAPI
1438void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthdayList, 1439void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthdayList,
1439 const QStringList& anniversaryList, const QStringList& realNameList, 1440 const QStringList& anniversaryList, const QStringList& realNameList,
1440 const QStringList& emailList, const QStringList& assembledNameList, 1441 const QStringList& emailList, const QStringList& assembledNameList,
1441 const QStringList& uidList) 1442 const QStringList& uidList)
1442{ 1443{
1443 qDebug("CalendarView::insertBirthdays"); 1444 //qDebug("KO::CalendarView::insertBirthdays");
1444 if (uid == this->name()) 1445 if (uid == this->name())
1445 { 1446 {
1446 int count = birthdayList.count(); 1447 int count = birthdayList.count();
1447 int addCount = 0; 1448 int addCount = 0;
1448 KCal::Attendee* a = 0; 1449 KCal::Attendee* a = 0;
1449 1450
1450 qDebug("CalView 1 %i", count); 1451 //qDebug("CalView 1 %i", count);
1451 1452
1452 QProgressBar bar(count,0 ); 1453 QProgressBar bar(count,0 );
1453 int w = 300; 1454 int w = 300;
1454 if ( QApplication::desktop()->width() < 320 ) 1455 if ( QApplication::desktop()->width() < 320 )
1455 w = 220; 1456 w = 220;
1456 int h = bar.sizeHint().height() ; 1457 int h = bar.sizeHint().height() ;
1457 int dw = QApplication::desktop()->width(); 1458 int dw = QApplication::desktop()->width();
1458 int dh = QApplication::desktop()->height(); 1459 int dh = QApplication::desktop()->height();
1459 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1460 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1460 bar.show(); 1461 bar.show();
1461 bar.setCaption (i18n("inserting birthdays - close to abort!") ); 1462 bar.setCaption (i18n("inserting birthdays - close to abort!") );
1462 qApp->processEvents(); 1463 qApp->processEvents();
1463 1464
1464 QDate birthday; 1465 QDate birthday;
1465 QDate anniversary; 1466 QDate anniversary;
1466 QString realName; 1467 QString realName;
1467 QString email; 1468 QString email;
1468 QString assembledName; 1469 QString assembledName;
1469 QString uid; 1470 QString uid;
1470 bool ok = true; 1471 bool ok = true;
1471 for ( int i = 0; i < count; i++) 1472 for ( int i = 0; i < count; i++)
1472 { 1473 {
1473 if ( ! bar.isVisible() ) 1474 if ( ! bar.isVisible() )
1474 return; 1475 return;
1475 bar.setProgress( i ); 1476 bar.setProgress( i );
1476 qApp->processEvents(); 1477 qApp->processEvents();
1477 1478
1478 birthday = KGlobal::locale()->readDate(birthdayList[i], KLocale::ISODate, &ok); 1479 birthday = KGlobal::locale()->readDate(birthdayList[i], KLocale::ISODate, &ok);
1479 if (!ok) { 1480 if (!ok) {
1480 ;//qDebug("CalendarView::insertBirthdays found invalid birthday: %s",birthdayList[i].latin1()); 1481 ;//qDebug("CalendarView::insertBirthdays found invalid birthday: %s",birthdayList[i].latin1());
1481 } 1482 }
1482 1483
@@ -2480,80 +2481,80 @@ void CalendarView::moveIncidence(Incidence * inc )
2480 da = QDate::currentDate(); 2481 da = QDate::currentDate();
2481 } else { 2482 } else {
2482 da = mMoveIncidence->dtStart().date(); 2483 da = mMoveIncidence->dtStart().date();
2483 } 2484 }
2484 //PENDING set date for recurring incidence to date of recurrence 2485 //PENDING set date for recurring incidence to date of recurrence
2485 //mMoveIncidenceOldDate; 2486 //mMoveIncidenceOldDate;
2486 mDatePicker->setDate( da ); 2487 mDatePicker->setDate( da );
2487} 2488}
2488void CalendarView::showDatePicker( ) 2489void CalendarView::showDatePicker( )
2489{ 2490{
2490 //qDebug("CalendarView::showDatePicker( ) "); 2491 //qDebug("CalendarView::showDatePicker( ) ");
2491 if ( mDateFrame->isVisible() ) 2492 if ( mDateFrame->isVisible() )
2492 mDateFrame->hide(); 2493 mDateFrame->hide();
2493 else { 2494 else {
2494 int w =mDatePicker->sizeHint().width() ; 2495 int w =mDatePicker->sizeHint().width() ;
2495 int h = mDatePicker->sizeHint().height() ; 2496 int h = mDatePicker->sizeHint().height() ;
2496 int dw = QApplication::desktop()->width(); 2497 int dw = QApplication::desktop()->width();
2497 int dh = QApplication::desktop()->height(); 2498 int dh = QApplication::desktop()->height();
2498 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2499 mDateFrame->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2499 mDateFrame->show(); 2500 mDateFrame->show();
2500 } 2501 }
2501 mDatePickerMode = 1; 2502 mDatePickerMode = 1;
2502 mDatePicker->setDate( mNavigator->selectedDates().first() ); 2503 mDatePicker->setDate( mNavigator->selectedDates().first() );
2503} 2504}
2504 2505
2505void CalendarView::showEventEditor() 2506void CalendarView::showEventEditor()
2506{ 2507{
2507#ifdef DESKTOP_VERSION 2508#ifdef DESKTOP_VERSION
2508 mEventEditor->show(); 2509 mEventEditor->show();
2509#else 2510#else
2510 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { 2511 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) {
2511 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 2512 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
2512 qDebug("CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); 2513 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() );
2513 delete mEventEditor; 2514 delete mEventEditor;
2514 mEventEditor = mDialogManager->getEventEditor(); 2515 mEventEditor = mDialogManager->getEventEditor();
2515 } 2516 }
2516 mEventEditor->showMaximized(); 2517 mEventEditor->showMaximized();
2517 topLevelWidget()->setCaption( i18n("") ); 2518 topLevelWidget()->setCaption( i18n("") );
2518#endif 2519#endif
2519} 2520}
2520void CalendarView::showTodoEditor() 2521void CalendarView::showTodoEditor()
2521{ 2522{
2522#ifdef DESKTOP_VERSION 2523#ifdef DESKTOP_VERSION
2523 mTodoEditor->show(); 2524 mTodoEditor->show();
2524#else 2525#else
2525 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) { 2526 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) {
2526 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 2527 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
2527 qDebug("CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() ); 2528 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() );
2528 delete mTodoEditor; 2529 delete mTodoEditor;
2529 mTodoEditor = mDialogManager->getTodoEditor(); 2530 mTodoEditor = mDialogManager->getTodoEditor();
2530 } 2531 }
2531 mTodoEditor->showMaximized(); 2532 mTodoEditor->showMaximized();
2532 topLevelWidget()->setCaption( i18n("") ); 2533 topLevelWidget()->setCaption( i18n("") );
2533#endif 2534#endif
2534} 2535}
2535 2536
2536void CalendarView::cloneIncidence() 2537void CalendarView::cloneIncidence()
2537{ 2538{
2538 Incidence *incidence = currentSelection(); 2539 Incidence *incidence = currentSelection();
2539 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2540 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2540 if ( incidence ) { 2541 if ( incidence ) {
2541 cloneIncidence(incidence); 2542 cloneIncidence(incidence);
2542 } 2543 }
2543} 2544}
2544void CalendarView::moveIncidence() 2545void CalendarView::moveIncidence()
2545{ 2546{
2546 Incidence *incidence = currentSelection(); 2547 Incidence *incidence = currentSelection();
2547 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2548 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2548 if ( incidence ) { 2549 if ( incidence ) {
2549 moveIncidence(incidence); 2550 moveIncidence(incidence);
2550 } 2551 }
2551} 2552}
2552void CalendarView::beamIncidence() 2553void CalendarView::beamIncidence()
2553{ 2554{
2554 Incidence *incidence = currentSelection(); 2555 Incidence *incidence = currentSelection();
2555 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 2556 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
2556 if ( incidence ) { 2557 if ( incidence ) {
2557 beamIncidence(incidence); 2558 beamIncidence(incidence);
2558 } 2559 }
2559} 2560}
@@ -3828,78 +3829,78 @@ void CalendarView::purgeCompleted()
3828 } 3829 }
3829 for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) { 3830 for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) {
3830 removeCompletedSubTodos( aTodo ); 3831 removeCompletedSubTodos( aTodo );
3831 } 3832 }
3832 3833
3833 updateView(); 3834 updateView();
3834 } 3835 }
3835} 3836}
3836 3837
3837void CalendarView::slotCalendarChanged() 3838void CalendarView::slotCalendarChanged()
3838{ 3839{
3839 ; 3840 ;
3840} 3841}
3841 3842
3842NavigatorBar *CalendarView::navigatorBar() 3843NavigatorBar *CalendarView::navigatorBar()
3843{ 3844{
3844 return mNavigatorBar; 3845 return mNavigatorBar;
3845} 3846}
3846 3847
3847 3848
3848 3849
3849void CalendarView::keyPressEvent ( QKeyEvent *e) 3850void CalendarView::keyPressEvent ( QKeyEvent *e)
3850{ 3851{
3851 //qDebug(" alendarView::keyPressEvent "); 3852 //qDebug(" alendarView::keyPressEvent ");
3852 e->ignore(); 3853 e->ignore();
3853} 3854}
3854 3855
3855 3856
3856bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) 3857bool CalendarView::sync(KSyncManager* manager, QString filename, int mode)
3857{ 3858{
3858 // mSyncManager = manager; 3859 // mSyncManager = manager;
3859 if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) { 3860 if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) {
3860 qDebug("SyncKDE request detected!"); 3861 qDebug("KO: SyncKDE request detected!");
3861 } 3862 }
3862 mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); 3863 mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice();
3863 mCurrentSyncName = mSyncManager->getCurrentSyncName(); 3864 mCurrentSyncName = mSyncManager->getCurrentSyncName();
3864 return syncCalendar( filename, mode ); 3865 return syncCalendar( filename, mode );
3865} 3866}
3866bool CalendarView::syncExternal(KSyncManager* manager, QString resource) 3867bool CalendarView::syncExternal(KSyncManager* manager, QString resource)
3867{ 3868{
3868 //mSyncManager = manager; 3869 //mSyncManager = manager;
3869 mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); 3870 mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice();
3870 mCurrentSyncName = mSyncManager->getCurrentSyncName(); 3871 mCurrentSyncName = mSyncManager->getCurrentSyncName();
3871 if ( resource == "sharp" ) 3872 if ( resource == "sharp" )
3872 syncExternal( 0 ); 3873 syncExternal( 0 );
3873 if ( resource == "phone" ) 3874 if ( resource == "phone" )
3874 syncExternal( 1 ); 3875 syncExternal( 1 );
3875 // pending setmodified 3876 // pending setmodified
3876 return true; 3877 return true;
3877} 3878}
3878void CalendarView::setSyncManager(KSyncManager* manager) 3879void CalendarView::setSyncManager(KSyncManager* manager)
3879{ 3880{
3880 mSyncManager = manager; 3881 mSyncManager = manager;
3881} 3882}
3882 3883
3883void CalendarView::removeSyncInfo( QString syncProfile) 3884void CalendarView::removeSyncInfo( QString syncProfile)
3884{ 3885{
3885 qDebug("removeSyncInfo for profile %s ", syncProfile.latin1()); 3886 qDebug("KO: removeSyncInfo for profile %s ", syncProfile.latin1());
3886 mCalendar->removeSyncInfo( syncProfile ); 3887 mCalendar->removeSyncInfo( syncProfile );
3887 3888
3888} 3889}
3889 3890
3890void CalendarView::undo_delete() 3891void CalendarView::undo_delete()
3891{ 3892{
3892 //qDebug("undo_delete() "); 3893 //qDebug("undo_delete() ");
3893 Incidence* undo = mCalendar->undoIncidence(); 3894 Incidence* undo = mCalendar->undoIncidence();
3894 if ( !undo ) { 3895 if ( !undo ) {
3895 KMessageBox::sorry(this,i18n("There is nothing to undo!"), 3896 KMessageBox::sorry(this,i18n("There is nothing to undo!"),
3896 i18n("KO/Pi")); 3897 i18n("KO/Pi"));
3897 return; 3898 return;
3898 } 3899 }
3899 if ( KMessageBox::Continue ==KMessageBox::warningContinueCancel(this,undo->summary().left(25) + 3900 if ( KMessageBox::Continue ==KMessageBox::warningContinueCancel(this,undo->summary().left(25) +
3900 i18n("\nAre you sure you want\nto restore this?"), 3901 i18n("\nAre you sure you want\nto restore this?"),
3901 i18n("KO/Pi Confirmation"),i18n("Restore"))) { 3902 i18n("KO/Pi Confirmation"),i18n("Restore"))) {
3902 mCalendar->undoDeleteIncidence(); 3903 mCalendar->undoDeleteIncidence();
3903 updateView(); 3904 updateView();
3904 } 3905 }
3905} 3906}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 26ea1e2..877b6f2 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -578,65 +578,66 @@ void MainWindow::initActions()
578 actionMenu->insertSeparator(); 578 actionMenu->insertSeparator();
579 579
580 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 580 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
581 action->addTo( actionMenu ); 581 action->addTo( actionMenu );
582 connect( action, SIGNAL( activated() ), 582 connect( action, SIGNAL( activated() ),
583 mView, SLOT( undo_delete() ) ); 583 mView, SLOT( undo_delete() ) );
584 actionMenu->insertSeparator(); 584 actionMenu->insertSeparator();
585 585
586 icon = loadPixmap( pathString + "newevent" ); 586 icon = loadPixmap( pathString + "newevent" );
587 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 587 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
588 configureToolBarMenu->insertSeparator(); 588 configureToolBarMenu->insertSeparator();
589 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 589 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
590 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 590 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
591 ne_action->addTo( actionMenu ); 591 ne_action->addTo( actionMenu );
592 connect( ne_action, SIGNAL( activated() ), 592 connect( ne_action, SIGNAL( activated() ),
593 mView, SLOT( newEvent() ) ); 593 mView, SLOT( newEvent() ) );
594 icon = loadPixmap( pathString + "newtodo" ); 594 icon = loadPixmap( pathString + "newtodo" );
595 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 595 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
596 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 596 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
597 nt_action->addTo( actionMenu ); 597 nt_action->addTo( actionMenu );
598 connect( nt_action, SIGNAL( activated() ), 598 connect( nt_action, SIGNAL( activated() ),
599 mView, SLOT( newTodo() ) ); 599 mView, SLOT( newTodo() ) );
600 icon = loadPixmap( pathString + "navi" ); 600 icon = loadPixmap( pathString + "navi" );
601 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 601 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
602 action->addTo( viewMenu ); 602 action->addTo( viewMenu );
603 connect( action, SIGNAL( activated() ), 603 connect( action, SIGNAL( activated() ),
604 mView, SLOT( toggleDateNavigatorWidget() ) ); 604 mView, SLOT( toggleDateNavigatorWidget() ) );
605 icon = loadPixmap( pathString + "filter" ); 605 icon = loadPixmap( pathString + "filter" );
606 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 606 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
607 action->addTo( viewMenu ); 607 action->addTo( viewMenu );
608 connect( action, SIGNAL( activated() ), 608 connect( action, SIGNAL( activated() ),
609 mView, SLOT( toggleFilter() ) ); 609 mView, SLOT( toggleFilter() ) );
610 action = new QAction( i18n("Toggle Allday"), i18n("Toggle Allday"), 0, this ); 610 icon = loadPixmap( pathString + "allday" );
611 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
611 action->addTo( viewMenu ); 612 action->addTo( viewMenu );
612 connect( action, SIGNAL( activated() ), 613 connect( action, SIGNAL( activated() ),
613 mView, SLOT( toggleAllDaySize() ) ); 614 mView, SLOT( toggleAllDaySize() ) );
614 615
615 viewMenu->insertSeparator(); 616 viewMenu->insertSeparator();
616 icon = loadPixmap( pathString + "picker" ); 617 icon = loadPixmap( pathString + "picker" );
617 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 618 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
618 action->addTo( viewMenu ); 619 action->addTo( viewMenu );
619 connect( action, SIGNAL( activated() ), 620 connect( action, SIGNAL( activated() ),
620 mView, SLOT( showDatePicker() ) ); 621 mView, SLOT( showDatePicker() ) );
621 action->addTo( iconToolBar ); 622 action->addTo( iconToolBar );
622 viewMenu->insertSeparator(); 623 viewMenu->insertSeparator();
623 icon = loadPixmap( pathString + "list" ); 624 icon = loadPixmap( pathString + "list" );
624 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 625 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
625 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 626 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
626 showlist_action->addTo( viewMenu ); 627 showlist_action->addTo( viewMenu );
627 connect( showlist_action, SIGNAL( activated() ), 628 connect( showlist_action, SIGNAL( activated() ),
628 mView->viewManager(), SLOT( showListView() ) ); 629 mView->viewManager(), SLOT( showListView() ) );
629 630
630 631
631 icon = loadPixmap( pathString + "day" ); 632 icon = loadPixmap( pathString + "day" );
632 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 633 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
633 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 634 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
634 day1_action->addTo( viewMenu ); 635 day1_action->addTo( viewMenu );
635 // action->addTo( toolBar ); 636 // action->addTo( toolBar );
636 connect( day1_action, SIGNAL( activated() ), 637 connect( day1_action, SIGNAL( activated() ),
637 mView->viewManager(), SLOT( showDayView() ) ); 638 mView->viewManager(), SLOT( showDayView() ) );
638 639
639 icon = loadPixmap( pathString + "workweek" ); 640 icon = loadPixmap( pathString + "workweek" );
640 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 641 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
641 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 642 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
642 day5_action->addTo( viewMenu ); 643 day5_action->addTo( viewMenu );
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index f488a07..3adbf61 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -155,65 +155,65 @@ void KSyncManager::fillSyncMenu()
155 else if (!app_dir.exists(QDir::homeDirPath()+"/Applications/dtm" ) ) { 155 else if (!app_dir.exists(QDir::homeDirPath()+"/Applications/dtm" ) ) {
156 mSyncMenu->removeItem( 1000 ); 156 mSyncMenu->removeItem( 1000 );
157 clearMenu->removeItem( 1000 ); 157 clearMenu->removeItem( 1000 );
158 } 158 }
159#endif 159#endif
160 mSyncMenu->removeItem( 1002 ); 160 mSyncMenu->removeItem( 1002 );
161 clearMenu->removeItem( 1002 ); 161 clearMenu->removeItem( 1002 );
162} 162}
163void KSyncManager::slotClearMenu( int action ) 163void KSyncManager::slotClearMenu( int action )
164{ 164{
165 QString syncDevice; 165 QString syncDevice;
166 if ( action > 999 ) { 166 if ( action > 999 ) {
167 syncDevice = mSyncProfileNames[action - 1000] ; 167 syncDevice = mSyncProfileNames[action - 1000] ;
168 } 168 }
169 169
170 170
171 171
172 int result = 0; 172 int result = 0;
173 QString sd; 173 QString sd;
174 if ( syncDevice.isEmpty() ) 174 if ( syncDevice.isEmpty() )
175 sd = i18n("Do you want to\nclear all sync info\nof all profiles?"); 175 sd = i18n("Do you want to\nclear all sync info\nof all profiles?");
176 else 176 else
177 sd = i18n("Do you want to\nclear the sync\ninfo of profile\n%1?\n"). arg( syncDevice ); 177 sd = i18n("Do you want to\nclear the sync\ninfo of profile\n%1?\n"). arg( syncDevice );
178 178
179 result = QMessageBox::warning( mParent, i18n("Warning!"),sd,i18n("OK"), i18n("Cancel"), 0, 179 result = QMessageBox::warning( mParent, i18n("Warning!"),sd,i18n("OK"), i18n("Cancel"), 0,
180 0, 1 ); 180 0, 1 );
181 if ( result ) 181 if ( result )
182 return; 182 return;
183 mImplementation->removeSyncInfo( syncDevice ); 183 mImplementation->removeSyncInfo( syncDevice );
184} 184}
185void KSyncManager::slotSyncMenu( int action ) 185void KSyncManager::slotSyncMenu( int action )
186{ 186{
187 qDebug("syncaction %d ", action); 187 qDebug("KSM::syncaction %d ", action);
188 if ( action == 5000 ) 188 if ( action == 5000 )
189 return; 189 return;
190 mSyncWithDesktop = false; 190 mSyncWithDesktop = false;
191 if ( action == 0 ) { 191 if ( action == 0 ) {
192 192
193 // seems to be a Qt2 event handling bug 193 // seems to be a Qt2 event handling bug
194 // syncmenu.clear causes a segfault at first time 194 // syncmenu.clear causes a segfault at first time
195 // when we call it after the main event loop, it is ok 195 // when we call it after the main event loop, it is ok
196 // same behaviour when calling OM/Pi via QCOP for the first time 196 // same behaviour when calling OM/Pi via QCOP for the first time
197 QTimer::singleShot ( 1, this, SLOT ( confSync() ) ); 197 QTimer::singleShot ( 1, this, SLOT ( confSync() ) );
198 //confSync(); 198 //confSync();
199 199
200 return; 200 return;
201 } 201 }
202 if ( action == 1 ) { 202 if ( action == 1 ) {
203 multiSync( true ); 203 multiSync( true );
204 return; 204 return;
205 } 205 }
206 if ( action == 2 ) { 206 if ( action == 2 ) {
207 enableQuick(); 207 enableQuick();
208 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 208 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
209 return; 209 return;
210 } 210 }
211 if ( action == 3 ) { 211 if ( action == 3 ) {
212 delete mServerSocket; 212 delete mServerSocket;
213 mServerSocket = 0; 213 mServerSocket = 0;
214 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 214 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
215 return; 215 return;
216 } 216 }
217 217
218 if (blockSave()) 218 if (blockSave())
219 return; 219 return;
@@ -263,65 +263,65 @@ void KSyncManager::slotSyncMenu( int action )
263 syncKDE(); 263 syncKDE();
264#else 264#else
265 syncSharp(); 265 syncSharp();
266#endif 266#endif
267 267
268 } else if ( action == 1001 ) { 268 } else if ( action == 1001 ) {
269 syncLocalFile(); 269 syncLocalFile();
270 270
271 } else if ( action == 1002 ) { 271 } else if ( action == 1002 ) {
272 mWriteBackFile = false; 272 mWriteBackFile = false;
273 mAskForPreferences = false; 273 mAskForPreferences = false;
274 mShowSyncSummary = false; 274 mShowSyncSummary = false;
275 mSyncAlgoPrefs = 3; 275 mSyncAlgoPrefs = 3;
276 quickSyncLocalFile(); 276 quickSyncLocalFile();
277 277
278 } else if ( action >= 1003 ) { 278 } else if ( action >= 1003 ) {
279 if ( temp->getIsLocalFileSync() ) { 279 if ( temp->getIsLocalFileSync() ) {
280 switch(mTargetApp) 280 switch(mTargetApp)
281 { 281 {
282 case (KAPI): 282 case (KAPI):
283 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 283 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
284 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); 284 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
285 break; 285 break;
286 case (KOPI): 286 case (KOPI):
287 if ( syncWithFile( temp->getRemoteFileName( ), false ) ) 287 if ( syncWithFile( temp->getRemoteFileName( ), false ) )
288 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); 288 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName();
289 break; 289 break;
290 case (PWMPI): 290 case (PWMPI):
291 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) 291 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) )
292 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); 292 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM();
293 break; 293 break;
294 default: 294 default:
295 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 295 qDebug("KSM::slotSyncMenu: invalid apptype selected");
296 break; 296 break;
297 297
298 } 298 }
299 } else { 299 } else {
300 if ( temp->getIsPhoneSync() ) { 300 if ( temp->getIsPhoneSync() ) {
301 mPhoneDevice = temp->getPhoneDevice( ) ; 301 mPhoneDevice = temp->getPhoneDevice( ) ;
302 mPhoneConnection = temp->getPhoneConnection( ); 302 mPhoneConnection = temp->getPhoneConnection( );
303 mPhoneModel = temp->getPhoneModel( ); 303 mPhoneModel = temp->getPhoneModel( );
304 syncPhone(); 304 syncPhone();
305 } else if ( temp->getIsPiSync() ) { 305 } else if ( temp->getIsPiSync() ) {
306 if ( mTargetApp == KAPI ) { 306 if ( mTargetApp == KAPI ) {
307 mPassWordPiSync = temp->getRemotePwAB(); 307 mPassWordPiSync = temp->getRemotePwAB();
308 mActiveSyncPort = temp->getRemotePortAB(); 308 mActiveSyncPort = temp->getRemotePortAB();
309 mActiveSyncIP = temp->getRemoteIPAB(); 309 mActiveSyncIP = temp->getRemoteIPAB();
310 } else if ( mTargetApp == KOPI ) { 310 } else if ( mTargetApp == KOPI ) {
311 mPassWordPiSync = temp->getRemotePw(); 311 mPassWordPiSync = temp->getRemotePw();
312 mActiveSyncPort = temp->getRemotePort(); 312 mActiveSyncPort = temp->getRemotePort();
313 mActiveSyncIP = temp->getRemoteIP(); 313 mActiveSyncIP = temp->getRemoteIP();
314 } else { 314 } else {
315 mPassWordPiSync = temp->getRemotePwPWM(); 315 mPassWordPiSync = temp->getRemotePwPWM();
316 mActiveSyncPort = temp->getRemotePortPWM(); 316 mActiveSyncPort = temp->getRemotePortPWM();
317 mActiveSyncIP = temp->getRemoteIPPWM(); 317 mActiveSyncIP = temp->getRemoteIPPWM();
318 } 318 }
319 syncPi(); 319 syncPi();
320 while ( !mPisyncFinished ) { 320 while ( !mPisyncFinished ) {
321 //qDebug("waiting "); 321 //qDebug("waiting ");
322 qApp->processEvents(); 322 qApp->processEvents();
323 } 323 }
324 } else 324 } else
325 syncRemote( temp ); 325 syncRemote( temp );
326 326
327 } 327 }
@@ -411,123 +411,123 @@ void KSyncManager::enableQuick( bool ask )
411 if ( !mServerSocket->ok() ) { 411 if ( !mServerSocket->ok() ) {
412 KMessageBox::information( 0, i18n("Failed to bind or\nlisten to the port!")); 412 KMessageBox::information( 0, i18n("Failed to bind or\nlisten to the port!"));
413 delete mServerSocket; 413 delete mServerSocket;
414 mServerSocket = 0; 414 mServerSocket = 0;
415 return; 415 return;
416 } 416 }
417 mPrefs->mPassiveSyncAutoStart = autoStart; 417 mPrefs->mPassiveSyncAutoStart = autoStart;
418 if ( changed ) { 418 if ( changed ) {
419 mPrefs->writeConfig(); 419 mPrefs->writeConfig();
420 } 420 }
421 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) ); 421 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) );
422 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) ); 422 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) );
423} 423}
424 424
425void KSyncManager::syncLocalFile() 425void KSyncManager::syncLocalFile()
426{ 426{
427 427
428 QString fn =mPrefs->mLastSyncedLocalFile; 428 QString fn =mPrefs->mLastSyncedLocalFile;
429 QString ext; 429 QString ext;
430 430
431 switch(mTargetApp) 431 switch(mTargetApp)
432 { 432 {
433 case (KAPI): 433 case (KAPI):
434 ext = "(*.vcf)"; 434 ext = "(*.vcf)";
435 break; 435 break;
436 case (KOPI): 436 case (KOPI):
437 ext = "(*.ics/*.vcs)"; 437 ext = "(*.ics/*.vcs)";
438 break; 438 break;
439 case (PWMPI): 439 case (PWMPI):
440 ext = "(*.pwm)"; 440 ext = "(*.pwm)";
441 break; 441 break;
442 default: 442 default:
443 qDebug("KSyncManager::syncLocalFile: invalid apptype selected"); 443 qDebug("KSM::syncLocalFile: invalid apptype selected");
444 break; 444 break;
445 445
446 } 446 }
447 447
448 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename"+ext), mParent ); 448 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename"+ext), mParent );
449 if ( fn == "" ) 449 if ( fn == "" )
450 return; 450 return;
451 if ( syncWithFile( fn, false ) ) { 451 if ( syncWithFile( fn, false ) ) {
452 qDebug("syncLocalFile() successful "); 452 qDebug("KSM::syncLocalFile() successful ");
453 } 453 }
454 454
455} 455}
456 456
457bool KSyncManager::syncWithFile( QString fn , bool quick ) 457bool KSyncManager::syncWithFile( QString fn , bool quick )
458{ 458{
459 bool ret = false; 459 bool ret = false;
460 QFileInfo info; 460 QFileInfo info;
461 info.setFile( fn ); 461 info.setFile( fn );
462 QString mess; 462 QString mess;
463 bool loadbup = true; 463 bool loadbup = true;
464 if ( !info. exists() ) { 464 if ( !info. exists() ) {
465 mess = i18n( "Sync file \n...%1\ndoes not exist!\nNothing synced!\n").arg(fn.right( 30) ); 465 mess = i18n( "Sync file \n...%1\ndoes not exist!\nNothing synced!\n").arg(fn.right( 30) );
466 int result = QMessageBox::warning( mParent, i18n("Warning!"), 466 int result = QMessageBox::warning( mParent, i18n("Warning!"),
467 mess ); 467 mess );
468 return ret; 468 return ret;
469 } 469 }
470 int result = 0; 470 int result = 0;
471 if ( !quick ) { 471 if ( !quick ) {
472 mess = i18n("Sync with file \n...%1\nfrom:\n%2\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 472 mess = i18n("Sync with file \n...%1\nfrom:\n%2\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
473 result = QMessageBox::warning( mParent, i18n("Warning!"), 473 result = QMessageBox::warning( mParent, i18n("Warning!"),
474 mess, 474 mess,
475 i18n("Sync"), i18n("Cancel"), 0, 475 i18n("Sync"), i18n("Cancel"), 0,
476 0, 1 ); 476 0, 1 );
477 if ( result ) 477 if ( result )
478 return false; 478 return false;
479 } 479 }
480 if ( mAskForPreferences ) 480 if ( mAskForPreferences )
481 if ( !edit_sync_options()) { 481 if ( !edit_sync_options()) {
482 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 482 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
483 return false; 483 return false;
484 } 484 }
485 if ( result == 0 ) { 485 if ( result == 0 ) {
486 //qDebug("Now sycing ... "); 486 //qDebug("Now sycing ... ");
487 if ( ret = mImplementation->sync( this, fn, mSyncAlgoPrefs ) ) 487 if ( ret = mImplementation->sync( this, fn, mSyncAlgoPrefs ) )
488 mParent->topLevelWidget()->setCaption( i18n("Synchronization successful") ); 488 mParent->topLevelWidget()->setCaption( i18n("Synchronization successful") );
489 else 489 else
490 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled or failed.") ); 490 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled or failed.") );
491 if ( ! quick ) 491 if ( ! quick )
492 mPrefs->mLastSyncedLocalFile = fn; 492 mPrefs->mLastSyncedLocalFile = fn;
493 } 493 }
494 return ret; 494 return ret;
495} 495}
496 496
497void KSyncManager::quickSyncLocalFile() 497void KSyncManager::quickSyncLocalFile()
498{ 498{
499 499
500 if ( syncWithFile( mPrefs->mLastSyncedLocalFile, true ) ) { 500 if ( syncWithFile( mPrefs->mLastSyncedLocalFile, true ) ) {
501 qDebug("quick syncLocalFile() successful "); 501 qDebug("KSM::quick syncLocalFile() successful ");
502 502
503 } 503 }
504} 504}
505 505
506void KSyncManager::multiSync( bool askforPrefs ) 506void KSyncManager::multiSync( bool askforPrefs )
507{ 507{
508 if (blockSave()) 508 if (blockSave())
509 return; 509 return;
510 setBlockSave(true); 510 setBlockSave(true);
511 QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); 511 QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!");
512 if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"), 512 if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"),
513 question, 513 question,
514 i18n("Yes"), i18n("No"), 514 i18n("Yes"), i18n("No"),
515 0, 0 ) != 0 ) { 515 0, 0 ) != 0 ) {
516 setBlockSave(false); 516 setBlockSave(false);
517 mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!")); 517 mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!"));
518 return; 518 return;
519 } 519 }
520 mCurrentSyncDevice = i18n("Multiple profiles") ; 520 mCurrentSyncDevice = i18n("Multiple profiles") ;
521 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; 521 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs;
522 if ( askforPrefs ) { 522 if ( askforPrefs ) {
523 if ( !edit_sync_options()) { 523 if ( !edit_sync_options()) {
524 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") ); 524 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") );
525 return; 525 return;
526 } 526 }
527 mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; 527 mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs;
528 } 528 }
529 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); 529 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") );
530 qApp->processEvents(); 530 qApp->processEvents();
531 int num = ringSync() ; 531 int num = ringSync() ;
532 if ( num > 1 ) 532 if ( num > 1 )
533 ringSync(); 533 ringSync();
@@ -540,115 +540,115 @@ void KSyncManager::multiSync( bool askforPrefs )
540 mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!")); 540 mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!"));
541 return; 541 return;
542} 542}
543 543
544int KSyncManager::ringSync() 544int KSyncManager::ringSync()
545{ 545{
546 546
547 int syncedProfiles = 0; 547 int syncedProfiles = 0;
548 unsigned int i; 548 unsigned int i;
549 QTime timer; 549 QTime timer;
550 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 550 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
551 QStringList syncProfileNames = mSyncProfileNames; 551 QStringList syncProfileNames = mSyncProfileNames;
552 KSyncProfile* temp = new KSyncProfile (); 552 KSyncProfile* temp = new KSyncProfile ();
553 mAskForPreferences = false; 553 mAskForPreferences = false;
554 for ( i = 0; i < syncProfileNames.count(); ++i ) { 554 for ( i = 0; i < syncProfileNames.count(); ++i ) {
555 mCurrentSyncProfile = i; 555 mCurrentSyncProfile = i;
556 temp->setName(syncProfileNames[mCurrentSyncProfile]); 556 temp->setName(syncProfileNames[mCurrentSyncProfile]);
557 temp->readConfig(&config); 557 temp->readConfig(&config);
558 558
559 bool includeInRingSync; 559 bool includeInRingSync;
560 switch(mTargetApp) 560 switch(mTargetApp)
561 { 561 {
562 case (KAPI): 562 case (KAPI):
563 includeInRingSync = temp->getIncludeInRingSyncAB(); 563 includeInRingSync = temp->getIncludeInRingSyncAB();
564 break; 564 break;
565 case (KOPI): 565 case (KOPI):
566 includeInRingSync = temp->getIncludeInRingSync(); 566 includeInRingSync = temp->getIncludeInRingSync();
567 break; 567 break;
568 case (PWMPI): 568 case (PWMPI):
569 includeInRingSync = temp->getIncludeInRingSyncPWM(); 569 includeInRingSync = temp->getIncludeInRingSyncPWM();
570 break; 570 break;
571 default: 571 default:
572 qDebug("KSyncManager::ringSync: invalid apptype selected"); 572 qDebug("KSM::ringSync: invalid apptype selected");
573 break; 573 break;
574 574
575 } 575 }
576 576
577 577
578 if ( includeInRingSync && ( i < 1 || i > 2 )) { 578 if ( includeInRingSync && ( i < 1 || i > 2 )) {
579 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... ")); 579 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... "));
580 ++syncedProfiles; 580 ++syncedProfiles;
581 mSyncWithDesktop = false; 581 mSyncWithDesktop = false;
582 // mAskForPreferences = temp->getAskForPreferences(); 582 // mAskForPreferences = temp->getAskForPreferences();
583 mWriteBackFile = temp->getWriteBackFile(); 583 mWriteBackFile = temp->getWriteBackFile();
584 mWriteBackExistingOnly = temp->getWriteBackExisting(); 584 mWriteBackExistingOnly = temp->getWriteBackExisting();
585 mIsKapiFile = temp->getIsKapiFile(); 585 mIsKapiFile = temp->getIsKapiFile();
586 mWriteBackInFuture = 0; 586 mWriteBackInFuture = 0;
587 if ( temp->getWriteBackFuture() ) { 587 if ( temp->getWriteBackFuture() ) {
588 mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); 588 mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
589 mWriteBackInPast = temp->getWriteBackPastWeeks( ); 589 mWriteBackInPast = temp->getWriteBackPastWeeks( );
590 } 590 }
591 mFilterInCal = temp->getFilterInCal(); 591 mFilterInCal = temp->getFilterInCal();
592 mFilterOutCal = temp->getFilterOutCal(); 592 mFilterOutCal = temp->getFilterOutCal();
593 mFilterInAB = temp->getFilterInAB(); 593 mFilterInAB = temp->getFilterInAB();
594 mFilterOutAB = temp->getFilterOutAB(); 594 mFilterOutAB = temp->getFilterOutAB();
595 mShowSyncSummary = false; 595 mShowSyncSummary = false;
596 mCurrentSyncDevice = syncProfileNames[i] ; 596 mCurrentSyncDevice = syncProfileNames[i] ;
597 mCurrentSyncName = mLocalMachineName; 597 mCurrentSyncName = mLocalMachineName;
598 if ( i == 0 ) { 598 if ( i == 0 ) {
599 mIsKapiFile = false; 599 mIsKapiFile = false;
600#ifdef DESKTOP_VERSION 600#ifdef DESKTOP_VERSION
601 syncKDE(); 601 syncKDE();
602#else 602#else
603 syncSharp(); 603 syncSharp();
604#endif 604#endif
605 } else { 605 } else {
606 if ( temp->getIsLocalFileSync() ) { 606 if ( temp->getIsLocalFileSync() ) {
607 switch(mTargetApp) 607 switch(mTargetApp)
608 { 608 {
609 case (KAPI): 609 case (KAPI):
610 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 610 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
611 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); 611 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
612 break; 612 break;
613 case (KOPI): 613 case (KOPI):
614 if ( syncWithFile( temp->getRemoteFileName( ), false ) ) 614 if ( syncWithFile( temp->getRemoteFileName( ), false ) )
615 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); 615 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName();
616 break; 616 break;
617 case (PWMPI): 617 case (PWMPI):
618 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) 618 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) )
619 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); 619 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM();
620 break; 620 break;
621 default: 621 default:
622 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 622 qDebug("KSM: invalid apptype selected");
623 break; 623 break;
624 } 624 }
625 } else { 625 } else {
626 if ( temp->getIsPhoneSync() ) { 626 if ( temp->getIsPhoneSync() ) {
627 mPhoneDevice = temp->getPhoneDevice( ) ; 627 mPhoneDevice = temp->getPhoneDevice( ) ;
628 mPhoneConnection = temp->getPhoneConnection( ); 628 mPhoneConnection = temp->getPhoneConnection( );
629 mPhoneModel = temp->getPhoneModel( ); 629 mPhoneModel = temp->getPhoneModel( );
630 syncPhone(); 630 syncPhone();
631 } else if ( temp->getIsPiSync() ) { 631 } else if ( temp->getIsPiSync() ) {
632 if ( mTargetApp == KAPI ) { 632 if ( mTargetApp == KAPI ) {
633 mPassWordPiSync = temp->getRemotePwAB(); 633 mPassWordPiSync = temp->getRemotePwAB();
634 mActiveSyncPort = temp->getRemotePortAB(); 634 mActiveSyncPort = temp->getRemotePortAB();
635 mActiveSyncIP = temp->getRemoteIPAB(); 635 mActiveSyncIP = temp->getRemoteIPAB();
636 } else if ( mTargetApp == KOPI ) { 636 } else if ( mTargetApp == KOPI ) {
637 mPassWordPiSync = temp->getRemotePw(); 637 mPassWordPiSync = temp->getRemotePw();
638 mActiveSyncPort = temp->getRemotePort(); 638 mActiveSyncPort = temp->getRemotePort();
639 mActiveSyncIP = temp->getRemoteIP(); 639 mActiveSyncIP = temp->getRemoteIP();
640 } else { 640 } else {
641 mPassWordPiSync = temp->getRemotePwPWM(); 641 mPassWordPiSync = temp->getRemotePwPWM();
642 mActiveSyncPort = temp->getRemotePortPWM(); 642 mActiveSyncPort = temp->getRemotePortPWM();
643 mActiveSyncIP = temp->getRemoteIPPWM(); 643 mActiveSyncIP = temp->getRemoteIPPWM();
644 } 644 }
645 syncPi(); 645 syncPi();
646 while ( !mPisyncFinished ) { 646 while ( !mPisyncFinished ) {
647 //qDebug("waiting "); 647 //qDebug("waiting ");
648 qApp->processEvents(); 648 qApp->processEvents();
649 } 649 }
650 timer.start(); 650 timer.start();
651 while ( timer.elapsed () < 2000 ) { 651 while ( timer.elapsed () < 2000 ) {
652 qApp->processEvents(); 652 qApp->processEvents();
653 } 653 }
654 } else 654 } else
@@ -677,113 +677,113 @@ void KSyncManager::syncRemote( KSyncProfile* prof, bool ask)
677 QString question; 677 QString question;
678 if ( ask ) { 678 if ( ask ) {
679 question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n"; 679 question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n";
680 if ( QMessageBox::information( mParent, i18n("Sync"), 680 if ( QMessageBox::information( mParent, i18n("Sync"),
681 question, 681 question,
682 i18n("Yes"), i18n("No"), 682 i18n("Yes"), i18n("No"),
683 0, 0 ) != 0 ) 683 0, 0 ) != 0 )
684 return; 684 return;
685 } 685 }
686 686
687 QString preCommand; 687 QString preCommand;
688 QString localTempFile; 688 QString localTempFile;
689 QString postCommand; 689 QString postCommand;
690 690
691 switch(mTargetApp) 691 switch(mTargetApp)
692 { 692 {
693 case (KAPI): 693 case (KAPI):
694 preCommand = prof->getPreSyncCommandAB(); 694 preCommand = prof->getPreSyncCommandAB();
695 postCommand = prof->getPostSyncCommandAB(); 695 postCommand = prof->getPostSyncCommandAB();
696 localTempFile = prof->getLocalTempFileAB(); 696 localTempFile = prof->getLocalTempFileAB();
697 break; 697 break;
698 case (KOPI): 698 case (KOPI):
699 preCommand = prof->getPreSyncCommand(); 699 preCommand = prof->getPreSyncCommand();
700 postCommand = prof->getPostSyncCommand(); 700 postCommand = prof->getPostSyncCommand();
701 localTempFile = prof->getLocalTempFile(); 701 localTempFile = prof->getLocalTempFile();
702 break; 702 break;
703 case (PWMPI): 703 case (PWMPI):
704 preCommand = prof->getPreSyncCommandPWM(); 704 preCommand = prof->getPreSyncCommandPWM();
705 postCommand = prof->getPostSyncCommandPWM(); 705 postCommand = prof->getPostSyncCommandPWM();
706 localTempFile = prof->getLocalTempFilePWM(); 706 localTempFile = prof->getLocalTempFilePWM();
707 break; 707 break;
708 default: 708 default:
709 qDebug("KSyncManager::syncRemote: invalid apptype selected"); 709 qDebug("KSM::syncRemote: invalid apptype selected");
710 break; 710 break;
711 } 711 }
712 712
713 713
714 int fi; 714 int fi;
715 if ( (fi = preCommand.find("$PWD$")) > 0 ) { 715 if ( (fi = preCommand.find("$PWD$")) > 0 ) {
716 QString pwd = getPassword(); 716 QString pwd = getPassword();
717 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 ); 717 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 );
718 718
719 } 719 }
720 int maxlen = 30; 720 int maxlen = 30;
721 if ( QApplication::desktop()->width() > 320 ) 721 if ( QApplication::desktop()->width() > 320 )
722 maxlen += 25; 722 maxlen += 25;
723 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) ); 723 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) );
724 int fileSize = 0; 724 int fileSize = 0;
725 int result = system ( preCommand ); 725 int result = system ( preCommand );
726 // 0 : okay 726 // 0 : okay
727 // 256: no such file or dir 727 // 256: no such file or dir
728 // 728 //
729 qDebug("Sync: Remote copy result(0 = okay): %d ",result ); 729 qDebug("KSM::Sync: Remote copy result(0 = okay): %d ",result );
730 if ( result != 0 ) { 730 if ( result != 0 ) {
731 unsigned int len = maxlen; 731 unsigned int len = maxlen;
732 while ( len < preCommand.length() ) { 732 while ( len < preCommand.length() ) {
733 preCommand.insert( len , "\n" ); 733 preCommand.insert( len , "\n" );
734 len += maxlen +2; 734 len += maxlen +2;
735 } 735 }
736 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ; 736 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ;
737 QMessageBox::information( mParent, i18n("Sync - ERROR"), 737 QMessageBox::information( mParent, i18n("Sync - ERROR"),
738 question, 738 question,
739 i18n("Okay!")) ; 739 i18n("Okay!")) ;
740 mParent->topLevelWidget()->setCaption ("KDE-Pim"); 740 mParent->topLevelWidget()->setCaption ("KDE-Pim");
741 return; 741 return;
742 } 742 }
743 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) ); 743 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) );
744 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() ); 744 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
745 745
746 if ( syncWithFile( localTempFile, true ) ) { 746 if ( syncWithFile( localTempFile, true ) ) {
747 747
748 if ( mWriteBackFile ) { 748 if ( mWriteBackFile ) {
749 int fi; 749 int fi;
750 if ( (fi = postCommand.find("$PWD$")) > 0 ) { 750 if ( (fi = postCommand.find("$PWD$")) > 0 ) {
751 QString pwd = getPassword(); 751 QString pwd = getPassword();
752 postCommand = postCommand.left( fi )+ pwd + postCommand.mid( fi+5 ); 752 postCommand = postCommand.left( fi )+ pwd + postCommand.mid( fi+5 );
753 753
754 } 754 }
755 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file ..." ) ); 755 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file ..." ) );
756 result = system ( postCommand ); 756 result = system ( postCommand );
757 qDebug("Sync:Writing back file result: %d ", result); 757 qDebug("KSM::Sync:Writing back file result: %d ", result);
758 if ( result != 0 ) { 758 if ( result != 0 ) {
759 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file result: " )+QString::number( result ) ); 759 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file result: " )+QString::number( result ) );
760 return; 760 return;
761 } else { 761 } else {
762 mParent->topLevelWidget()->setCaption ( i18n( "Syncronization sucessfully completed" ) ); 762 mParent->topLevelWidget()->setCaption ( i18n( "Syncronization sucessfully completed" ) );
763 } 763 }
764 } 764 }
765 } 765 }
766 return; 766 return;
767} 767}
768bool KSyncManager::edit_pisync_options() 768bool KSyncManager::edit_pisync_options()
769{ 769{
770 QDialog dia( mParent, "dia", true ); 770 QDialog dia( mParent, "dia", true );
771 dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice ); 771 dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice );
772 QVBoxLayout lay ( &dia ); 772 QVBoxLayout lay ( &dia );
773 lay.setSpacing( 5 ); 773 lay.setSpacing( 5 );
774 lay.setMargin( 3 ); 774 lay.setMargin( 3 );
775 QLabel lab1 ( i18n("Password for remote access:"), &dia); 775 QLabel lab1 ( i18n("Password for remote access:"), &dia);
776 lay.addWidget( &lab1 ); 776 lay.addWidget( &lab1 );
777 QLineEdit le1 (&dia ); 777 QLineEdit le1 (&dia );
778 lay.addWidget( &le1 ); 778 lay.addWidget( &le1 );
779 QLabel lab2 ( i18n("Remote IP address:"), &dia); 779 QLabel lab2 ( i18n("Remote IP address:"), &dia);
780 lay.addWidget( &lab2 ); 780 lay.addWidget( &lab2 );
781 QLineEdit le2 (&dia ); 781 QLineEdit le2 (&dia );
782 lay.addWidget( &le2 ); 782 lay.addWidget( &le2 );
783 QLabel lab3 ( i18n("Remote port number:"), &dia); 783 QLabel lab3 ( i18n("Remote port number:"), &dia);
784 lay.addWidget( &lab3 ); 784 lay.addWidget( &lab3 );
785 QLineEdit le3 (&dia ); 785 QLineEdit le3 (&dia );
786 lay.addWidget( &le3 ); 786 lay.addWidget( &le3 );
787 QPushButton pb ( "OK", &dia); 787 QPushButton pb ( "OK", &dia);
788 lay.addWidget( &pb ); 788 lay.addWidget( &pb );
789 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 789 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
@@ -920,89 +920,89 @@ void KSyncManager::syncKDE()
920 if ( mWriteBackFile ) { 920 if ( mWriteBackFile ) {
921 command += " --read"; 921 command += " --read";
922 system ( command.latin1()); 922 system ( command.latin1());
923 } 923 }
924 } 924 }
925 925
926 } 926 }
927 break; 927 break;
928 case (KOPI): 928 case (KOPI):
929 { 929 {
930#ifdef DESKTOP_VERSION 930#ifdef DESKTOP_VERSION
931 QString command = qApp->applicationDirPath () + "/kdecaldump"; 931 QString command = qApp->applicationDirPath () + "/kdecaldump";
932#else 932#else
933 QString command = "kdecaldump"; 933 QString command = "kdecaldump";
934#endif 934#endif
935 if ( ! QFile::exists ( command ) ) 935 if ( ! QFile::exists ( command ) )
936 command = "kdecaldump"; 936 command = "kdecaldump";
937 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; 937 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics";
938 system ( command.latin1()); 938 system ( command.latin1());
939 if ( syncWithFile( fileName,true ) ) { 939 if ( syncWithFile( fileName,true ) ) {
940 if ( mWriteBackFile ) { 940 if ( mWriteBackFile ) {
941 command += " --read"; 941 command += " --read";
942 system ( command.latin1()); 942 system ( command.latin1());
943 } 943 }
944 } 944 }
945 945
946 } 946 }
947 break; 947 break;
948 case (PWMPI): 948 case (PWMPI):
949 949
950 break; 950 break;
951 default: 951 default:
952 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 952 qDebug("KSM::slotSyncMenu: invalid apptype selected");
953 break; 953 break;
954 954
955 } 955 }
956} 956}
957 957
958void KSyncManager::syncSharp() 958void KSyncManager::syncSharp()
959{ 959{
960 960
961 if ( ! syncExternalApplication("sharp") ) 961 if ( ! syncExternalApplication("sharp") )
962 qDebug("ERROR sync sharp "); 962 qDebug("KSM::ERROR sync sharp ");
963} 963}
964 964
965bool KSyncManager::syncExternalApplication(QString resource) 965bool KSyncManager::syncExternalApplication(QString resource)
966{ 966{
967 967
968 emit save(); 968 emit save();
969 969
970 if ( mAskForPreferences ) 970 if ( mAskForPreferences )
971 if ( !edit_sync_options()) { 971 if ( !edit_sync_options()) {
972 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 972 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
973 return false; 973 return false;
974 } 974 }
975 975
976 qDebug("Sync extern %s", resource.latin1()); 976 qDebug("KSM::Sync extern %s", resource.latin1());
977 977
978 bool syncOK = mImplementation->syncExternal(this, resource); 978 bool syncOK = mImplementation->syncExternal(this, resource);
979 979
980 return syncOK; 980 return syncOK;
981 981
982} 982}
983 983
984void KSyncManager::syncPhone() 984void KSyncManager::syncPhone()
985{ 985{
986 986
987 syncExternalApplication("phone"); 987 syncExternalApplication("phone");
988 988
989} 989}
990 990
991void KSyncManager::showProgressBar(int percentage, QString caption, int total) 991void KSyncManager::showProgressBar(int percentage, QString caption, int total)
992{ 992{
993 if (!bar->isVisible()) 993 if (!bar->isVisible())
994 { 994 {
995 bar->setCaption (caption); 995 bar->setCaption (caption);
996 bar->setTotalSteps ( total ) ; 996 bar->setTotalSteps ( total ) ;
997 bar->show(); 997 bar->show();
998 } 998 }
999 bar->raise(); 999 bar->raise();
1000 bar->setProgress( percentage ); 1000 bar->setProgress( percentage );
1001 qApp->processEvents(); 1001 qApp->processEvents();
1002} 1002}
1003 1003
1004void KSyncManager::hideProgressBar() 1004void KSyncManager::hideProgressBar()
1005{ 1005{
1006 bar->hide(); 1006 bar->hide();
1007 qApp->processEvents(); 1007 qApp->processEvents();
1008} 1008}
@@ -1091,89 +1091,89 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1091void KSyncManager::readFileFromSocket() 1091void KSyncManager::readFileFromSocket()
1092{ 1092{
1093 QString fileName = syncFileName(); 1093 QString fileName = syncFileName();
1094 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1094 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1095 if ( ! syncWithFile( fileName , true ) ) { 1095 if ( ! syncWithFile( fileName , true ) ) {
1096 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1096 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1097 mPisyncFinished = true; 1097 mPisyncFinished = true;
1098 return; 1098 return;
1099 } 1099 }
1100 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 1100 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
1101 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1101 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1102 if ( mWriteBackFile ) 1102 if ( mWriteBackFile )
1103 commandSocket->writeFile( fileName ); 1103 commandSocket->writeFile( fileName );
1104 else { 1104 else {
1105 commandSocket->sendStop(); 1105 commandSocket->sendStop();
1106 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1106 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1107 mPisyncFinished = true; 1107 mPisyncFinished = true;
1108 } 1108 }
1109} 1109}
1110 1110
1111KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1111KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1112{ 1112{
1113 mPassWord = pw; 1113 mPassWord = pw;
1114 mSocket = 0; 1114 mSocket = 0;
1115 mSyncActionDialog = 0; 1115 mSyncActionDialog = 0;
1116 blockRC = false; 1116 blockRC = false;
1117}; 1117};
1118 1118
1119void KServerSocket::newConnection ( int socket ) 1119void KServerSocket::newConnection ( int socket )
1120{ 1120{
1121 // qDebug("KServerSocket:New connection %d ", socket); 1121 // qDebug("KServerSocket:New connection %d ", socket);
1122 if ( mSocket ) { 1122 if ( mSocket ) {
1123 qDebug("KServerSocket::newConnection Socket deleted! "); 1123 qDebug("KSS::newConnection Socket deleted! ");
1124 delete mSocket; 1124 delete mSocket;
1125 mSocket = 0; 1125 mSocket = 0;
1126 } 1126 }
1127 mSocket = new QSocket( this ); 1127 mSocket = new QSocket( this );
1128 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1128 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1129 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1129 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1130 mSocket->setSocket( socket ); 1130 mSocket->setSocket( socket );
1131} 1131}
1132 1132
1133void KServerSocket::discardClient() 1133void KServerSocket::discardClient()
1134{ 1134{
1135 //qDebug(" KServerSocket::discardClient()"); 1135 //qDebug(" KServerSocket::discardClient()");
1136 if ( mSocket ) { 1136 if ( mSocket ) {
1137 delete mSocket; 1137 delete mSocket;
1138 mSocket = 0; 1138 mSocket = 0;
1139 } 1139 }
1140 //emit endConnect(); 1140 //emit endConnect();
1141} 1141}
1142void KServerSocket::readClient() 1142void KServerSocket::readClient()
1143{ 1143{
1144 if ( blockRC ) 1144 if ( blockRC )
1145 return; 1145 return;
1146 if ( mSocket == 0 ) { 1146 if ( mSocket == 0 ) {
1147 qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 "); 1147 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1148 return; 1148 return;
1149 } 1149 }
1150 //qDebug("KServerSocket::readClient()"); 1150 //qDebug("KServerSocket::readClient()");
1151 if ( mSocket->canReadLine() ) { 1151 if ( mSocket->canReadLine() ) {
1152 QString line = mSocket->readLine(); 1152 QString line = mSocket->readLine();
1153 //qDebug("KServerSocket readline: %s ", line.latin1()); 1153 //qDebug("KServerSocket readline: %s ", line.latin1());
1154 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1154 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1155 if ( tokens[0] == "GET" ) { 1155 if ( tokens[0] == "GET" ) {
1156 if ( tokens[1] == mPassWord ) { 1156 if ( tokens[1] == mPassWord ) {
1157 //emit sendFile( mSocket ); 1157 //emit sendFile( mSocket );
1158 bool ok = false; 1158 bool ok = false;
1159 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1159 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1160 if ( ok ) { 1160 if ( ok ) {
1161 KSyncManager::mRequestedSyncEvent = dt; 1161 KSyncManager::mRequestedSyncEvent = dt;
1162 } 1162 }
1163 else 1163 else
1164 KSyncManager::mRequestedSyncEvent = QDateTime(); 1164 KSyncManager::mRequestedSyncEvent = QDateTime();
1165 send_file(); 1165 send_file();
1166 } 1166 }
1167 else { 1167 else {
1168 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password")); 1168 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"));
1169 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 1169 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
1170 } 1170 }
1171 } 1171 }
1172 if ( tokens[0] == "PUT" ) { 1172 if ( tokens[0] == "PUT" ) {
1173 if ( tokens[1] == mPassWord ) { 1173 if ( tokens[1] == mPassWord ) {
1174 //emit getFile( mSocket ); 1174 //emit getFile( mSocket );
1175 blockRC = true; 1175 blockRC = true;
1176 get_file(); 1176 get_file();
1177 } 1177 }
1178 else { 1178 else {
1179 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password")); 1179 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"));
@@ -1190,65 +1190,65 @@ void KServerSocket::end_connect()
1190{ 1190{
1191 delete mSyncActionDialog; 1191 delete mSyncActionDialog;
1192 mSyncActionDialog = 0; 1192 mSyncActionDialog = 0;
1193} 1193}
1194void KServerSocket::send_file() 1194void KServerSocket::send_file()
1195{ 1195{
1196 //qDebug("MainWindow::sendFile(QSocket* s) "); 1196 //qDebug("MainWindow::sendFile(QSocket* s) ");
1197 if ( mSyncActionDialog ) 1197 if ( mSyncActionDialog )
1198 delete mSyncActionDialog; 1198 delete mSyncActionDialog;
1199 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1199 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1200 mSyncActionDialog->setCaption(i18n("Received sync request")); 1200 mSyncActionDialog->setCaption(i18n("Received sync request"));
1201 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1201 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1202 label->setAlignment ( Qt::AlignHCenter ); 1202 label->setAlignment ( Qt::AlignHCenter );
1203 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1203 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1204 lay->addWidget( label); 1204 lay->addWidget( label);
1205 lay->setMargin(7); 1205 lay->setMargin(7);
1206 lay->setSpacing(7); 1206 lay->setSpacing(7);
1207 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1207 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1208 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1208 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1209 if ( secs < 0 ) 1209 if ( secs < 0 )
1210 secs = secs * (-1); 1210 secs = secs * (-1);
1211 if ( secs > 30 ) 1211 if ( secs > 30 )
1212 //if ( true ) 1212 //if ( true )
1213 { 1213 {
1214 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs ); 1214 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1215 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1215 QLabel* label = new QLabel( warning, mSyncActionDialog );
1216 label->setAlignment ( Qt::AlignHCenter ); 1216 label->setAlignment ( Qt::AlignHCenter );
1217 lay->addWidget( label); 1217 lay->addWidget( label);
1218 if ( secs > 180 ) 1218 if ( secs > 180 )
1219 { 1219 {
1220 if ( secs > 300 ) { 1220 if ( secs > 300 ) {
1221 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\n of more than 5 minutes.\nPlease adjust your clocks.\n<b>You may get wrong syncing results!<\b>\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) { 1221 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\n of more than 5 minutes.\nPlease adjust your clocks.\n<b>You may get wrong syncing results!<\b>\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) {
1222 qDebug("cancelled "); 1222 qDebug("KSS::Sync cancelled ,cs");
1223 return ; 1223 return ;
1224 } 1224 }
1225 } 1225 }
1226 QFont f = label->font(); 1226 QFont f = label->font();
1227 f.setPointSize ( f.pointSize() *2 ); 1227 f.setPointSize ( f.pointSize() *2 );
1228 f. setBold (true ); 1228 f. setBold (true );
1229 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1229 QLabel* label = new QLabel( warning, mSyncActionDialog );
1230 label->setFont( f ); 1230 label->setFont( f );
1231 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1231 warning = i18n("ADJUST\nYOUR\nCLOCKS!");
1232 label->setText( warning ); 1232 label->setText( warning );
1233 label->setAlignment ( Qt::AlignHCenter ); 1233 label->setAlignment ( Qt::AlignHCenter );
1234 lay->addWidget( label); 1234 lay->addWidget( label);
1235 mSyncActionDialog->setFixedSize( 230, 300); 1235 mSyncActionDialog->setFixedSize( 230, 300);
1236 } else { 1236 } else {
1237 mSyncActionDialog->setFixedSize( 230, 200); 1237 mSyncActionDialog->setFixedSize( 230, 200);
1238 } 1238 }
1239 } else { 1239 } else {
1240 mSyncActionDialog->setFixedSize( 230, 120); 1240 mSyncActionDialog->setFixedSize( 230, 120);
1241 } 1241 }
1242 } else 1242 } else
1243 mSyncActionDialog->setFixedSize( 230, 120); 1243 mSyncActionDialog->setFixedSize( 230, 120);
1244 mSyncActionDialog->show(); 1244 mSyncActionDialog->show();
1245 mSyncActionDialog->raise(); 1245 mSyncActionDialog->raise();
1246 emit request_file(); 1246 emit request_file();
1247 qApp->processEvents(); 1247 qApp->processEvents();
1248 QString fileName = mFileName; 1248 QString fileName = mFileName;
1249 QFile file( fileName ); 1249 QFile file( fileName );
1250 if (!file.open( IO_ReadOnly ) ) { 1250 if (!file.open( IO_ReadOnly ) ) {
1251 delete mSyncActionDialog; 1251 delete mSyncActionDialog;
1252 mSyncActionDialog = 0; 1252 mSyncActionDialog = 0;
1253 qDebug("KSS::error open sync file: %s ", fileName.latin1()); 1253 qDebug("KSS::error open sync file: %s ", fileName.latin1());
1254 mSocket->close(); 1254 mSocket->close();
@@ -1436,50 +1436,50 @@ void KCommandSocket::readFileFromSocket()
1436 return; 1436 return;
1437 } 1437 }
1438 QString fileName = mFileName; 1438 QString fileName = mFileName;
1439 QFile file ( fileName ); 1439 QFile file ( fileName );
1440 if (!file.open( IO_WriteOnly ) ) { 1440 if (!file.open( IO_WriteOnly ) ) {
1441 mFileString = ""; 1441 mFileString = "";
1442 mRetVal = errorR; 1442 mRetVal = errorR;
1443 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() ); 1443 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() );
1444 deleteSocket(); 1444 deleteSocket();
1445 return ; 1445 return ;
1446 1446
1447 } 1447 }
1448 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1448 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1449 QTextStream ts ( &file ); 1449 QTextStream ts ( &file );
1450 ts.setEncoding( QTextStream::Latin1 ); 1450 ts.setEncoding( QTextStream::Latin1 );
1451 ts << mFileString; 1451 ts << mFileString;
1452 file.close(); 1452 file.close();
1453 mFileString = ""; 1453 mFileString = "";
1454 mRetVal = successR; 1454 mRetVal = successR;
1455 mSocket->close(); 1455 mSocket->close();
1456 // if state is not idle, deleteSocket(); is called via 1456 // if state is not idle, deleteSocket(); is called via
1457 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1457 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1458 if ( mSocket->state() == QSocket::Idle ) 1458 if ( mSocket->state() == QSocket::Idle )
1459 deleteSocket(); 1459 deleteSocket();
1460} 1460}
1461 1461
1462void KCommandSocket::deleteSocket() 1462void KCommandSocket::deleteSocket()
1463{ 1463{
1464 //qDebug("KCommandSocket::deleteSocket() "); 1464 //qDebug("KCommandSocket::deleteSocket() ");
1465 if ( mTimerSocket->isActive () ) { 1465 if ( mTimerSocket->isActive () ) {
1466 mTimerSocket->stop(); 1466 mTimerSocket->stop();
1467 mRetVal = errorTO; 1467 mRetVal = errorTO;
1468 qDebug("Connection to remote host timed out"); 1468 qDebug("KCS::Connection to remote host timed out");
1469 if ( mSocket ) { 1469 if ( mSocket ) {
1470 mSocket->close(); 1470 mSocket->close();
1471 //if ( mSocket->state() == QSocket::Idle ) 1471 //if ( mSocket->state() == QSocket::Idle )
1472 // deleteSocket(); 1472 // deleteSocket();
1473 delete mSocket; 1473 delete mSocket;
1474 mSocket = 0; 1474 mSocket = 0;
1475 } 1475 }
1476 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? ")); 1476 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? "));
1477 emit commandFinished( this, mRetVal ); 1477 emit commandFinished( this, mRetVal );
1478 return; 1478 return;
1479 } 1479 }
1480 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 1480 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
1481 if ( mSocket) 1481 if ( mSocket)
1482 delete mSocket; 1482 delete mSocket;
1483 mSocket = 0; 1483 mSocket = 0;
1484 emit commandFinished( this, mRetVal ); 1484 emit commandFinished( this, mRetVal );
1485} 1485}