-rw-r--r-- | korganizer/calendarview.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 940ea91..ccacc52 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1451,8 +1451,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); else idS = inR->IDStr(); + int calID = inR->calID(); remote->deleteIncidence( inR ); inR = inL->clone(); + inR->setCalID( calID ); inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL ) inR->setIDStr( idS ); @@ -1463,8 +1465,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int } else {// take remote ********************** idS = inL->IDStr(); int pid = inL->pilotId(); + int calID = inL->calID(); local->deleteIncidence( inL ); inL = inR->clone(); + inL->setCalID( calID ); if ( mSyncManager->syncWithDesktop() ) inL->setPilotId( pid ); inL->setIDStr( idS ); @@ -1493,6 +1497,8 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inL->setIDStr( ":" ); inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) ); + + inL->setCalID( 0 );// add to default cal local->addIncidence( inL ); ++addedEvent; @@ -1502,6 +1508,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inR->setLastModified( modifiedCalendar ); inL = inR->clone(); inL->setIDStr( ":" ); + inL->setCalID( 0 );// add to default cal local->addIncidence( inL ); ++addedEvent; @@ -1559,6 +1566,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inR = inL->clone(); inR->setIDStr( ":" ); inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); + inR->setCalID( 0 );// add to default cal remote->addIncidence( inR ); } } @@ -1573,6 +1581,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int inL->setLastModified( modifiedCalendar ); inR = inL->clone(); inR->setIDStr( ":" ); + inR->setCalID( 0 );// add to default cal remote->addIncidence( inR ); } } @@ -2143,6 +2152,15 @@ bool CalendarView::openCalendar(QString filename, bool merge) } return false; } +void CalendarView::mergeFile( QString fn ) +{ + clearAllViews(); + mCalendar->mergeCalendarFile( fn ); + mCalendar->reInitAlarmSettings(); + setSyncEventsReadOnly(); + updateUnmanagedViews(); + updateView(); +} void CalendarView::showOpenError() { KMessageBox::error(this,i18n("Couldn't load calendar\n.")); @@ -3358,12 +3376,14 @@ void CalendarView::newEvent() } QDate date = mNavigator->selectedDates().first(); +#if 0 QDateTime current = QDateTime::currentDateTime(); if ( date <= current.date() ) { int hour = current.time().hour() +1; newEvent( QDateTime( current.date(), QTime( hour, 0, 0 ) ), QDateTime( current.date(), QTime( hour+ KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); } else +#endif newEvent( QDateTime( date, QTime( KOPrefs::instance()->mStartTime, 0, 0 ) ), QDateTime( date, QTime( KOPrefs::instance()->mStartTime + KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); |