-rw-r--r-- | libopie/todoevent.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index fb7073c..b35ac9d 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp @@ -12,32 +12,34 @@ #include <qobject.h> ToDoEvent::ToDoEvent(const ToDoEvent &event ) { *this = event; } ToDoEvent::ToDoEvent(bool completed, int priority, const QStringList &category, const QString& summary, const QString &description, + ushort progress, bool hasDate, QDate date, int uid ) { m_date = date; m_isCompleted = completed; m_hasDate = hasDate; m_priority = priority; m_category = category; m_sum = summary; + m_prog = progress; m_desc = Qtopia::simplifyMultiLineSpace(description ); if (uid == -1 ) { Qtopia::UidGen *uidgen = new Qtopia::UidGen(); uid = uidgen->generate(); delete uidgen; }// generate the ids m_uid = uid; } QArray<int> ToDoEvent::categories()const { QArray<int> array(m_category.count() ); // currently the datebook can be only in one category array = Qtopia::Record::idsFromString( m_category.join(";") ); @@ -69,24 +71,28 @@ int ToDoEvent::priority()const QStringList ToDoEvent::allCategories()const { return m_category; } QString ToDoEvent::extra(const QString& )const { return QString::null; } QString ToDoEvent::summary() const { return m_sum; } +ushort ToDoEvent::progress() const +{ + return m_prog; +} void ToDoEvent::insertCategory(const QString &str ) { m_category.append( str ); } void ToDoEvent::clearCategories() { m_category.clear(); } void ToDoEvent::setCategories(const QStringList &list ) { m_category = list; } @@ -130,42 +136,47 @@ 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; } - +void ToDoEvent::setProgress(ushort progress ) +{ + m_prog = progress; +} /*! Returns a richt text string */ QString ToDoEvent::richText() const { QString text; QStringList catlist; // Description of the todo if ( !description().isEmpty() ){ text += "<b>" + QObject::tr( "Summary:") + "</b><br>"; text += Qtopia::escapeString(summary() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; text += "<b>" + QObject::tr( "Description:" ) + "</b><br>"; - text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br><br><br>"; } text += "<b>" + QObject::tr( "Priority:") +" </b>" - + QString::number( priority() ) + "<br>"; + + QString::number( priority() ) + " <br>"; + text += "<b>" + QObject::tr( "Progress:") + " </b>" + + QString::number( progress() ) + " %<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; bool firstloop = true; @@ -177,25 +188,25 @@ QString ToDoEvent::richText() const if (!firstloop){ text += ", "; } firstloop = false; 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() ) return false; 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; @@ -229,41 +240,43 @@ bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const if( hasDate() && toDoEvent.hasDate() ){ if( date() == toDoEvent.date() ){ // let's the priority decide return priority() > toDoEvent.priority(); }else{ return date() > toDoEvent.date(); } } return true; } bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const { if( m_priority == toDoEvent.m_priority && + m_priority == toDoEvent.m_prog && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_date == toDoEvent.m_date && m_category == toDoEvent.m_category && m_sum == toDoEvent.m_sum && m_desc == toDoEvent.m_desc ) return true; return false; } ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item ) { m_date = item.m_date; m_isCompleted = item.m_isCompleted; m_hasDate = item.m_hasDate; m_priority = item.m_priority; m_category = item.m_category; m_desc = item.m_desc; m_uid = item.m_uid; m_sum = item.m_sum; + m_prog = item.m_prog; return *this; } |