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 | |
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 | ||||
-rw-r--r-- | libopie/todoevent.h | 27 |
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,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(); diff --git a/libopie/todoevent.h b/libopie/todoevent.h index 0d477fd..40d8f0b 100644 --- a/libopie/todoevent.h +++ b/libopie/todoevent.h @@ -5,26 +5,53 @@ #include <qstringlist.h> #include <qdatetime.h> 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 ); // if the category doesn't exist we will create it // this sets the the Category after this call category will be the only category void setCategory( const QString &category ); |