[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/kdepim/enterprise/kdepim/kresources/kolab/kcal
From:       Sergio Luis Martins <iamsergio () gmail ! com>
Date:       2010-03-30 13:57:52
Message-ID: 20100330135752.2044DAC887 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1109072 by smartins:

When converting a todo to XML, don't add a 00h time component if the todo floats.

Fixes kolab/issue4280.

MERGE: 4.4, trunk


 M  +18 -4     task.cpp  


--- branches/kdepim/enterprise/kdepim/kresources/kolab/kcal/task.cpp #1109071:1109072
@@ -279,8 +279,13 @@
     break;
   }
 
-  if ( hasDueDate() )
-    writeString( element, "due-date", dateTimeToString( dueDate() ) );
+  if ( hasDueDate() ) {
+    if ( mFloatingStatus == HasTime ) {
+      writeString( element, "due-date", dateTimeToString( dueDate() ) );
+    } else {
+      writeString( element, "due-date", dateToString( dueDate().date() ) );
+    }
+  }
 
   if ( !parent().isNull() )
     writeString( element, "parent", parent() );
@@ -350,10 +355,19 @@
   setStatus( task->status() );
   setHasStartDate( task->hasStartDate() );
 
-  if ( task->hasDueDate() )
+  if ( task->hasDueDate() ) {
     setDueDate( localToUTC( task->dtDue() ) );
-  else
+    if ( task->doesFloat() ) {
+      // This is a floating task. Don't timezone move this one
+      mFloatingStatus = AllDay;
+      setDueDate( task->dtDue().date() );
+    } else {
+      mFloatingStatus = HasTime;
+      setDueDate( localToUTC( task->dtDue() ) );
+    }
+  } else {
     mHasDueDate = false;
+  }
   if ( task->relatedTo() )
     setParent( task->relatedTo()->uid() );
   else if ( !task->relatedToUid().isEmpty() )
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic