author | zecke <zecke> | 2002-04-23 12:04:28 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-04-23 12:04:28 (UTC) |
commit | 367304a610dd618ad45ddce8256ba4d7d8ded442 (patch) (side-by-side diff) | |
tree | c73838ac2bb496f6233ac6b793d5b17c867efbdb /libopie/todoevent.cpp | |
parent | 3197bbef89e9001929d826a8cbe39d675bcf7917 (diff) | |
download | opie-367304a610dd618ad45ddce8256ba4d7d8ded442.zip opie-367304a610dd618ad45ddce8256ba4d7d8ded442.tar.gz opie-367304a610dd618ad45ddce8256ba4d7d8ded442.tar.bz2 |
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?
-rw-r--r-- | libopie/todoevent.cpp | 46 |
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,22 +1,30 @@ #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, const QString &description, bool hasDate, QDate date, int uid ) { m_date = date; m_isCompleted = completed; m_hasDate = hasDate; m_priority = priority; m_category = category; m_desc = Qtopia::simplifyMultiLineSpace(description ); if (uid == -1 ) { Qtopia::UidGen *uidgen = new Qtopia::UidGen(); @@ -98,32 +106,70 @@ void ToDoEvent::setCategory( const QString &cat ) m_category << cat; } void ToDoEvent::setPriority(int prio ) { m_priority = prio; } void ToDoEvent::setDate( QDate date ) { m_date = 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(); }else{ return date() < toDoEvent.date(); } } return false; } bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const { if( !hasDate() && !toDoEvent.hasDate() ) return true; if( !hasDate() && toDoEvent.hasDate() ) return true; |