summaryrefslogtreecommitdiff
authorzecke <zecke>2002-05-09 15:39:38 (UTC)
committer zecke <zecke>2002-05-09 15:39:38 (UTC)
commit7999411de407eaaf57cae9e2d0cb3767c714d161 (patch) (side-by-side diff)
treea29d0744a5aa698c8eb329721d1df651096eeb10
parent543122f38cc6e2b711d4afa321f7fed469b76621 (diff)
downloadopie-7999411de407eaaf57cae9e2d0cb3767c714d161.zip
opie-7999411de407eaaf57cae9e2d0cb3767c714d161.tar.gz
opie-7999411de407eaaf57cae9e2d0cb3767c714d161.tar.bz2
Patch from Stefan Eilers to separate multiple categories by a ,
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie/todoevent.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index b820150..aa348a2 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -53,183 +53,188 @@ bool ToDoEvent::match( const QRegExp &regExp )const
bool ToDoEvent::isCompleted() const
{
return m_isCompleted;
}
bool ToDoEvent::hasDate() const
{
return m_hasDate;
}
int ToDoEvent::priority()const
{
return m_priority;
}
QStringList ToDoEvent::allCategories()const
{
return m_category;
}
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;
}
QDate ToDoEvent::date()const
{
return m_date;
}
QString ToDoEvent::description()const
{
return m_desc;
}
void ToDoEvent::setCompleted( bool completed )
{
m_isCompleted = completed;
}
void ToDoEvent::setHasDate( bool hasDate )
{
m_hasDate = hasDate;
}
void ToDoEvent::setDescription(const QString &desc )
{
m_desc = Qtopia::simplifyMultiLineSpace(desc );
}
void ToDoEvent::setCategory( const QString &cat )
{
qWarning("setCategory %s", cat.latin1() );
m_category.clear();
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() ).replace(QRegExp( "[\n]"), "<br>" ) + "<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;
+ bool firstloop = true;
catdb.load( categoryFileName() );
catlist = allCategories();
text += "<b>" + QObject::tr( "Category:") + "</b> ";
for ( QStringList::Iterator it = catlist.begin(); it != catlist.end(); ++it ) {
+ 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() ){
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;
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( !hasDate() && !toDoEvent.hasDate() ) return false;
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;
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 true;
}
bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const
{
if( m_date == toDoEvent.m_date && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_priority == toDoEvent.m_priority && m_category == toDoEvent.m_category && 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;
return *this;
}