-rw-r--r-- | korganizer/calendarview.cpp | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 58b3d70..fd68dc4 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -120,27 +120,25 @@ | |||
120 | #ifndef _WIN32_ | 120 | #ifndef _WIN32_ |
121 | #include <stdlib.h> | 121 | #include <stdlib.h> |
122 | #include <stdio.h> | 122 | #include <stdio.h> |
123 | #include <unistd.h> | 123 | #include <unistd.h> |
124 | #else | 124 | #else |
125 | #include <qprocess.h> | 125 | #include <qprocess.h> |
126 | #endif | 126 | #endif |
127 | using namespace KOrg; | 127 | using namespace KOrg; |
128 | using namespace KCal; | 128 | using namespace KCal; |
129 | extern int globalFlagBlockAgenda; | 129 | extern int globalFlagBlockAgenda; |
130 | extern int globalFlagBlockStartup; | 130 | extern int globalFlagBlockStartup; |
131 | 131 | ||
132 | #define SYNC_MODE_NORMAL 0 | 132 | |
133 | #define SYNC_MODE_SHARP 1 | ||
134 | #define SYNC_MODE_QTOPIA 2 | ||
135 | 133 | ||
136 | class KOBeamPrefs : public QDialog | 134 | class KOBeamPrefs : public QDialog |
137 | { | 135 | { |
138 | public: | 136 | public: |
139 | KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : | 137 | KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : |
140 | QDialog( parent, name, true ) | 138 | QDialog( parent, name, true ) |
141 | { | 139 | { |
142 | setCaption( i18n("Beam Options") ); | 140 | setCaption( i18n("Beam Options") ); |
143 | QVBoxLayout* lay = new QVBoxLayout( this ); | 141 | QVBoxLayout* lay = new QVBoxLayout( this ); |
144 | lay->setSpacing( 3 ); | 142 | lay->setSpacing( 3 ); |
145 | lay->setMargin( 3 ); | 143 | lay->setMargin( 3 ); |
146 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); | 144 | QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); |
@@ -718,107 +716,107 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b | |||
718 | 716 | ||
719 | //void setZaurusId(int id); | 717 | //void setZaurusId(int id); |
720 | // int zaurusId() const; | 718 | // int zaurusId() const; |
721 | // void setZaurusUid(int id); | 719 | // void setZaurusUid(int id); |
722 | // int zaurusUid() const; | 720 | // int zaurusUid() const; |
723 | // void setZaurusStat(int id); | 721 | // void setZaurusStat(int id); |
724 | // int zaurusStat() const; | 722 | // int zaurusStat() const; |
725 | // 0 equal | 723 | // 0 equal |
726 | // 1 take local | 724 | // 1 take local |
727 | // 2 take remote | 725 | // 2 take remote |
728 | // 3 cancel | 726 | // 3 cancel |
729 | QDateTime lastSync = mLastCalendarSync; | 727 | QDateTime lastSync = mLastCalendarSync; |
730 | if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { | 728 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
731 | bool remCh, locCh; | 729 | bool remCh, locCh; |
732 | remCh = ( remote->zaurusUid() != local->zaurusUid() ); | 730 | remCh = ( remote->zaurusUid() != local->zaurusUid() ); |
733 | locCh = ( local->zaurusStat() != local->revision() ); | 731 | locCh = ( local->lastModified() > mLastCalendarSync ); |
734 | //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() ); |
735 | if ( !remCh && ! locCh ) { | 733 | if ( !remCh && ! locCh ) { |
736 | //qDebug("both not changed "); | 734 | //qDebug("both not changed "); |
737 | lastSync = local->lastModified().addDays(1); | 735 | lastSync = local->lastModified().addDays(1); |
738 | } else { | 736 | } else { |
739 | if ( locCh ) { | 737 | if ( locCh ) { |
740 | //qDebug("loc changed %d %d", local->zaurusStat(), local->revision() ); | 738 | //qDebug("loc changed %d %d", local->zaurusStat(), local->revision() ); |
741 | lastSync = local->lastModified().addDays( -1 ); | 739 | lastSync = local->lastModified().addDays( -1 ); |
742 | if ( !remCh ) | 740 | if ( !remCh ) |
743 | remote->setLastModified( lastSync.addDays( -1 ) ); | 741 | remote->setLastModified( lastSync.addDays( -1 ) ); |
744 | } else { | 742 | } else { |
745 | //qDebug(" not loc changed "); | 743 | //qDebug(" not loc changed "); |
746 | lastSync = local->lastModified().addDays( 1 ); | 744 | lastSync = local->lastModified().addDays( 1 ); |
747 | if ( remCh ) | 745 | if ( remCh ) |
748 | remote->setLastModified( lastSync.addDays( 1 ) ); | 746 | remote->setLastModified( lastSync.addDays( 1 ) ); |
749 | 747 | ||
750 | } | 748 | } |
751 | } | 749 | } |
752 | full = true; | 750 | full = true; |
753 | if ( mode < 3 ) | 751 | if ( mode < SYNC_PREF_ASK ) |
754 | mode = 3; | 752 | mode = SYNC_PREF_ASK; |
755 | } else { | 753 | } else { |
756 | if ( local->lastModified() == remote->lastModified() ) | 754 | if ( local->lastModified() == remote->lastModified() ) |
757 | if ( local->revision() == remote->revision() ) | 755 | if ( local->revision() == remote->revision() ) |
758 | return 0; | 756 | return 0; |
759 | 757 | ||
760 | } | 758 | } |
761 | // 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() ); |
762 | 760 | ||
763 | //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()); |
764 | //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() ); |
765 | //full = true; //debug only | 763 | //full = true; //debug only |
766 | if ( full ) { | 764 | if ( full ) { |
767 | bool equ = false; | 765 | bool equ = false; |
768 | if ( local->type() == "Event" ) { | 766 | if ( local->type() == "Event" ) { |
769 | equ = (*((Event*) local) == *((Event*) remote)); | 767 | equ = (*((Event*) local) == *((Event*) remote)); |
770 | } | 768 | } |
771 | else if ( local->type() =="Todo" ) | 769 | else if ( local->type() =="Todo" ) |
772 | equ = (*((Todo*) local) == (*(Todo*) remote)); | 770 | equ = (*((Todo*) local) == (*(Todo*) remote)); |
773 | else if ( local->type() =="Journal" ) | 771 | else if ( local->type() =="Journal" ) |
774 | equ = (*((Journal*) local) == *((Journal*) remote)); | 772 | equ = (*((Journal*) local) == *((Journal*) remote)); |
775 | if ( equ ) { | 773 | if ( equ ) { |
776 | //qDebug("equal "); | 774 | //qDebug("equal "); |
777 | if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { | 775 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
778 | local->setZaurusUid( remote->zaurusUid() ); | 776 | local->setZaurusUid( remote->zaurusUid() ); |
779 | } | 777 | } |
780 | if ( mode < 4 ) | 778 | if ( mode < SYNC_PREF_FORCE_LOCAL ) |
781 | return 0; | 779 | return 0; |
782 | 780 | ||
783 | }//else //debug only | 781 | }//else //debug only |
784 | //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1()); | 782 | //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1()); |
785 | } | 783 | } |
786 | int result; | 784 | int result; |
787 | bool localIsNew; | 785 | bool localIsNew; |
788 | if ( full && mode < 2 ) | 786 | if ( full && mode < SYNC_PREF_NEWEST ) |
789 | mode = 3; | 787 | mode = SYNC_PREF_ASK; |
790 | 788 | ||
791 | switch( mode ) { | 789 | switch( mode ) { |
792 | case 0: | 790 | case SYNC_PREF_LOCAL: |
793 | if ( lastSync > remote->lastModified() ) | 791 | if ( lastSync > remote->lastModified() ) |
794 | return 1; | 792 | return 1; |
795 | if ( lastSync > local->lastModified() ) | 793 | if ( lastSync > local->lastModified() ) |
796 | return 2; | 794 | return 2; |
797 | return 1; | 795 | return 1; |
798 | break; | 796 | break; |
799 | case 1: | 797 | case SYNC_PREF_REMOTE: |
800 | if ( lastSync > remote->lastModified() ) | 798 | if ( lastSync > remote->lastModified() ) |
801 | return 1; | 799 | return 1; |
802 | if ( lastSync > local->lastModified() ) | 800 | if ( lastSync > local->lastModified() ) |
803 | return 2; | 801 | return 2; |
804 | return 2; | 802 | return 2; |
805 | break; | 803 | break; |
806 | case 2: | 804 | case SYNC_PREF_NEWEST: |
807 | if ( local->lastModified() > remote->lastModified() ) | 805 | if ( local->lastModified() > remote->lastModified() ) |
808 | return 1; | 806 | return 1; |
809 | else | 807 | else |
810 | return 2; | 808 | return 2; |
811 | break; | 809 | break; |
812 | case 3: | 810 | case SYNC_PREF_ASK: |
813 | //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() ); |
814 | if ( lastSync > remote->lastModified() ) | 812 | if ( lastSync > remote->lastModified() ) |
815 | return 1; | 813 | return 1; |
816 | if ( lastSync > local->lastModified() ) | 814 | if ( lastSync > local->lastModified() ) |
817 | return 2; | 815 | return 2; |
818 | //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() ); |
819 | localIsNew = local->lastModified() > remote->lastModified(); | 817 | localIsNew = local->lastModified() > remote->lastModified(); |
820 | if ( localIsNew ) | 818 | if ( localIsNew ) |
821 | getEventViewerDialog()->setColorMode( 1 ); | 819 | getEventViewerDialog()->setColorMode( 1 ); |
822 | else | 820 | else |
823 | getEventViewerDialog()->setColorMode( 2 ); | 821 | getEventViewerDialog()->setColorMode( 2 ); |
824 | getEventViewerDialog()->setIncidence(local); | 822 | getEventViewerDialog()->setIncidence(local); |
@@ -826,32 +824,33 @@ int CalendarView::takeEvent( Incidence* local, Incidence* remote, int mode , b | |||
826 | getEventViewerDialog()->setColorMode( 2 ); | 824 | getEventViewerDialog()->setColorMode( 2 ); |
827 | else | 825 | else |
828 | getEventViewerDialog()->setColorMode( 1 ); | 826 | getEventViewerDialog()->setColorMode( 1 ); |
829 | getEventViewerDialog()->addIncidence(remote); | 827 | getEventViewerDialog()->addIncidence(remote); |
830 | getEventViewerDialog()->setColorMode( 0 ); | 828 | getEventViewerDialog()->setColorMode( 0 ); |
831 | //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() ); | 829 | //qDebug("local %d remote %d ",local->relatedTo(),remote->relatedTo() ); |
832 | getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!")); | 830 | getEventViewerDialog()->setCaption( mCurrentSyncDevice +i18n(" : Conflict! Please choose entry!")); |
833 | getEventViewerDialog()->showMe(); | 831 | getEventViewerDialog()->showMe(); |
834 | result = getEventViewerDialog()->executeS( localIsNew ); | 832 | result = getEventViewerDialog()->executeS( localIsNew ); |
835 | return result; | 833 | return result; |
836 | 834 | ||
837 | break; | 835 | break; |
838 | case 4: | 836 | case SYNC_PREF_FORCE_LOCAL: |
839 | return 1; | 837 | return 1; |
840 | break; | 838 | break; |
841 | case 5: | 839 | case SYNC_PREF_FORCE_REMOTE: |
842 | return 2; | 840 | return 2; |
843 | break; | 841 | break; |
844 | 842 | ||
845 | default: | 843 | default: |
844 | // SYNC_PREF_TAKE_BOTH not implemented | ||
846 | break; | 845 | break; |
847 | } | 846 | } |
848 | return 0; | 847 | return 0; |
849 | } | 848 | } |
850 | Event* CalendarView::getLastSyncEvent() | 849 | Event* CalendarView::getLastSyncEvent() |
851 | { | 850 | { |
852 | Event* lse; | 851 | Event* lse; |
853 | //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); | 852 | //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); |
854 | lse = mCalendar->event( "last-syncEvent-device-"+mCurrentSyncDevice ); | 853 | lse = mCalendar->event( "last-syncEvent-device-"+mCurrentSyncDevice ); |
855 | if (!lse) { | 854 | if (!lse) { |
856 | lse = new Event(); | 855 | lse = new Event(); |
857 | lse->setUid( "last-syncEvent-device-"+mCurrentSyncDevice ); | 856 | lse->setUid( "last-syncEvent-device-"+mCurrentSyncDevice ); |
@@ -987,31 +986,31 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
987 | inL->setRevision( maxrev ); | 986 | inL->setRevision( maxrev ); |
988 | remote->addIncidence( inL->clone() ); | 987 | remote->addIncidence( inL->clone() ); |
989 | ++changedRemote; | 988 | ++changedRemote; |
990 | } else { | 989 | } else { |
991 | if ( inR->revision() < maxrev ) | 990 | if ( inR->revision() < maxrev ) |
992 | inR->setRevision( maxrev ); | 991 | inR->setRevision( maxrev ); |
993 | local->deleteIncidence( inL ); | 992 | local->deleteIncidence( inL ); |
994 | local->addIncidence( inR->clone() ); | 993 | local->addIncidence( inR->clone() ); |
995 | ++changedLocal; | 994 | ++changedLocal; |
996 | } | 995 | } |
997 | } | 996 | } |
998 | } else { // no conflict | 997 | } else { // no conflict |
999 | if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { | 998 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
1000 | QString des = eventLSync->description(); | 999 | QString des = eventLSync->description(); |
1001 | QString pref = "e"; | 1000 | QString pref = "e"; |
1002 | if ( inR->type() == "Todo" ) | 1001 | if ( inR->type() == "Todo" ) |
1003 | pref = "t"; | 1002 | pref = "t"; |
1004 | if ( des.find(pref+QString::number( inR->zaurusId() ) +"," ) >= 0 && mode != 5) { // delete it | 1003 | if ( des.find(pref+QString::number( inR->zaurusId() ) +"," ) >= 0 && mode != 5) { // delete it |
1005 | inR->setZaurusStat( -3 ); | 1004 | inR->setZaurusStat( SYNC_TEMPSTATE_DELETE ); |
1006 | //remote->deleteIncidence( inR ); | 1005 | //remote->deleteIncidence( inR ); |
1007 | ++deletedEventR; | 1006 | ++deletedEventR; |
1008 | } else { | 1007 | } else { |
1009 | inR->setLastModified( modifiedCalendar ); | 1008 | inR->setLastModified( modifiedCalendar ); |
1010 | local->addIncidence( inR->clone() ); | 1009 | local->addIncidence( inR->clone() ); |
1011 | ++addedEvent; | 1010 | ++addedEvent; |
1012 | } | 1011 | } |
1013 | } else { | 1012 | } else { |
1014 | if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { | 1013 | if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { |
1015 | inR->setLastModified( modifiedCalendar ); | 1014 | inR->setLastModified( modifiedCalendar ); |
1016 | local->addIncidence( inR->clone() ); | 1015 | local->addIncidence( inR->clone() ); |
1017 | ++addedEvent; | 1016 | ++addedEvent; |
@@ -1036,30 +1035,30 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1036 | while ( inL ) { | 1035 | while ( inL ) { |
1037 | 1036 | ||
1038 | qApp->processEvents(); | 1037 | qApp->processEvents(); |
1039 | if ( ! bar.isVisible() ) | 1038 | if ( ! bar.isVisible() ) |
1040 | return false; | 1039 | return false; |
1041 | if ( incCounter % modulo == 0 ) | 1040 | if ( incCounter % modulo == 0 ) |
1042 | bar.setProgress( incCounter ); | 1041 | bar.setProgress( incCounter ); |
1043 | ++incCounter; | 1042 | ++incCounter; |
1044 | uid = inL->uid(); | 1043 | uid = inL->uid(); |
1045 | bool skipIncidence = false; | 1044 | bool skipIncidence = false; |
1046 | if ( uid.left(21) == QString("last-syncEvent-device") ) | 1045 | if ( uid.left(21) == QString("last-syncEvent-device") ) |
1047 | skipIncidence = true; | 1046 | skipIncidence = true; |
1048 | if ( mGlobalSyncMode == SYNC_MODE_SHARP && inL->type() == "Journal" ) | 1047 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) |
1049 | skipIncidence = true; | 1048 | skipIncidence = true; |
1050 | if ( !skipIncidence ) { | 1049 | if ( !skipIncidence ) { |
1051 | inR = remote->incidence( uid ); | 1050 | inR = remote->incidence( uid ); |
1052 | if ( ! inR ) { | 1051 | if ( ! inR ) { |
1053 | if ( mGlobalSyncMode == SYNC_MODE_SHARP ) { | 1052 | if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { |
1054 | if ( inL->zaurusId() >= 0 && mode != 4 ) { | 1053 | if ( inL->zaurusId() >= 0 && mode != 4 ) { |
1055 | local->deleteIncidence( inL ); | 1054 | local->deleteIncidence( inL ); |
1056 | ++deletedEventL; | 1055 | ++deletedEventL; |
1057 | } else { | 1056 | } else { |
1058 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { | 1057 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { |
1059 | inL->setZaurusId( -1 ); | 1058 | inL->setZaurusId( -1 ); |
1060 | ++addedEventR; | 1059 | ++addedEventR; |
1061 | inL->setLastModified( modifiedCalendar ); | 1060 | inL->setLastModified( modifiedCalendar ); |
1062 | remote->addIncidence( inL->clone() ); | 1061 | remote->addIncidence( inL->clone() ); |
1063 | } | 1062 | } |
1064 | } | 1063 | } |
1065 | } else { | 1064 | } else { |
@@ -1132,54 +1131,56 @@ bool CalendarView::syncCalendar(QString filename, int mode) | |||
1132 | } | 1131 | } |
1133 | setModified( true ); | 1132 | setModified( true ); |
1134 | } | 1133 | } |
1135 | delete storage; | 1134 | delete storage; |
1136 | delete calendar; | 1135 | delete calendar; |
1137 | if ( syncOK ) | 1136 | if ( syncOK ) |
1138 | updateView(); | 1137 | updateView(); |
1139 | return syncOK; | 1138 | return syncOK; |
1140 | } | 1139 | } |
1141 | void CalendarView::syncSharp() | 1140 | void CalendarView::syncSharp() |
1142 | { | 1141 | { |
1143 | #ifndef DESKTOP_VERSION | 1142 | #ifndef DESKTOP_VERSION |
1144 | mGlobalSyncMode = SYNC_MODE_SHARP; | 1143 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
1145 | //mCurrentSyncDevice = "sharp-DTM"; | 1144 | //mCurrentSyncDevice = "sharp-DTM"; |
1146 | if ( KOPrefs::instance()->mAskForPreferences ) | 1145 | if ( KOPrefs::instance()->mAskForPreferences ) |
1147 | edit_sync_options(); | 1146 | edit_sync_options(); |
1148 | qApp->processEvents(); | 1147 | qApp->processEvents(); |
1149 | CalendarLocal* calendar = new CalendarLocal(); | 1148 | CalendarLocal* calendar = new CalendarLocal(); |
1150 | calendar->setTimeZoneId(KOPrefs::instance()->mTimeZoneId); | 1149 | calendar->setTimeZoneId(KOPrefs::instance()->mTimeZoneId); |
1151 | bool syncOK = false; | 1150 | bool syncOK = false; |
1152 | SharpFormat sharpFormat; | 1151 | SharpFormat sharpFormat; |
1153 | if ( sharpFormat.load( calendar, mCalendar ) ) { | 1152 | if ( sharpFormat.load( calendar, mCalendar ) ) { |
1154 | getEventViewerDialog()->setSyncMode( true ); | 1153 | getEventViewerDialog()->setSyncMode( true ); |
1155 | syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs ); | 1154 | syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs ); |
1156 | getEventViewerDialog()->setSyncMode( false ); | 1155 | getEventViewerDialog()->setSyncMode( false ); |
1157 | qApp->processEvents(); | 1156 | qApp->processEvents(); |
1158 | if ( syncOK ) { | 1157 | if ( syncOK ) { |
1159 | if ( KOPrefs::instance()->mWriteBackFile ) | 1158 | if ( KOPrefs::instance()->mWriteBackFile ) |
1160 | { | 1159 | { |
1161 | QPtrList<Incidence> iL = mCalendar->rawIncidences(); | 1160 | QPtrList<Incidence> iL = mCalendar->rawIncidences(); |
1162 | Incidence* inc = iL.first(); | 1161 | Incidence* inc = iL.first(); |
1162 | /* obsolete | ||
1163 | while ( inc ) { | 1163 | while ( inc ) { |
1164 | inc->setZaurusStat( inc->revision () ); | 1164 | inc->setZaurusStat( inc->revision () ); |
1165 | inc = iL.next(); | 1165 | inc = iL.next(); |
1166 | } | 1166 | } |
1167 | */ | ||
1167 | // pending: clean last sync event description | 1168 | // pending: clean last sync event description |
1168 | sharpFormat.save(calendar); | 1169 | sharpFormat.save(calendar); |
1169 | iL = calendar->rawIncidences(); | 1170 | iL = calendar->rawIncidences(); |
1170 | inc = iL.first(); | 1171 | inc = iL.first(); |
1171 | Incidence* loc; | 1172 | Incidence* loc; |
1172 | while ( inc ) { | 1173 | while ( inc ) { |
1173 | if ( inc->zaurusStat() == -4 ) { | 1174 | if ( inc->zaurusStat() == SYNC_TEMPSTATE_NEW_ID ) { |
1174 | loc = mCalendar->incidence(inc->uid() ); | 1175 | loc = mCalendar->incidence(inc->uid() ); |
1175 | if ( loc ) { | 1176 | if ( loc ) { |
1176 | loc->setZaurusId( inc->zaurusId() ); | 1177 | loc->setZaurusId( inc->zaurusId() ); |
1177 | loc->setZaurusUid( inc->zaurusUid() ); | 1178 | loc->setZaurusUid( inc->zaurusUid() ); |
1178 | } | 1179 | } |
1179 | } | 1180 | } |
1180 | inc = iL.next(); | 1181 | inc = iL.next(); |
1181 | } | 1182 | } |
1182 | Incidence* lse = getLastSyncEvent(); | 1183 | Incidence* lse = getLastSyncEvent(); |
1183 | if ( lse ) { | 1184 | if ( lse ) { |
1184 | lse->setReadOnly( false ); | 1185 | lse->setReadOnly( false ); |
1185 | lse->setDescription( "" ); | 1186 | lse->setDescription( "" ); |