summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-08-02 01:14:33 (UTC)
committer zautrix <zautrix>2004-08-02 01:14:33 (UTC)
commitf6a823824e6a8be3d842e99b43dacd495bb02ba4 (patch) (unidiff)
tree09f21069cd63a5e73b9fe735d82487d35e47033b
parent54157cb44316de72d776cfae70bdadf6c52f4773 (diff)
downloadkdepimpi-f6a823824e6a8be3d842e99b43dacd495bb02ba4.zip
kdepimpi-f6a823824e6a8be3d842e99b43dacd495bb02ba4.tar.gz
kdepimpi-f6a823824e6a8be3d842e99b43dacd495bb02ba4.tar.bz2
Hack, hack, hack ...
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp1
-rw-r--r--libkdepim/ksyncprefsdialog.cpp6
2 files changed, 7 insertions, 0 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index cbe2a10..53c079c 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -679,384 +679,385 @@ void CalendarView::createPrinter()
679 if (!mCalPrinter) { 679 if (!mCalPrinter) {
680 mCalPrinter = new CalPrinter(this, mCalendar); 680 mCalPrinter = new CalPrinter(this, mCalendar);
681 connect(this, SIGNAL(configChanged()), mCalPrinter, SLOT(updateConfig())); 681 connect(this, SIGNAL(configChanged()), mCalPrinter, SLOT(updateConfig()));
682 } 682 }
683#endif 683#endif
684} 684}
685 685
686void CalendarView::confSync() 686void CalendarView::confSync()
687{ 687{
688 static KSyncPrefsDialog* sp = 0; 688 static KSyncPrefsDialog* sp = 0;
689 if ( ! sp ) { 689 if ( ! sp ) {
690 sp = new KSyncPrefsDialog( this, "syncprefs", true ); 690 sp = new KSyncPrefsDialog( this, "syncprefs", true );
691 } 691 }
692 sp->usrReadConfig(); 692 sp->usrReadConfig();
693#ifndef DESKTOP_VERSION 693#ifndef DESKTOP_VERSION
694 sp->showMaximized(); 694 sp->showMaximized();
695#else 695#else
696 sp->show(); 696 sp->show();
697#endif 697#endif
698 sp->exec(); 698 sp->exec();
699 KOPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames(); 699 KOPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames();
700 KOPrefs::instance()->mLocalMachineName = sp->getLocalMachineName (); 700 KOPrefs::instance()->mLocalMachineName = sp->getLocalMachineName ();
701} 701}
702 702
703 703
704//KOPrefs::instance()->mWriteBackFile 704//KOPrefs::instance()->mWriteBackFile
705//KOPrefs::instance()->mWriteBackExistingOnly 705//KOPrefs::instance()->mWriteBackExistingOnly
706 706
707// 0 syncPrefsGroup->addRadio(i18n("Take local entry on conflict")); 707// 0 syncPrefsGroup->addRadio(i18n("Take local entry on conflict"));
708// 1 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict")); 708// 1 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict"));
709// 2 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict")); 709// 2 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict"));
710// 3 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict")); 710// 3 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict"));
711// 4 syncPrefsGroup->addRadio(i18n("Force take local entry always")); 711// 4 syncPrefsGroup->addRadio(i18n("Force take local entry always"));
712// 5 syncPrefsGroup->addRadio(i18n("Force take remote entry always")); 712// 5 syncPrefsGroup->addRadio(i18n("Force take remote entry always"));
713 713
714int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , bool full ) 714int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , bool full )
715{ 715{
716 716
717 //void setZaurusId(int id); 717 //void setZaurusId(int id);
718 // int zaurusId() const; 718 // int zaurusId() const;
719 // void setZaurusUid(int id); 719 // void setZaurusUid(int id);
720 // int zaurusUid() const; 720 // int zaurusUid() const;
721 // void setZaurusStat(int id); 721 // void setZaurusStat(int id);
722 // int zaurusStat() const; 722 // int zaurusStat() const;
723 // 0 equal 723 // 0 equal
724 // 1 take local 724 // 1 take local
725 // 2 take remote 725 // 2 take remote
726 // 3 cancel 726 // 3 cancel
727 QDateTime lastSync = mLastCalendarSync; 727 QDateTime lastSync = mLastCalendarSync;
728 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 728 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
729 bool remCh, locCh; 729 bool remCh, locCh;
730 remCh = ( remote->zaurusUid() != local->zaurusUid() ); 730 remCh = ( remote->zaurusUid() != local->zaurusUid() );
731 locCh = ( local->lastModified() > mLastCalendarSync ); 731 locCh = ( local->lastModified() > mLastCalendarSync );
732 //qDebug("locCh %d remCh %d locuid %d remuid %d", locCh, remCh,local->zaurusUid(), remote->zaurusUid() ); 732 //qDebug("locCh %d remCh %d locuid %d remuid %d", locCh, remCh,local->zaurusUid(), remote->zaurusUid() );
733 if ( !remCh && ! locCh ) { 733 if ( !remCh && ! locCh ) {
734 //qDebug("both not changed "); 734 //qDebug("both not changed ");
735 lastSync = local->lastModified().addDays(1); 735 lastSync = local->lastModified().addDays(1);
736 } else { 736 } else {
737 if ( locCh ) { 737 if ( locCh ) {
738 //qDebug("loc changed %d %d", local->zaurusStat(), local->revision() ); 738 //qDebug("loc changed %d %d", local->zaurusStat(), local->revision() );
739 lastSync = local->lastModified().addDays( -1 ); 739 lastSync = local->lastModified().addDays( -1 );
740 if ( !remCh ) 740 if ( !remCh )
741 remote->setLastModified( lastSync.addDays( -1 ) ); 741 remote->setLastModified( lastSync.addDays( -1 ) );
742 } else { 742 } else {
743 //qDebug(" not loc changed "); 743 //qDebug(" not loc changed ");
744 lastSync = local->lastModified().addDays( 1 ); 744 lastSync = local->lastModified().addDays( 1 );
745 if ( remCh ) 745 if ( remCh )
746 remote->setLastModified( lastSync.addDays( 1 ) ); 746 remote->setLastModified( lastSync.addDays( 1 ) );
747 747
748 } 748 }
749 } 749 }
750 full = true; 750 full = true;
751 if ( mode < SYNC_PREF_ASK ) 751 if ( mode < SYNC_PREF_ASK )
752 mode = SYNC_PREF_ASK; 752 mode = SYNC_PREF_ASK;
753 } else { 753 } else {
754 if ( local->lastModified() == remote->lastModified() ) 754 if ( local->lastModified() == remote->lastModified() )
755 if ( local->revision() == remote->revision() ) 755 if ( local->revision() == remote->revision() )
756 return 0; 756 return 0;
757 757
758 } 758 }
759 // qDebug(" %d %d conflict on %s %s ", mode, full, local->summary().latin1(), remote->summary().latin1() ); 759 // qDebug(" %d %d conflict on %s %s ", mode, full, local->summary().latin1(), remote->summary().latin1() );
760 760
761 //qDebug("%s %d %s %d", local->lastModified().toString().latin1() , local->revision(), remote->lastModified().toString().latin1(), remote->revision()); 761 //qDebug("%s %d %s %d", local->lastModified().toString().latin1() , local->revision(), remote->lastModified().toString().latin1(), remote->revision());
762 //qDebug("%d %d %d %d ", local->lastModified().time().second(), local->lastModified().time().msec(), remote->lastModified().time().second(), remote->lastModified().time().msec() ); 762 //qDebug("%d %d %d %d ", local->lastModified().time().second(), local->lastModified().time().msec(), remote->lastModified().time().second(), remote->lastModified().time().msec() );
763 //full = true; //debug only 763 //full = true; //debug only
764 if ( full ) { 764 if ( full ) {
765 bool equ = false; 765 bool equ = false;
766 if ( local->type() == "Event" ) { 766 if ( local->type() == "Event" ) {
767 equ = (*((Event*) local) == *((Event*) remote)); 767 equ = (*((Event*) local) == *((Event*) remote));
768 } 768 }
769 else if ( local->type() =="Todo" ) 769 else if ( local->type() =="Todo" )
770 equ = (*((Todo*) local) == (*(Todo*) remote)); 770 equ = (*((Todo*) local) == (*(Todo*) remote));
771 else if ( local->type() =="Journal" ) 771 else if ( local->type() =="Journal" )
772 equ = (*((Journal*) local) == *((Journal*) remote)); 772 equ = (*((Journal*) local) == *((Journal*) remote));
773 if ( equ ) { 773 if ( equ ) {
774 //qDebug("equal "); 774 //qDebug("equal ");
775 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 775 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
776 local->setZaurusUid( remote->zaurusUid() ); 776 local->setZaurusUid( remote->zaurusUid() );
777 } 777 }
778 if ( mode < SYNC_PREF_FORCE_LOCAL ) 778 if ( mode < SYNC_PREF_FORCE_LOCAL )
779 return 0; 779 return 0;
780 780
781 }//else //debug only 781 }//else //debug only
782 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1()); 782 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1());
783 } 783 }
784 int result; 784 int result;
785 bool localIsNew; 785 bool localIsNew;
786 if ( full && mode < SYNC_PREF_NEWEST ) 786 if ( full && mode < SYNC_PREF_NEWEST )
787 mode = SYNC_PREF_ASK; 787 mode = SYNC_PREF_ASK;
788 788
789 switch( mode ) { 789 switch( mode ) {
790 case SYNC_PREF_LOCAL: 790 case SYNC_PREF_LOCAL:
791 if ( lastSync > remote->lastModified() ) 791 if ( lastSync > remote->lastModified() )
792 return 1; 792 return 1;
793 if ( lastSync > local->lastModified() ) 793 if ( lastSync > local->lastModified() )
794 return 2; 794 return 2;
795 return 1; 795 return 1;
796 break; 796 break;
797 case SYNC_PREF_REMOTE: 797 case SYNC_PREF_REMOTE:
798 if ( lastSync > remote->lastModified() ) 798 if ( lastSync > remote->lastModified() )
799 return 1; 799 return 1;
800 if ( lastSync > local->lastModified() ) 800 if ( lastSync > local->lastModified() )
801 return 2; 801 return 2;
802 return 2; 802 return 2;
803 break; 803 break;
804 case SYNC_PREF_NEWEST: 804 case SYNC_PREF_NEWEST:
805 if ( local->lastModified() > remote->lastModified() ) 805 if ( local->lastModified() > remote->lastModified() )
806 return 1; 806 return 1;
807 else 807 else
808 return 2; 808 return 2;
809 break; 809 break;
810 case SYNC_PREF_ASK: 810 case SYNC_PREF_ASK:
811 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() ); 811 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() );
812 if ( lastSync > remote->lastModified() ) 812 if ( lastSync > remote->lastModified() )
813 return 1; 813 return 1;
814 if ( lastSync > local->lastModified() ) 814 if ( lastSync > local->lastModified() )
815 return 2; 815 return 2;
816 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() ); 816 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), local->lastModified().toString().latin1(), remote->lastModified().toString().latin1() );
817 localIsNew = local->lastModified() > remote->lastModified(); 817 localIsNew = local->lastModified() > remote->lastModified();
818 if ( localIsNew ) 818 if ( localIsNew )
819 getEventViewerDialog()->setColorMode( 1 ); 819 getEventViewerDialog()->setColorMode( 1 );
820 else 820 else
821 getEventViewerDialog()->setColorMode( 2 ); 821 getEventViewerDialog()->setColorMode( 2 );
822 getEventViewerDialog()->setIncidence(local); 822 getEventViewerDialog()->setIncidence(local);
823 if ( localIsNew ) 823 if ( localIsNew )
824 getEventViewerDialog()->setColorMode( 2 ); 824 getEventViewerDialog()->setColorMode( 2 );
825 else 825 else
826 getEventViewerDialog()->setColorMode( 1 ); 826 getEventViewerDialog()->setColorMode( 1 );
827 getEventViewerDialog()->addIncidence(remote); 827 getEventViewerDialog()->addIncidence(remote);
828 getEventViewerDialog()->setColorMode( 0 ); 828 getEventViewerDialog()->setColorMode( 0 );
829 //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() ); 829 //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() );
830 getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!")); 830 getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!"));
831 getEventViewerDialog()->showMe(); 831 getEventViewerDialog()->showMe();
832 result = getEventViewerDialog()->executeS( localIsNew ); 832 result = getEventViewerDialog()->executeS( localIsNew );
833 return result; 833 return result;
834 834
835 break; 835 break;
836 case SYNC_PREF_FORCE_LOCAL: 836 case SYNC_PREF_FORCE_LOCAL:
837 return 1; 837 return 1;
838 break; 838 break;
839 case SYNC_PREF_FORCE_REMOTE: 839 case SYNC_PREF_FORCE_REMOTE:
840 return 2; 840 return 2;
841 break; 841 break;
842 842
843 default: 843 default:
844 // SYNC_PREF_TAKE_BOTH not implemented 844 // SYNC_PREF_TAKE_BOTH not implemented
845 break; 845 break;
846 } 846 }
847 return 0; 847 return 0;
848} 848}
849Event* CalendarView::getLastSyncEvent() 849Event* CalendarView::getLastSyncEvent()
850{ 850{
851 Event* lse; 851 Event* lse;
852 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); 852 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() );
853 lse = mCalendar->event( "last-syncEvent-"+mCurrentSyncDevice ); 853 lse = mCalendar->event( "last-syncEvent-"+mCurrentSyncDevice );
854 if (!lse) { 854 if (!lse) {
855 lse = new Event(); 855 lse = new Event();
856 lse->setUid( "last-syncEvent-"+mCurrentSyncDevice ); 856 lse->setUid( "last-syncEvent-"+mCurrentSyncDevice );
857 QString sum = ""; 857 QString sum = "";
858 if ( KOPrefs::instance()->mExternSyncProfiles.contains( mCurrentSyncDevice ) ) 858 if ( KOPrefs::instance()->mExternSyncProfiles.contains( mCurrentSyncDevice ) )
859 sum = "E: "; 859 sum = "E: ";
860 lse->setSummary(sum+mCurrentSyncDevice + i18n(" - sync event")); 860 lse->setSummary(sum+mCurrentSyncDevice + i18n(" - sync event"));
861 lse->setDtStart( mLastCalendarSync ); 861 lse->setDtStart( mLastCalendarSync );
862 lse->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 862 lse->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
863 lse->setCategories( i18n("SyncEvent") ); 863 lse->setCategories( i18n("SyncEvent") );
864 lse->setReadOnly( true ); 864 lse->setReadOnly( true );
865 mCalendar->addEvent( lse ); 865 mCalendar->addEvent( lse );
866 } 866 }
867 867
868 return lse; 868 return lse;
869 869
870} 870}
871// probaly useless
871void CalendarView::setupExternSyncProfiles() 872void CalendarView::setupExternSyncProfiles()
872{ 873{
873 Event* lse; 874 Event* lse;
874 mExternLastSyncEvent.clear(); 875 mExternLastSyncEvent.clear();
875 int i; 876 int i;
876 for ( i = 0; i < KOPrefs::instance()->mExternSyncProfiles.count(); ++i ) { 877 for ( i = 0; i < KOPrefs::instance()->mExternSyncProfiles.count(); ++i ) {
877 lse = mCalendar->event( "last-syncEvent-"+ KOPrefs::instance()->mExternSyncProfiles[i] ); 878 lse = mCalendar->event( "last-syncEvent-"+ KOPrefs::instance()->mExternSyncProfiles[i] );
878 if ( lse ) 879 if ( lse )
879 mExternLastSyncEvent.append( lse ); 880 mExternLastSyncEvent.append( lse );
880 else 881 else
881 qDebug("Last Sync event not found for %s ", KOPrefs::instance()->mExternSyncProfiles[i].latin1()); 882 qDebug("Last Sync event not found for %s ", KOPrefs::instance()->mExternSyncProfiles[i].latin1());
882 } 883 }
883 884
884} 885}
885// we check, if the to delete event has a id for a profile 886// we check, if the to delete event has a id for a profile
886// if yes, we set this id in the profile to delete 887// if yes, we set this id in the profile to delete
887void CalendarView::checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete ) 888void CalendarView::checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete )
888{ 889{
889 if ( ! lastSync.count() == 0 ) 890 if ( ! lastSync.count() == 0 )
890 return; 891 return;
891 if ( toDelete->type() == "Journal" ) 892 if ( toDelete->type() == "Journal" )
892 return; 893 return;
893 894
894 Event* eve = lastSync.first(); 895 Event* eve = lastSync.first();
895 896
896 while ( eve ) { 897 while ( eve ) {
897 int id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name 898 int id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name
898 if ( id >= 0 ) { 899 if ( id >= 0 ) {
899 QString des = eve->description(); 900 QString des = eve->description();
900 QString pref = "e"; 901 QString pref = "e";
901 if ( toDelete->type() == "Todo" ) 902 if ( toDelete->type() == "Todo" )
902 pref = "t"; 903 pref = "t";
903 des += pref+ QString::number ( id ) + ","; 904 des += pref+ QString::number ( id ) + ",";
904 eve->setReadOnly( false ); 905 eve->setReadOnly( false );
905 eve->setDescription( des ); 906 eve->setDescription( des );
906 eve->setReadOnly( true ); 907 eve->setReadOnly( true );
907 } 908 }
908 eve = lastSync.next(); 909 eve = lastSync.next();
909 } 910 }
910 911
911} 912}
912void CalendarView::checkExternalId( Incidence * inc ) 913void CalendarView::checkExternalId( Incidence * inc )
913{ 914{
914 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ; 915 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ;
915 checkExternSyncEvent( lastSync, inc ); 916 checkExternSyncEvent( lastSync, inc );
916 917
917} 918}
918bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode ) 919bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode )
919{ 920{
920 bool syncOK = true; 921 bool syncOK = true;
921 int addedEvent = 0; 922 int addedEvent = 0;
922 int addedEventR = 0; 923 int addedEventR = 0;
923 int deletedEventR = 0; 924 int deletedEventR = 0;
924 int deletedEventL = 0; 925 int deletedEventL = 0;
925 int changedLocal = 0; 926 int changedLocal = 0;
926 int changedRemote = 0; 927 int changedRemote = 0;
927 //QPtrList<Event> el = local->rawEvents(); 928 //QPtrList<Event> el = local->rawEvents();
928 Event* eventR; 929 Event* eventR;
929 QString uid; 930 QString uid;
930 int take; 931 int take;
931 Event* eventL; 932 Event* eventL;
932 Event* eventRSync; 933 Event* eventRSync;
933 Event* eventLSync; 934 Event* eventLSync;
934 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents(); 935 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents();
935 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents(); 936 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents();
936 bool fullDateRange = false; 937 bool fullDateRange = false;
937 mLastCalendarSync = QDateTime::currentDateTime(); 938 mLastCalendarSync = QDateTime::currentDateTime();
938 QDateTime modifiedCalendar = mLastCalendarSync;; 939 QDateTime modifiedCalendar = mLastCalendarSync;;
939 eventR = remote->event("last-syncEvent-"+mCurrentSyncName ); 940 eventR = remote->event("last-syncEvent-"+mCurrentSyncName );
940 if ( eventR ) { 941 if ( eventR ) {
941 eventRSync = (Event*) eventR->clone(); 942 eventRSync = (Event*) eventR->clone();
942 remote->deleteEvent(eventR ); 943 remote->deleteEvent(eventR );
943 944
944 } else { 945 } else {
945 fullDateRange = true; 946 fullDateRange = true;
946 eventRSync = new Event(); 947 eventRSync = new Event();
947 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event")); 948 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
948 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName ); 949 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
949 eventRSync->setDtStart( mLastCalendarSync ); 950 eventRSync->setDtStart( mLastCalendarSync );
950 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 951 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
951 eventRSync->setCategories( i18n("SyncEvent") ); 952 eventRSync->setCategories( i18n("SyncEvent") );
952 } 953 }
953 eventLSync = getLastSyncEvent(); 954 eventLSync = getLastSyncEvent();
954 if ( eventLSync->dtStart() == mLastCalendarSync ) 955 if ( eventLSync->dtStart() == mLastCalendarSync )
955 fullDateRange = true; 956 fullDateRange = true;
956 957
957 if ( ! fullDateRange ) { 958 if ( ! fullDateRange ) {
958 if ( eventLSync->dtStart() != eventRSync->dtStart() ) { 959 if ( eventLSync->dtStart() != eventRSync->dtStart() ) {
959 960
960 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() ); 961 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() );
961 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec()); 962 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec());
962 fullDateRange = true; 963 fullDateRange = true;
963 } 964 }
964 } 965 }
965 if ( fullDateRange ) 966 if ( fullDateRange )
966 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); 967 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365);
967 else 968 else
968 mLastCalendarSync = eventLSync->dtStart(); 969 mLastCalendarSync = eventLSync->dtStart();
969 // for resyncing if own file has changed 970 // for resyncing if own file has changed
970 if ( mCurrentSyncDevice == "deleteaftersync" ) { 971 if ( mCurrentSyncDevice == "deleteaftersync" ) {
971 mLastCalendarSync = loadedFileVersion; 972 mLastCalendarSync = loadedFileVersion;
972 qDebug("setting mLastCalendarSync "); 973 qDebug("setting mLastCalendarSync ");
973 } 974 }
974 //qDebug("*************************** "); 975 //qDebug("*************************** ");
975 qDebug("mLastCalendarSync %s ",mLastCalendarSync.toString().latin1() ); 976 qDebug("mLastCalendarSync %s ",mLastCalendarSync.toString().latin1() );
976 QPtrList<Incidence> er = remote->rawIncidences(); 977 QPtrList<Incidence> er = remote->rawIncidences();
977 Incidence* inR = er.first(); 978 Incidence* inR = er.first();
978 Incidence* inL; 979 Incidence* inL;
979 QProgressBar bar( er.count(),0 ); 980 QProgressBar bar( er.count(),0 );
980 bar.setCaption (i18n("Syncing - close to abort!") ); 981 bar.setCaption (i18n("Syncing - close to abort!") );
981 982
982 int w = 300; 983 int w = 300;
983 if ( QApplication::desktop()->width() < 320 ) 984 if ( QApplication::desktop()->width() < 320 )
984 w = 220; 985 w = 220;
985 int h = bar.sizeHint().height() ; 986 int h = bar.sizeHint().height() ;
986 int dw = QApplication::desktop()->width(); 987 int dw = QApplication::desktop()->width();
987 int dh = QApplication::desktop()->height(); 988 int dh = QApplication::desktop()->height();
988 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 989 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
989 bar.show(); 990 bar.show();
990 int modulo = (er.count()/10)+1; 991 int modulo = (er.count()/10)+1;
991 int incCounter = 0; 992 int incCounter = 0;
992 while ( inR ) { 993 while ( inR ) {
993 if ( ! bar.isVisible() ) 994 if ( ! bar.isVisible() )
994 return false; 995 return false;
995 if ( incCounter % modulo == 0 ) 996 if ( incCounter % modulo == 0 )
996 bar.setProgress( incCounter ); 997 bar.setProgress( incCounter );
997 ++incCounter; 998 ++incCounter;
998 uid = inR->uid(); 999 uid = inR->uid();
999 bool skipIncidence = false; 1000 bool skipIncidence = false;
1000 if ( uid.left(15) == QString("last-syncEvent-") ) 1001 if ( uid.left(15) == QString("last-syncEvent-") )
1001 skipIncidence = true; 1002 skipIncidence = true;
1002 1003
1003 qApp->processEvents(); 1004 qApp->processEvents();
1004 if ( !skipIncidence ) { 1005 if ( !skipIncidence ) {
1005 inL = local->incidence( uid ); 1006 inL = local->incidence( uid );
1006 if ( inL ) { // maybe conflict - same uid in both calendars 1007 if ( inL ) { // maybe conflict - same uid in both calendars
1007 int maxrev = inL->revision(); 1008 int maxrev = inL->revision();
1008 if ( maxrev < inR->revision() ) 1009 if ( maxrev < inR->revision() )
1009 maxrev = inR->revision(); 1010 maxrev = inR->revision();
1010 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) { 1011 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) {
1011 //qDebug("take %d %s ", take, inL->summary().latin1()); 1012 //qDebug("take %d %s ", take, inL->summary().latin1());
1012 if ( take == 3 ) 1013 if ( take == 3 )
1013 return false; 1014 return false;
1014 if ( take == 1 ) {// take local 1015 if ( take == 1 ) {// take local
1015 inL->setZaurusUid( inR->zaurusUid() ); 1016 inL->setZaurusUid( inR->zaurusUid() );
1016 remote->deleteIncidence( inR ); 1017 remote->deleteIncidence( inR );
1017 if ( inL->revision() < maxrev ) 1018 if ( inL->revision() < maxrev )
1018 inL->setRevision( maxrev ); 1019 inL->setRevision( maxrev );
1019 remote->addIncidence( inL->clone() ); 1020 remote->addIncidence( inL->clone() );
1020 ++changedRemote; 1021 ++changedRemote;
1021 } else { 1022 } else {
1022 if ( inR->revision() < maxrev ) 1023 if ( inR->revision() < maxrev )
1023 inR->setRevision( maxrev ); 1024 inR->setRevision( maxrev );
1024 local->deleteIncidence( inL ); 1025 local->deleteIncidence( inL );
1025 local->addIncidence( inR->clone() ); 1026 local->addIncidence( inR->clone() );
1026 ++changedLocal; 1027 ++changedLocal;
1027 } 1028 }
1028 } 1029 }
1029 } else { // no conflict 1030 } else { // no conflict
1030 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1031 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1031 QString des = eventLSync->description(); 1032 QString des = eventLSync->description();
1032 QString pref = "e"; 1033 QString pref = "e";
1033 if ( inR->type() == "Todo" ) 1034 if ( inR->type() == "Todo" )
1034 pref = "t"; 1035 pref = "t";
1035 if ( des.find(pref+QString::number( inR->getID(mCurrentSyncDevice) ) +"," ) >= 0 && mode != 5) { // delete it 1036 if ( des.find(pref+QString::number( inR->getID(mCurrentSyncDevice) ) +"," ) >= 0 && mode != 5) { // delete it
1036 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); 1037 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE );
1037 //remote->deleteIncidence( inR ); 1038 //remote->deleteIncidence( inR );
1038 ++deletedEventR; 1039 ++deletedEventR;
1039 } else { 1040 } else {
1040 inR->setLastModified( modifiedCalendar ); 1041 inR->setLastModified( modifiedCalendar );
1041 local->addIncidence( inR->clone() ); 1042 local->addIncidence( inR->clone() );
1042 ++addedEvent; 1043 ++addedEvent;
1043 } 1044 }
1044 } else { 1045 } else {
1045 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { 1046 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) {
1046 inR->setLastModified( modifiedCalendar ); 1047 inR->setLastModified( modifiedCalendar );
1047 local->addIncidence( inR->clone() ); 1048 local->addIncidence( inR->clone() );
1048 ++addedEvent; 1049 ++addedEvent;
1049 } else { 1050 } else {
1050 checkExternSyncEvent(eventRSyncSharp, inR); 1051 checkExternSyncEvent(eventRSyncSharp, inR);
1051 remote->deleteIncidence( inR ); 1052 remote->deleteIncidence( inR );
1052 ++deletedEventR; 1053 ++deletedEventR;
1053 } 1054 }
1054 } 1055 }
1055 } 1056 }
1056 } 1057 }
1057 inR = er.next(); 1058 inR = er.next();
1058 } 1059 }
1059 QPtrList<Incidence> el = local->rawIncidences(); 1060 QPtrList<Incidence> el = local->rawIncidences();
1060 inL = el.first(); 1061 inL = el.first();
1061 modulo = (el.count()/10)+1; 1062 modulo = (el.count()/10)+1;
1062 bar.setCaption (i18n("Add / remove events") ); 1063 bar.setCaption (i18n("Add / remove events") );
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp
index 59c8418..67a3f52 100644
--- a/libkdepim/ksyncprefsdialog.cpp
+++ b/libkdepim/ksyncprefsdialog.cpp
@@ -379,236 +379,242 @@ void KSyncPrefsDialog::profileChanged( int item )
379 break; 379 break;
380 } 380 }
381 mIsLocal->setChecked(prof->getIsLocalFileSync()) ; 381 mIsLocal->setChecked(prof->getIsLocalFileSync()) ;
382 mIsPhone->setChecked(prof->getIsPhoneSync()) ; 382 mIsPhone->setChecked(prof->getIsPhoneSync()) ;
383 mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() ); 383 mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() );
384 proGr->setEnabled( item > 2 ); 384 proGr->setEnabled( item > 2 );
385 if ( item < 3 ) { 385 if ( item < 3 ) {
386 localFileWidget->hide(); 386 localFileWidget->hide();
387 remoteFileWidget->hide(); 387 remoteFileWidget->hide();
388 phoneWidget->hide(); 388 phoneWidget->hide();
389 389
390 } else 390 } else
391 kindChanged( prof->getIsLocalFileSync() ); 391 kindChanged( prof->getIsLocalFileSync() );
392} 392}
393 393
394void KSyncPrefsDialog::fillSSH() 394void KSyncPrefsDialog::fillSSH()
395{ 395{
396 mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); 396 mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" );
397 mLocalTempFile->setText("/tmp/mycalendar.ics" ); 397 mLocalTempFile->setText("/tmp/mycalendar.ics" );
398 mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); 398 mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" );
399 mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); 399 mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" );
400 mLocalTempFileAB->setText("/tmp/std.vcf" ); 400 mLocalTempFileAB->setText("/tmp/std.vcf" );
401 mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); 401 mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" );
402} 402}
403void KSyncPrefsDialog::fillFTP() 403void KSyncPrefsDialog::fillFTP()
404{ 404{
405 mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" ); 405 mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" );
406 mLocalTempFile->setText("/tmp/mycalendar.ics" ); 406 mLocalTempFile->setText("/tmp/mycalendar.ics" );
407 mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); 407 mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" );
408 mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" ); 408 mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" );
409 mLocalTempFileAB->setText("/tmp/std.vcf" ); 409 mLocalTempFileAB->setText("/tmp/std.vcf" );
410 mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); 410 mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" );
411 411
412} 412}
413void KSyncPrefsDialog::kindChanged( bool b ) 413void KSyncPrefsDialog::kindChanged( bool b )
414{ 414{
415 415
416 if ( mIsLocal->isChecked () ) 416 if ( mIsLocal->isChecked () )
417 localFileWidget->show(); 417 localFileWidget->show();
418 else 418 else
419 localFileWidget->hide(); 419 localFileWidget->hide();
420 420
421 if ( mIsNotLocal->isChecked () ) 421 if ( mIsNotLocal->isChecked () )
422 remoteFileWidget->show(); 422 remoteFileWidget->show();
423 else 423 else
424 remoteFileWidget->hide(); 424 remoteFileWidget->hide();
425 425
426 if ( mIsPhone->isChecked () ) { 426 if ( mIsPhone->isChecked () ) {
427 phoneWidget->show(); 427 phoneWidget->show();
428 } 428 }
429 else { 429 else {
430 phoneWidget->hide(); 430 phoneWidget->hide();
431 } 431 }
432 432
433} 433}
434void KSyncPrefsDialog::deleteProfile() 434void KSyncPrefsDialog::deleteProfile()
435{ 435{
436 //qDebug("KSyncPrefsDialog::deleteProfile() "); 436 //qDebug("KSyncPrefsDialog::deleteProfile() ");
437 if ( currentSelection >= 0 ) { 437 if ( currentSelection >= 0 ) {
438 if ( currentSelection < 3 ) { 438 if ( currentSelection < 3 ) {
439 KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error")); 439 KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error"));
440 return; 440 return;
441 } 441 }
442 KSyncProfile* temp = mSyncProfiles.at(currentSelection); 442 KSyncProfile* temp = mSyncProfiles.at(currentSelection);
443 mSyncProfiles.remove( temp ); 443 mSyncProfiles.remove( temp );
444 mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection )); 444 mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection ));
445 insertProfiles(); 445 insertProfiles();
446 } 446 }
447} 447}
448 448
449void KSyncPrefsDialog::saveProfile() 449void KSyncPrefsDialog::saveProfile()
450{ 450{
451 KSyncProfile* prof; 451 KSyncProfile* prof;
452 if ( currentSelection >= 0 ) { 452 if ( currentSelection >= 0 ) {
453 prof = mSyncProfiles.at(currentSelection) ; 453 prof = mSyncProfiles.at(currentSelection) ;
454 prof->setPreSyncCommand( mRemotePrecommand->text()); 454 prof->setPreSyncCommand( mRemotePrecommand->text());
455 prof->setPostSyncCommand( mRemotePostcommand->text() ); 455 prof->setPostSyncCommand( mRemotePostcommand->text() );
456 prof->setLocalTempFile( mLocalTempFile->text()); 456 prof->setLocalTempFile( mLocalTempFile->text());
457 prof->setRemoteFileName( mRemoteFile->text() ); 457 prof->setRemoteFileName( mRemoteFile->text() );
458 prof->setPreSyncCommandAB( mRemotePrecommandAB->text()); 458 prof->setPreSyncCommandAB( mRemotePrecommandAB->text());
459 prof->setPostSyncCommandAB( mRemotePostcommandAB->text() ); 459 prof->setPostSyncCommandAB( mRemotePostcommandAB->text() );
460 prof->setLocalTempFileAB( mLocalTempFileAB->text()); 460 prof->setLocalTempFileAB( mLocalTempFileAB->text());
461 prof->setRemoteFileNameAB( mRemoteFileAB->text() ); 461 prof->setRemoteFileNameAB( mRemoteFileAB->text() );
462 prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() ); 462 prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() );
463 prof->setAskForPreferences( mAskForPreferences->isChecked()); 463 prof->setAskForPreferences( mAskForPreferences->isChecked());
464 prof->setWriteBackExisting(mWriteBackExisting->isChecked() ); 464 prof->setWriteBackExisting(mWriteBackExisting->isChecked() );
465 prof->setWriteBackFile( mWriteBackFile->isChecked()); 465 prof->setWriteBackFile( mWriteBackFile->isChecked());
466 prof->setIncludeInRingSync( mIncludeInRing->isChecked() ); 466 prof->setIncludeInRingSync( mIncludeInRing->isChecked() );
467 prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() ); 467 prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() );
468 int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ; 468 int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ;
469 prof->setSyncPrefs( syncprefs); 469 prof->setSyncPrefs( syncprefs);
470 prof->setIsLocalFileSync( mIsLocal->isChecked() ); 470 prof->setIsLocalFileSync( mIsLocal->isChecked() );
471 prof->setIsPhoneSync( mIsPhone->isChecked() ); 471 prof->setIsPhoneSync( mIsPhone->isChecked() );
472 prof->setWriteBackFuture(mWriteBackFuture->isChecked()); 472 prof->setWriteBackFuture(mWriteBackFuture->isChecked());
473 prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); 473 prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value());
474 prof->setPhoneDevice( mPhoneDevice->text() ); 474 prof->setPhoneDevice( mPhoneDevice->text() );
475 prof->setPhoneConnection( mPhoneConnection->text() ); 475 prof->setPhoneConnection( mPhoneConnection->text() );
476 prof->setPhoneModel( mPhoneModel->text() ); 476 prof->setPhoneModel( mPhoneModel->text() );
477 477
478 } 478 }
479 479
480} 480}
481 481
482void KSyncPrefsDialog::insertProfiles() 482void KSyncPrefsDialog::insertProfiles()
483{ 483{
484 int curItem = mProfileBox->currentItem(); 484 int curItem = mProfileBox->currentItem();
485 mProfileBox->blockSignals( true ); 485 mProfileBox->blockSignals( true );
486 mProfileBox->clear(); 486 mProfileBox->clear();
487 mProfileBox->insertStringList (mSyncProfileNames ); 487 mProfileBox->insertStringList (mSyncProfileNames );
488 int item = mSyncProfileNames.count() -1; 488 int item = mSyncProfileNames.count() -1;
489 if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) 489 if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() )
490 mProfileBox->setCurrentItem( curItem ); 490 mProfileBox->setCurrentItem( curItem );
491 else if ( item >= 0 ) { 491 else if ( item >= 0 ) {
492 mProfileBox->setCurrentItem( item ); 492 mProfileBox->setCurrentItem( item );
493 } 493 }
494 currentSelection = -1; 494 currentSelection = -1;
495 if ( mSyncProfileNames.count() > 0 ) { 495 if ( mSyncProfileNames.count() > 0 ) {
496 //qDebug(" profileChanged( mProfileBox->currentItem() "); 496 //qDebug(" profileChanged( mProfileBox->currentItem() ");
497 profileChanged( mProfileBox->currentItem() ); 497 profileChanged( mProfileBox->currentItem() );
498 currentSelection = mProfileBox->currentItem(); 498 currentSelection = mProfileBox->currentItem();
499 } 499 }
500 mProfileBox->blockSignals( false ); 500 mProfileBox->blockSignals( false );
501} 501}
502 502
503void KSyncPrefsDialog::addProfile ( KSyncProfile* temp ) 503void KSyncPrefsDialog::addProfile ( KSyncProfile* temp )
504{ 504{
505 saveProfile(); 505 saveProfile();
506 mSyncProfiles.append( temp ); 506 mSyncProfiles.append( temp );
507 mSyncProfileNames << temp->getName(); 507 mSyncProfileNames << temp->getName();
508 insertProfiles(); 508 insertProfiles();
509 int last = mProfileBox->count() -1; 509 int last = mProfileBox->count() -1;
510 mProfileBox->blockSignals( true ); 510 mProfileBox->blockSignals( true );
511 mProfileBox->setCurrentItem( last ); 511 mProfileBox->setCurrentItem( last );
512 mProfileBox->blockSignals( false ); 512 mProfileBox->blockSignals( false );
513 profileChanged(last); 513 profileChanged(last);
514} 514}
515void KSyncPrefsDialog::newProfile() 515void KSyncPrefsDialog::newProfile()
516{ 516{
517 addProfile ( new KSyncProfile () ); 517 addProfile ( new KSyncProfile () );
518} 518}
519 519
520void KSyncPrefsDialog::cloneProfile() 520void KSyncPrefsDialog::cloneProfile()
521{ 521{
522 if ( currentSelection >= 0 ) 522 if ( currentSelection >= 0 )
523 addProfile (mSyncProfiles.at(currentSelection)->clone()) ; 523 addProfile (mSyncProfiles.at(currentSelection)->clone()) ;
524 else 524 else
525 newProfile(); 525 newProfile();
526} 526}
527 527
528void KSyncPrefsDialog::setLocalMachineName ( const QString& name ) 528void KSyncPrefsDialog::setLocalMachineName ( const QString& name )
529{ 529{
530 mMyMachineName->setText( name ); 530 mMyMachineName->setText( name );
531 531
532} 532}
533QString KSyncPrefsDialog::getLocalMachineName ( ) 533QString KSyncPrefsDialog::getLocalMachineName ( )
534{ 534{
535 return mMyMachineName->text(); 535 return mMyMachineName->text();
536} 536}
537 537
538QStringList KSyncPrefsDialog::getSyncProfileNames() 538QStringList KSyncPrefsDialog::getSyncProfileNames()
539{ 539{
540 return mSyncProfileNames; 540 return mSyncProfileNames;
541} 541}
542void KSyncPrefsDialog::usrReadConfig() 542void KSyncPrefsDialog::usrReadConfig()
543{ 543{
544 //KConfig *config = KOGlobals::config(); 544 //KConfig *config = KOGlobals::config();
545 KConfig config ( locateLocal( "config","syncprofilesrc" ) ); 545 KConfig config ( locateLocal( "config","syncprofilesrc" ) );
546 config.setGroup("General"); 546 config.setGroup("General");
547 mSyncProfileNames =config.readListEntry("SyncProfileNames"); 547 mSyncProfileNames =config.readListEntry("SyncProfileNames");
548 mMyMachineName->setText(config.readEntry("LocalMachineName","undefined")); 548 mMyMachineName->setText(config.readEntry("LocalMachineName","undefined"));
549 int i; 549 int i;
550 KSyncProfile* temp ; 550 KSyncProfile* temp ;
551 mSyncProfiles.clear(); 551 mSyncProfiles.clear();
552 for ( i = 0; i < mSyncProfileNames.count();++i ) { 552 for ( i = 0; i < mSyncProfileNames.count();++i ) {
553 temp = new KSyncProfile (); 553 temp = new KSyncProfile ();
554 temp->setName( mSyncProfileNames[i] ); 554 temp->setName( mSyncProfileNames[i] );
555 temp->readConfig( &config ); 555 temp->readConfig( &config );
556 mSyncProfiles.append( temp ); 556 mSyncProfiles.append( temp );
557 } 557 }
558 insertProfiles(); 558 insertProfiles();
559 //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName ); 559 //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName );
560} 560}
561 561
562 562
563void KSyncPrefsDialog::usrWriteConfig() 563void KSyncPrefsDialog::usrWriteConfig()
564{ 564{
565 saveProfile(); 565 saveProfile();
566 if ( currentSelection >= 0 ) 566 if ( currentSelection >= 0 )
567 profileChanged(currentSelection); 567 profileChanged(currentSelection);
568 //KConfig *config = KOGlobals::config(); 568 //KConfig *config = KOGlobals::config();
569 KConfig config ( locateLocal( "config","syncprofilesrc" ) ); 569 KConfig config ( locateLocal( "config","syncprofilesrc" ) );
570 KSyncProfile* prof = mSyncProfiles.first(); 570 KSyncProfile* prof = mSyncProfiles.first();
571 QStringList externalSyncProfileNames;
572 externalSyncProfileNames.append("Sharp_DTM");;
571 while ( prof ) { 573 while ( prof ) {
572 prof->writeConfig(&config); 574 prof->writeConfig(&config);
575 if ( prof->getIsPhoneSync( ) )
576 externalSyncProfileNames.append(prof->getName( ) );
573 prof = mSyncProfiles.next(); 577 prof = mSyncProfiles.next();
574 } 578 }
575 //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames; 579 //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames;
576 //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text(); 580 //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text();
577 config.setGroup("General"); 581 config.setGroup("General");
578 config.writeEntry("SyncProfileNames",mSyncProfileNames); 582 config.writeEntry("SyncProfileNames",mSyncProfileNames);
583 config.writeEntry("ExternSyncProfiles",externalSyncProfileNames);
579 config.writeEntry("LocalMachineName",mMyMachineName->text()); 584 config.writeEntry("LocalMachineName",mMyMachineName->text());
585 config.sync();
580} 586}
581 587
582void KSyncPrefsDialog::helpDevice() 588void KSyncPrefsDialog::helpDevice()
583{ 589{
584 QString hint = i18n("Insert device where\nphone is connected. E.g.:\n"); 590 QString hint = i18n("Insert device where\nphone is connected. E.g.:\n");
585#ifdef _WIN32_ 591#ifdef _WIN32_
586 hint += "Leave empty for Irda.\n" 592 hint += "Leave empty for Irda.\n"
587 "com1:\n(first serial port)\n" 593 "com1:\n(first serial port)\n"
588 "usb not supported\n" 594 "usb not supported\n"
589 "???\n(bluetooth device address)\n"; 595 "???\n(bluetooth device address)\n";
590 596
591#else 597#else
592 hint += "/dev/ircomm\n(Irda)\n" 598 hint += "/dev/ircomm\n(Irda)\n"
593 "/dev/ttyS0\n(first serial port)\n" 599 "/dev/ttyS0\n(first serial port)\n"
594 "/dev/ttyUSB0\n(first device usb port)\n" 600 "/dev/ttyUSB0\n(first device usb port)\n"
595 "???\n(bluetooth device address)\n"; 601 "???\n(bluetooth device address)\n";
596#endif 602#endif
597 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 603 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
598} 604}
599void KSyncPrefsDialog::helpModel() 605void KSyncPrefsDialog::helpModel()
600{ 606{
601 QString hint = i18n("Leave empty or\ninsert name of phone model:\n"); 607 QString hint = i18n("Leave empty or\ninsert name of phone model:\n");
602 hint += "E.g. for Nokia 6310i:\n6310i\nAlso possible:\nobex\nfor Obex connection"; 608 hint += "E.g. for Nokia 6310i:\n6310i\nAlso possible:\nobex\nfor Obex connection";
603 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 609 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
604 610
605} 611}
606void KSyncPrefsDialog::helpConnection() 612void KSyncPrefsDialog::helpConnection()
607{ 613{
608 QString hint = i18n("Insert kind of connection,e.g.:\n"); 614 QString hint = i18n("Insert kind of connection,e.g.:\n");
609 hint += "irda | Nokia FBUS over infrared\n" 615 hint += "irda | Nokia FBUS over infrared\n"
610 "irdaat | AT commands infrared\n(for Siemens/Sony-Erricsson)\n" 616 "irdaat | AT commands infrared\n(for Siemens/Sony-Erricsson)\n"
611 "irdaobex | set also model as obex\n" 617 "irdaobex | set also model as obex\n"
612 "fbus | Nokia FBUS2 serial\n"; 618 "fbus | Nokia FBUS2 serial\n";
613 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 619 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
614} 620}