Fixed a number of issues, including

* event modification and view refresh when GroupWare communication is disabled
* Deletion (delay) of first recurring event


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1165287 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 14 years ago
parent 740cad9fc1
commit b40645d109

@ -832,6 +832,7 @@ void CalendarView::updateView()
void CalendarView::updateUnmanagedViews()
{
mDateNavigator->updateDayMatrix();
updateView();
}
int CalendarView::msgItemDelete( Incidence *incidence )
@ -2062,7 +2063,15 @@ void CalendarView::deleteIncidence(Incidence *incidence, bool force)
Incidence *oldIncidence = incidence->clone();
if (incidence->recurrence()->startDate() == itemDate) {
// Moving the first in a series...don't bother with the nonstandard exclusion list
incidence->recurrence()->setStartDateTime( incidence->recurrence()->getNextDateTime( incidence->recurrence()->startDateTime() ) );
Recurrence *recur = incidence->recurrence();
Event* thisevent = static_cast<Event*>(incidence);
QDateTime newEnd;
QDateTime newRecurEnd;
newRecurEnd = recur->endDateTime();
newEnd.setTime_t( incidence->dtEnd().toTime_t() + ( recur->getNextDateTime( recur->startDateTime() ).toTime_t() - recur->startDateTime().toTime_t() ) );
thisevent->setDtEnd( newEnd );
incidence->setDtStart( recur->getNextDateTime( recur->startDateTime() ) );
recur->setEndDateTime(newRecurEnd);
}
else {
// No choice but to use the exclusion list
@ -2094,6 +2103,8 @@ void CalendarView::deleteIncidence(Incidence *incidence, bool force)
processIncidenceSelection( 0 );
}
}
updateView();
}
void CalendarView::connectIncidenceEditor( KOIncidenceEditor *editor )

@ -118,8 +118,8 @@ kdDebug(5850)<<"IncidenceChanger::deleteIncidence for incidence \""<<incidence->
scheduler.performTransaction( tmp, Scheduler::Reply );
}
}
emit incidenceDeleted( incidence );
}
emit incidenceDeleted( incidence );
return doDelete;
}
@ -298,14 +298,15 @@ kdDebug(5850)<<"IncidenceChanger::changeIncidence for incidence \""<<newinc->sum
KCal::Scheduler::Request,
newinc, false, statusChanged ) ) {
// Accept the event changes
if ( action<0 ) {
emit incidenceChanged( oldinc, newinc );
} else {
emit incidenceChanged( oldinc, newinc, action );
}
revert = false;
}
if ( action<0 ) {
emit incidenceChanged( oldinc, newinc );
} else {
emit incidenceChanged( oldinc, newinc, action );
}
if ( revert ) {
assignIncidence( newinc, oldinc );
return false;

@ -19,6 +19,10 @@
Boston, MA 02110-1301, USA.
*/
// TODO [FIXME] IMPORTANT
// If a cached resource initiates a reload while an event editor is active, or an event is locked for editing,
// a big fat crash will ensue. The reload subroutine must ABORT if ANY korganizer events are locked for editing!!!
#include <tqdatastream.h>
#include <tqdatetime.h>
#include <tqfile.h>

Loading…
Cancel
Save