-rw-r--r-- | libopie/oprocess.h | 2 | ||||
-rw-r--r-- | libopie/tododb.cpp | 8 | ||||
-rw-r--r-- | libopie/todoevent.cpp | 21 | ||||
-rw-r--r-- | libopie/todoevent.h | 11 |
4 files changed, 37 insertions, 5 deletions
diff --git a/libopie/oprocess.h b/libopie/oprocess.h index ce3c87d..fd726b4 100644 --- a/libopie/oprocess.h +++ b/libopie/oprocess.h @@ -19,17 +19,17 @@ // // KPROCESS -- A class for handling child processes in KDE without // having to take care of Un*x specific implementation details // // version 0.3.1, Jan 8th 1998 // // (C) Christian Czezatke // e9025461@student.tuwien.ac.at -// Ported by Holger Freyther +// Ported by Holger Freyther to the Open Palmtop Integrated Environment // #ifndef __kprocess_h__ #define __kprocess_h__ #include <sys/types.h> // for pid_t #include <sys/wait.h> #include <signal.h> diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp index 6b10ec2..1e40c40 100644 --- a/libopie/tododb.cpp +++ b/libopie/tododb.cpp @@ -19,16 +19,17 @@ public: XMLElement *tasks = new XMLElement( ); tasks->setTagName("Tasks" ); for( QValueList<ToDoEvent>::ConstIterator it = m_todos.begin(); it != m_todos.end(); ++it ){ XMLElement::AttributeMap map; XMLElement *task = new XMLElement(); map.insert( "Completed", QString::number((int)(*it).isCompleted() ) ); map.insert( "HasDate", QString::number((int)(*it).hasDate() ) ); map.insert( "Priority", QString::number( (*it).priority() ) ); + map.insert( "Progress", QString::number( (*it).progress() ) ); map.insert( "Summary", (*it).summary() ); QArray<int> arrat = (*it).categories(); QString attr; for(uint i=0; i < arrat.count(); i++ ){ attr.append(QString::number(arrat[i])+";" ); } if(!attr.isEmpty() ) // remove the last ; attr.remove(attr.length()-1, 1 ); @@ -77,16 +78,23 @@ public: QString dummy; ToDoEvent event; bool ok; int dumInt; // completed dummy = element->attribute("Completed" ); dumInt = dummy.toInt(&ok ); if(ok ) event.setCompleted( dumInt == 0 ? false : true ); + // progress + dummy = element->attribute("Progress" ); + { + ushort dumShort = dummy.toUShort(&ok); + event.setProgress( dumShort ); + + } // hasDate dummy = element->attribute("HasDate" ); dumInt = dummy.toInt(&ok ); if(ok ) event.setHasDate( dumInt == 0 ? false: true ); // set the date bool hasDa = dumInt; if ( hasDa ) { //parse the date int year, day, month = 0; diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index fb7073c..b35ac9d 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp @@ -16,24 +16,26 @@ 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; } @@ -73,16 +75,20 @@ QStringList ToDoEvent::allCategories()const 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(); } @@ -134,34 +140,39 @@ 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. @@ -181,17 +192,17 @@ QString ToDoEvent::richText() const 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; @@ -233,16 +244,17 @@ bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const 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; @@ -252,16 +264,17 @@ 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; } diff --git a/libopie/todoevent.h b/libopie/todoevent.h index 7454241..de4623f 100644 --- a/libopie/todoevent.h +++ b/libopie/todoevent.h @@ -21,16 +21,17 @@ class ToDoEvent { @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 &summary = QString::null , const QString &description = QString::null, + ushort progress = 0, bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); /* Copy c'tor **/ ToDoEvent(const ToDoEvent & ); /* Is this event completed? @@ -42,16 +43,20 @@ class ToDoEvent { **/ bool hasDate() const; /* What is the priority? **/ int priority()const ; + /** + * progress as ushort 0, 20, 40, 60, 80 or 100% + */ + ushort progress() const; /* All category numbers as QString in a List **/ QStringList allCategories()const; /* * Same as above but with QArray<int> */ @@ -110,16 +115,21 @@ class ToDoEvent { void setCategories(const QStringList& ); /** * Set the priority of the Todo */ void setPriority(int priority ); /** + * Set the progress. + */ + void setProgress( ushort progress ); + + /** * set the end date */ void setDate( QDate date ); void setDescription(const QString& ); void setSummary(const QString& ); void setExtra( const QString&, const QString& ); bool isOverdue(); @@ -140,12 +150,13 @@ class ToDoEvent { bool m_isCompleted:1; bool m_hasDate:1; int m_priority; QStringList m_category; QString m_desc; QString m_sum; QMap<QString, QString> m_extra; int m_uid; + ushort m_prog; }; #endif |