summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt5
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--korganizer/koagendaview.cpp10
-rw-r--r--korganizer/kotodoeditor.cpp35
-rw-r--r--version2
5 files changed, 17 insertions, 37 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index beeaf60..05c1afd 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,18 +1,23 @@
Info about the changes in new versions of KDE-Pim/Pi
+********** VERSION 2.0.12 ************
+
+Fixed a bug in todo start/due date handling for non recurring todos with a start and due date.
+
+
********** VERSION 2.0.11 ************
Fixed some problems in pi-sync mode
(e.g. details of events were not synced properly)
********** VERSION 2.0.10 ************
KO/Pi:
In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view.
This is fixed.
Changed the search dialog a bit to make it more user friendly.
(E.g.: Removed message box about "no items found" and set key focus to search line edit after search).
Added config option to hide the week number in KO/Pi toolbar.
********** VERSION 2.0.9 ************
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index b6a8491..0d4c9d6 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,19 +1,19 @@
Summary: A collection of PIM programs
Name: KDE-Pim-Pi
-Version: 2.0.11
+Version: 2.0.12
Release: SuSE_9.2
Copyright:GPL
Group: Productivity/Pim
Source:http://sourceforge.net/projects/kdepimpi/
URL:http://sourceforge.net/projects/kdepimpi/
Packager: zautrix
%description
This package contains the platform-independent PIM programs from
www.pi-sync.net, compiled for SuSE 9.2:
KTimeTacker/Pi
KPhone/Pi
KAddressbook/Pi
KOrganizer/Pi
PasswordManager/Pi
KOPieMail/Pi
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 4ff6899..db66413 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -988,42 +988,36 @@ void KOAgendaView::updateEventDates(KOAgendaItem *item, int type)
} else {
//qDebug("tem->cellYBottom() %d",item->cellYBottom() );
if ( item->cellYBottom() > 0 )
endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1));
else
endDt.setTime((static_cast<Todo*>(item->incidence()))->dtDue().time());
endDt.setDate(startDate);
}
}
}
if ( item->incidence()->type() == "Event" ) {
item->incidence()->setDtStart(startDt);
(static_cast<Event*>(item->incidence()))->setDtEnd(endDt);
} else if ( item->incidence()->type() == "Todo" ) {
Todo* to = static_cast<Todo*>(item->incidence());
- int len = 0;
- if ( to->hasStartDate() && to->hasDueDate() )
- len = to->dtStart().secsTo( to->dtDue());
to->setDtDue(endDt);
if ( to->hasStartDate() ) {
- if ( len>0 )
- to->setDtStart(to->dtDue().addSecs( -len ));
- else
- if (to->dtStart() > to->dtDue() )
- to->setDtStart(to->dtDue().addDays( -3 ));
+ if (to->dtStart() >= to->dtDue() )
+ to->setDtStart(to->dtDue().addDays( -2 ));
}
}
//qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() );
item->incidence()->setRevision(item->incidence()->revision()+1);
item->setItemDate(startDt.date());
//item->updateItem();
if ( item->incidence()->type() == "Todo" ) {
emit todoMoved((Todo*)item->incidence(), KOGlobals::EVENTEDITED );
}
else
emit incidenceChanged(item->incidence(), KOGlobals::EVENTEDITED);
item->updateItem();
}
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp
index f9f037a..51e2524 100644
--- a/korganizer/kotodoeditor.cpp
+++ b/korganizer/kotodoeditor.cpp
@@ -339,61 +339,42 @@ void KOTodoEditor::readTodo(Todo *todo)
// mCategoryDialog->setSelected(todo->categories());
// We should handle read-only events here.
}
void KOTodoEditor::writeTodo(Todo *event)
{
mGeneral->writeTodo(event);
mDetails->writeEvent(event);
// set related event, i.e. parent to-do in this case.
if (mRelatedTodo) {
event->setRelatedTo(mRelatedTodo);
}
if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) {
mRecurrence->writeEvent(event);
- event->setRecurrenceID( event->dtStart().addSecs(-1) );
- event->setRecurDates();
-#if 0
- bool ok;
- QDateTime next = event->getNextOccurence( event->dtStart().addSecs(-1), &ok );
- if ( ok ) {
- QDateTime from,to;
- bool time = mGeneral->mTimeButton->isChecked();
- if ( time ) {
- to = QDateTime( mGeneral->mDueDateEdit->date(), mGeneral->mDueTimeEdit->getTime() ) ;
- from = QDateTime( mGeneral->mStartDateEdit->date(),mGeneral->mStartTimeEdit->getTime( )) ;
- } else {
- to = QDateTime( mGeneral->mDueDateEdit->date(), QTime( 0,0,0) ) ;
- from = QDateTime( mGeneral->mStartDateEdit->date(),QTime( 0,0,0) ) ;
- }
- if ( to < from )
- to = from;
- int secs = from.secsTo( to );
- event->setRecurrenceID( next );
- event->setDtStart( next );
- event->setDtDue( next.addSecs( secs ) );
- }
- else {
+ if ( event->doesRecur() ) {
+ event->setRecurrenceID( event->dtStart().addSecs(-1) );
+ event->setRecurDates();
+ } else {
event->setHasRecurrenceID( false );
- event->recurrence()->unsetRecurs();
}
-#endif
- } else
- event->recurrence()->unsetRecurs();
+ } else {
+ event->setHasRecurrenceID( false );
+ event->recurrence()->unsetRecurs();
+ }
}
bool KOTodoEditor::validateInput()
{
if (!mGeneral->validateInput()) return false;
if (!mDetails->validateInput()) return false;
return true;
}
int KOTodoEditor::msgItemDelete()
{
return KMessageBox::warningContinueCancel(this,
i18n("This item will be permanently deleted."),
i18n("KOrganizer Confirmation"),i18n("Delete"));
}
diff --git a/version b/version
index 3a336e3..e90e80d 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-version = "2.0.11";
+version = "2.0.12";