summaryrefslogtreecommitdiff
path: root/libopie/todoevent.cpp
Side-by-side diff
Diffstat (limited to 'libopie/todoevent.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/todoevent.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index a5dba4f..5537b77 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -1,12 +1,20 @@
#include <opie/todoevent.h>
+
+
#include <qpe/palmtopuidgen.h>
#include <qpe/stringutil.h>
#include <qpe/palmtoprecord.h>
+#include <qpe/stringutil.h>
+#include <qpe/categories.h>
+#include <qpe/categoryselect.h>
+
+#include <qobject.h>
+
ToDoEvent::ToDoEvent(const ToDoEvent &event )
{
*this = event;
}
ToDoEvent::ToDoEvent(bool completed, int priority, const QStringList &category,
@@ -108,12 +116,50 @@ void ToDoEvent::setDate( QDate date )
bool ToDoEvent::isOverdue( )
{
if( m_hasDate )
return QDate::currentDate() > m_date;
return false;
}
+
+/*!
+ Returns a richt text string
+*/
+QString ToDoEvent::richText() const
+{
+ QString text;
+ QStringList catlist;
+
+ // Description of the todo
+ if ( !description().isEmpty() ){
+ text += "<b>" + QObject::tr( "Description:" ) + "</b><br>";
+ text += Qtopia::escapeString(description() ) + "<br>";
+ }
+ text += "<b>" + QObject::tr( "Priority:") +" </b>"
+ + QString::number( priority() ) + "<br>";
+ if (hasDate() ){
+ text += "<b>" + QObject::tr( "Deadline:") + " </b>";
+ text += date().toString();
+ text += "<br>";
+ }
+
+ // Open database of all categories and get the list of
+ // the categories this todoevent belongs to.
+ // Then print them...
+ // I am not sure whether there is no better way doing this !?
+ Categories catdb;
+ catdb.load( categoryFileName() );
+ catlist = allCategories();
+
+ text += "<b>" + QObject::tr( "Category:") + "</b> ";
+ for ( QStringList::Iterator it = catlist.begin(); it != catlist.end(); ++it ) {
+ text += catdb.label ("todo", (*it).toInt());
+ }
+ text += "<br>";
+ return text;
+}
+
bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{
if( !hasDate() && !toDoEvent.hasDate() ) return true;
if( !hasDate() && toDoEvent.hasDate() ) return true;
if( hasDate() && toDoEvent.hasDate() ){
if( date() == toDoEvent.date() ){ // let's the priority decide
return priority() < toDoEvent.priority();