summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/todoevent.cpp46
-rw-r--r--libopie/todoevent.h27
2 files changed, 73 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,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 );