summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-26 20:04:29 (UTC)
committer zautrix <zautrix>2004-10-26 20:04:29 (UTC)
commit8b111ae30fc51a4a580b8d485bef8ad28b0dde84 (patch) (unidiff)
treefb4cf20f5675e5ff2221ed6eea51785bdd65616c
parent62e91b888de607fa5a9f9c0fba807287e57d5d5c (diff)
downloadkdepimpi-8b111ae30fc51a4a580b8d485bef8ad28b0dde84.zip
kdepimpi-8b111ae30fc51a4a580b8d485bef8ad28b0dde84.tar.gz
kdepimpi-8b111ae30fc51a4a580b8d485bef8ad28b0dde84.tar.bz2
fix in kapi translation call, clone fix and kde first sync fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/mainembedded.cpp3
-rw-r--r--korganizer/calendarview.cpp15
-rw-r--r--libkcal/incidence.cpp2
3 files changed, 14 insertions, 6 deletions
diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp
index 547d208..771bec9 100644
--- a/kaddressbook/mainembedded.cpp
+++ b/kaddressbook/mainembedded.cpp
@@ -52,49 +52,48 @@ int main( int argc, char **argv )
52 printf("KA/E command line commands:\n"); 52 printf("KA/E command line commands:\n");
53 printf(" no command: Start KA/E in usual way\n"); 53 printf(" no command: Start KA/E in usual way\n");
54 printf(" -help: This output\n"); 54 printf(" -help: This output\n");
55 printf(" KA/E is exiting now. Bye!\n"); 55 printf(" KA/E is exiting now. Bye!\n");
56 exitHelp = true; 56 exitHelp = true;
57 } 57 }
58 } 58 }
59 if ( ! exitHelp ) { 59 if ( ! exitHelp ) {
60 60
61 KGlobal::setAppName( "kaddressbook" ); 61 KGlobal::setAppName( "kaddressbook" );
62#ifndef DESKTOP_VERSION 62#ifndef DESKTOP_VERSION
63 if ( QApplication::desktop()->width() > 320 ) 63 if ( QApplication::desktop()->width() > 320 )
64 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons22/"); 64 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons22/");
65 else 65 else
66 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons16/"); 66 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons16/");
67#else 67#else
68 QString fileName ; 68 QString fileName ;
69 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/icons22/"; 69 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/icons22/";
70 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 70 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
71 QApplication::addLibraryPath ( qApp->applicationDirPath () ); 71 QApplication::addLibraryPath ( qApp->applicationDirPath () );
72 72
73#endif 73#endif
74 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kaddressbook"))); 74 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kaddressbook")));
75 // init language 75 // init language
76 KABPrefs::instance(); 76 KPimGlobalPrefs::instance()->setGlobalConfig();
77 KAddressBookMain m ; 77 KAddressBookMain m ;
78//US MainWindow m; 78//US MainWindow m;
79 QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 79 QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
80 80
81 81
82 KPimGlobalPrefs::instance()->setGlobalConfig();
83 82
84#ifndef DESKTOP_VERSION 83#ifndef DESKTOP_VERSION
85 a.showMainWidget( &m ); 84 a.showMainWidget( &m );
86 85
87#else 86#else
88 a.setMainWidget( &m ); 87 a.setMainWidget( &m );
89 m.resize (640, 480 ); 88 m.resize (640, 480 );
90 m.show(); 89 m.show();
91#endif 90#endif
92 a.exec(); 91 a.exec();
93 92
94 dumpMissing(); 93 dumpMissing();
95 94
96 KPimGlobalPrefs::instance()->writeConfig(); 95 KPimGlobalPrefs::instance()->writeConfig();
97 } 96 }
98 qDebug("KA: Bye! "); 97 qDebug("KA: Bye! ");
99} 98}
100 99
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 284ddbf..2ccccfa 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -939,49 +939,52 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
939 } else { 939 } else {
940 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncKDE) { 940 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncKDE) {
941 eventRSync = (Event*)eventLSync->clone(); 941 eventRSync = (Event*)eventLSync->clone();
942 } else { 942 } else {
943 fullDateRange = true; 943 fullDateRange = true;
944 eventRSync = new Event(); 944 eventRSync = new Event();
945 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event")); 945 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
946 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName ); 946 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
947 eventRSync->setDtStart( mLastCalendarSync ); 947 eventRSync->setDtStart( mLastCalendarSync );
948 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 948 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
949 eventRSync->setCategories( i18n("SyncEvent") ); 949 eventRSync->setCategories( i18n("SyncEvent") );
950 } 950 }
951 } 951 }
952 if ( eventLSync->dtStart() == mLastCalendarSync ) 952 if ( eventLSync->dtStart() == mLastCalendarSync )
953 fullDateRange = true; 953 fullDateRange = true;
954 954
955 if ( ! fullDateRange ) { 955 if ( ! fullDateRange ) {
956 if ( eventLSync->dtStart() != eventRSync->dtStart() ) { 956 if ( eventLSync->dtStart() != eventRSync->dtStart() ) {
957 957
958 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() ); 958 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() );
959 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec()); 959 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec());
960 fullDateRange = true; 960 fullDateRange = true;
961 } 961 }
962 } 962 }
963 if ( fullDateRange && !mSyncKDE ) 963 if ( mSyncKDE ) {
964 fullDateRange = ( eventLSync->dtStart() == mLastCalendarSync );
965 }
966 if ( fullDateRange )
964 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); 967 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365);
965 else 968 else
966 mLastCalendarSync = eventLSync->dtStart(); 969 mLastCalendarSync = eventLSync->dtStart();
967 // for resyncing if own file has changed 970 // for resyncing if own file has changed
968 if ( mCurrentSyncDevice == "deleteaftersync" ) { 971 if ( mCurrentSyncDevice == "deleteaftersync" ) {
969 mLastCalendarSync = loadedFileVersion; 972 mLastCalendarSync = loadedFileVersion;
970 //qDebug("setting mLastCalendarSync "); 973 //qDebug("setting mLastCalendarSync ");
971 } 974 }
972 //qDebug("*************************** "); 975 //qDebug("*************************** ");
973 qDebug("mLastCalendarSync %s full: %d",mLastCalendarSync.toString().latin1(), fullDateRange); 976 qDebug("mLastCalendarSync %s full: %d",mLastCalendarSync.toString().latin1(), fullDateRange);
974 QPtrList<Incidence> er = remote->rawIncidences(); 977 QPtrList<Incidence> er = remote->rawIncidences();
975 Incidence* inR = er.first(); 978 Incidence* inR = er.first();
976 Incidence* inL; 979 Incidence* inL;
977 QProgressBar bar( er.count(),0 ); 980 QProgressBar bar( er.count(),0 );
978 bar.setCaption (i18n("Syncing - close to abort!") ); 981 bar.setCaption (i18n("Syncing - close to abort!") );
979 982
980 int w = 300; 983 int w = 300;
981 if ( QApplication::desktop()->width() < 320 ) 984 if ( QApplication::desktop()->width() < 320 )
982 w = 220; 985 w = 220;
983 int h = bar.sizeHint().height() ; 986 int h = bar.sizeHint().height() ;
984 int dw = QApplication::desktop()->width(); 987 int dw = QApplication::desktop()->width();
985 int dh = QApplication::desktop()->height(); 988 int dh = QApplication::desktop()->height();
986 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 989 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
987 bar.show(); 990 bar.show();
@@ -1028,117 +1031,123 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1028 if ( mSyncKDE ) 1031 if ( mSyncKDE )
1029 inL->setPilotId( pid ); 1032 inL->setPilotId( pid );
1030 inL->setIDStr( idS ); 1033 inL->setIDStr( idS );
1031 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1034 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1032 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1035 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1033 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) ); 1036 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) );
1034 } 1037 }
1035 local->addIncidence( inL ); 1038 local->addIncidence( inL );
1036 ++changedLocal; 1039 ++changedLocal;
1037 } 1040 }
1038 } 1041 }
1039 } else { // no conflict 1042 } else { // no conflict
1040 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1043 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1041 QString des = eventLSync->description(); 1044 QString des = eventLSync->description();
1042 QString pref = "e"; 1045 QString pref = "e";
1043 if ( inR->type() == "Todo" ) 1046 if ( inR->type() == "Todo" )
1044 pref = "t"; 1047 pref = "t";
1045 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it 1048 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it
1046 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); 1049 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE );
1047 //remote->deleteIncidence( inR ); 1050 //remote->deleteIncidence( inR );
1048 ++deletedEventR; 1051 ++deletedEventR;
1049 } else { 1052 } else {
1050 inR->setLastModified( modifiedCalendar ); 1053 inR->setLastModified( modifiedCalendar );
1051 inL = inR->clone(); 1054 inL = inR->clone();
1055 inL->setIDStr( ":" );
1052 local->addIncidence( inL ); 1056 local->addIncidence( inL );
1053 ++addedEvent; 1057 ++addedEvent;
1054 } 1058 }
1055 } else { 1059 } else {
1056 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { 1060 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) {
1057 inR->setLastModified( modifiedCalendar ); 1061 inR->setLastModified( modifiedCalendar );
1058 local->addIncidence( inR->clone() ); 1062 inL = inR->clone();
1063 inL->setIDStr( ":" );
1064 local->addIncidence( inL );
1059 ++addedEvent; 1065 ++addedEvent;
1060 } else { 1066 } else {
1061 checkExternSyncEvent(eventRSyncSharp, inR); 1067 checkExternSyncEvent(eventRSyncSharp, inR);
1062 remote->deleteIncidence( inR ); 1068 remote->deleteIncidence( inR );
1063 ++deletedEventR; 1069 ++deletedEventR;
1064 } 1070 }
1065 } 1071 }
1066 } 1072 }
1067 } 1073 }
1068 inR = er.next(); 1074 inR = er.next();
1069 } 1075 }
1070 QPtrList<Incidence> el = local->rawIncidences(); 1076 QPtrList<Incidence> el = local->rawIncidences();
1071 inL = el.first(); 1077 inL = el.first();
1072 modulo = (el.count()/10)+1; 1078 modulo = (el.count()/10)+1;
1073 bar.setCaption (i18n("Add / remove events") ); 1079 bar.setCaption (i18n("Add / remove events") );
1074 bar.setTotalSteps ( el.count() ) ; 1080 bar.setTotalSteps ( el.count() ) ;
1075 bar.show(); 1081 bar.show();
1076 incCounter = 0; 1082 incCounter = 0;
1077 1083
1078 while ( inL ) { 1084 while ( inL ) {
1079 1085
1080 qApp->processEvents(); 1086 qApp->processEvents();
1081 if ( ! bar.isVisible() ) 1087 if ( ! bar.isVisible() )
1082 return false; 1088 return false;
1083 if ( incCounter % modulo == 0 ) 1089 if ( incCounter % modulo == 0 )
1084 bar.setProgress( incCounter ); 1090 bar.setProgress( incCounter );
1085 ++incCounter; 1091 ++incCounter;
1086 uid = inL->uid(); 1092 uid = inL->uid();
1087 bool skipIncidence = false; 1093 bool skipIncidence = false;
1088 if ( uid.left(15) == QString("last-syncEvent-") ) 1094 if ( uid.left(15) == QString("last-syncEvent-") )
1089 skipIncidence = true; 1095 skipIncidence = true;
1090 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" ) 1096 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->type() == "Journal" )
1091 skipIncidence = true; 1097 skipIncidence = true;
1092 if ( !skipIncidence ) { 1098 if ( !skipIncidence ) {
1093 inR = remote->incidence( uid ); 1099 inR = remote->incidence( uid );
1094 if ( ! inR ) { 1100 if ( ! inR ) {
1095 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1101 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1096 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { 1102 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) {
1097 checkExternSyncEvent(eventLSyncSharp, inL); 1103 checkExternSyncEvent(eventLSyncSharp, inL);
1098 local->deleteIncidence( inL ); 1104 local->deleteIncidence( inL );
1099 ++deletedEventL; 1105 ++deletedEventL;
1100 } else { 1106 } else {
1101 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1107 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1102 inL->removeID(mCurrentSyncDevice ); 1108 inL->removeID(mCurrentSyncDevice );
1103 ++addedEventR; 1109 ++addedEventR;
1104 //qDebug("remote added Incidence %s ", inL->summary().latin1()); 1110 //qDebug("remote added Incidence %s ", inL->summary().latin1());
1105 inL->setLastModified( modifiedCalendar ); 1111 inL->setLastModified( modifiedCalendar );
1106 inR = inL->clone(); 1112 inR = inL->clone();
1113 inR->setIDStr( ":" );
1107 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 1114 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
1108 remote->addIncidence( inR ); 1115 remote->addIncidence( inR );
1109 } 1116 }
1110 } 1117 }
1111 } else { 1118 } else {
1112 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) { 1119 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) {
1113 checkExternSyncEvent(eventLSyncSharp, inL); 1120 checkExternSyncEvent(eventLSyncSharp, inL);
1114 local->deleteIncidence( inL ); 1121 local->deleteIncidence( inL );
1115 ++deletedEventL; 1122 ++deletedEventL;
1116 } else { 1123 } else {
1117 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1124 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1118 ++addedEventR; 1125 ++addedEventR;
1119 inL->setLastModified( modifiedCalendar ); 1126 inL->setLastModified( modifiedCalendar );
1120 remote->addIncidence( inL->clone() ); 1127 inR = inL->clone();
1128 inR->setIDStr( ":" );
1129 remote->addIncidence( inR );
1121 } 1130 }
1122 } 1131 }
1123 } 1132 }
1124 } 1133 }
1125 } 1134 }
1126 inL = el.next(); 1135 inL = el.next();
1127 } 1136 }
1128 int delFut = 0; 1137 int delFut = 0;
1129 int remRem = 0; 1138 int remRem = 0;
1130 if ( mSyncManager->mWriteBackInFuture ) { 1139 if ( mSyncManager->mWriteBackInFuture ) {
1131 er = remote->rawIncidences(); 1140 er = remote->rawIncidences();
1132 remRem = er.count(); 1141 remRem = er.count();
1133 inR = er.first(); 1142 inR = er.first();
1134 QDateTime dt; 1143 QDateTime dt;
1135 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1144 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1136 QDateTime end = cur.addDays( (mSyncManager->mWriteBackInFuture +1 ) *7 ); 1145 QDateTime end = cur.addDays( (mSyncManager->mWriteBackInFuture +1 ) *7 );
1137 while ( inR ) { 1146 while ( inR ) {
1138 if ( inR->type() == "Todo" ) { 1147 if ( inR->type() == "Todo" ) {
1139 Todo * t = (Todo*)inR; 1148 Todo * t = (Todo*)inR;
1140 if ( t->hasDueDate() ) 1149 if ( t->hasDueDate() )
1141 dt = t->dtDue(); 1150 dt = t->dtDue();
1142 else 1151 else
1143 dt = cur.addSecs( 62 ); 1152 dt = cur.addSecs( 62 );
1144 } 1153 }
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp
index 55ac6d4..5a9ef0e 100644
--- a/libkcal/incidence.cpp
+++ b/libkcal/incidence.cpp
@@ -160,49 +160,49 @@ bool KCal::operator==( const Incidence& i1, const Incidence& i2 )
160 return 160 return
161 // i1.created() == i2.created() && 161 // i1.created() == i2.created() &&
162 stringCompare( i1.description(), i2.description() ) && 162 stringCompare( i1.description(), i2.description() ) &&
163 stringCompare( i1.summary(), i2.summary() ) && 163 stringCompare( i1.summary(), i2.summary() ) &&
164 i1.categories() == i2.categories() && 164 i1.categories() == i2.categories() &&
165 // no need to compare mRelatedTo 165 // no need to compare mRelatedTo
166 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) && 166 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) &&
167 // i1.relations() == i2.relations() && 167 // i1.relations() == i2.relations() &&
168 i1.exDates() == i2.exDates() && 168 i1.exDates() == i2.exDates() &&
169 i1.attachments() == i2.attachments() && 169 i1.attachments() == i2.attachments() &&
170 i1.resources() == i2.resources() && 170 i1.resources() == i2.resources() &&
171 i1.secrecy() == i2.secrecy() && 171 i1.secrecy() == i2.secrecy() &&
172 i1.priority() == i2.priority() && 172 i1.priority() == i2.priority() &&
173 stringCompare( i1.location(), i2.location() ); 173 stringCompare( i1.location(), i2.location() );
174} 174}
175 175
176 176
177void Incidence::recreate() 177void Incidence::recreate()
178{ 178{
179 setCreated(QDateTime::currentDateTime()); 179 setCreated(QDateTime::currentDateTime());
180 180
181 setUid(CalFormat::createUniqueId()); 181 setUid(CalFormat::createUniqueId());
182 182
183 setRevision(0); 183 setRevision(0);
184 184 setIDStr( ":" );
185 setLastModified(QDateTime::currentDateTime()); 185 setLastModified(QDateTime::currentDateTime());
186} 186}
187 187
188void Incidence::setReadOnly( bool readOnly ) 188void Incidence::setReadOnly( bool readOnly )
189{ 189{
190 IncidenceBase::setReadOnly( readOnly ); 190 IncidenceBase::setReadOnly( readOnly );
191 recurrence()->setRecurReadOnly( readOnly); 191 recurrence()->setRecurReadOnly( readOnly);
192} 192}
193 193
194void Incidence::setCreated(QDateTime created) 194void Incidence::setCreated(QDateTime created)
195{ 195{
196 if (mReadOnly) return; 196 if (mReadOnly) return;
197 mCreated = getEvenTime(created); 197 mCreated = getEvenTime(created);
198} 198}
199 199
200QDateTime Incidence::created() const 200QDateTime Incidence::created() const
201{ 201{
202 return mCreated; 202 return mCreated;
203} 203}
204 204
205void Incidence::setRevision(int rev) 205void Incidence::setRevision(int rev)
206{ 206{
207 if (mReadOnly) return; 207 if (mReadOnly) return;
208 mRevision = rev; 208 mRevision = rev;