From 367304a610dd618ad45ddce8256ba4d7d8ded442 Mon Sep 17 00:00:00 2001
From: zecke <zecke>
Date: Tue, 23 Apr 2002 12:04:28 +0000
Subject: ToDoEvent::richText() added

this patch came from Stefan Eilers

is that the right place for it or does it belong into
the todo app itself?
---
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index a5dba4f..5537b77 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -1,9 +1,17 @@
 
 #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;
@@ -111,6 +119,44 @@ bool ToDoEvent::isOverdue( )
 	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;
diff --git a/libopie/todoevent.h b/libopie/todoevent.h
index 0d477fd..40d8f0b 100644
--- a/libopie/todoevent.h
+++ b/libopie/todoevent.h
@@ -8,20 +8,47 @@
 class ToDoEvent {
     friend class ToDoDB;
  public:
+    // priorities from Very low to very high
     enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW };
+    /* Constructs a new ToDoEvent
+       @param completed Is the TodoEvent completed
+       @param priority What is the priority of this ToDoEvent
+       @param category Which category does it belong( uid )
+       @param description What is this ToDoEvent about
+       @param hasDate Does this Event got a deadline
+       @param date what is the deadline?
+       @param uid what is the UUID of this Event
+    **/
     ToDoEvent( bool completed = false, int priority = NORMAL, 
 	       const QStringList &category = QStringList(), 
 	       const QString &description = QString::null , 
 	       bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 );
+    /* Copy c'tor
+
+    **/
     ToDoEvent(const ToDoEvent & );
+
+    /*
+       Is this event completed?
+    **/
     bool isCompleted() const;
+
+    /*
+       Does this Event have a deadline
+    **/
     bool hasDate() const;
+
+    /*
+      What is the priority?
+    **/
     int priority()const ;
     QStringList allCategories()const;
     QArray<int> categories() const;
     QDate date()const;
     QString description()const;
 
+    QString richText() const;
+
     int uid()const { return m_uid;};
     void setCompleted(bool completed );
     void setHasDate( bool hasDate );
--
cgit v0.9.0.2