From f27745ccf2ace20e5adc44bf630b20e5657feeb2 Mon Sep 17 00:00:00 2001 From: zecke Date: Mon, 17 Jun 2002 14:20:23 +0000 Subject: Cross Referencing is possible by now --- (limited to 'libopie/todoevent.cpp') diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index b35ac9d..f744550 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp @@ -84,6 +84,24 @@ ushort ToDoEvent::progress() const { return m_prog; } +QStringList ToDoEvent::relatedApps() const +{ + QStringList list; + QMap >::ConstIterator it; + for ( it = m_relations.begin(); it != m_relations.end(); ++it ) { + list << it.key(); + } + return list; +} +QArray ToDoEvent::relations( const QString& app)const +{ + QArray tmp; + QMap >::ConstIterator it; + it = m_relations.find( app); + if ( it != m_relations.end() ) + tmp = it.data(); + return tmp; +} void ToDoEvent::insertCategory(const QString &str ) { m_category.append( str ); @@ -139,6 +157,45 @@ void ToDoEvent::setDate( QDate date ) { m_date = date; } +void ToDoEvent::addRelated( const QString &app, int id ) +{ + QMap >::Iterator it; + QArray tmp; + it = m_relations.find( app ); + if ( it == m_relations.end() ) { + tmp.resize(1 ); + tmp[0] = id; + }else{ + tmp = it.data(); + tmp.resize( tmp.size() + 1 ); + tmp[tmp.size() - 1] = id; + } + m_relations.replace( app, tmp ); +} +void ToDoEvent::addRelated(const QString& app, QArray ids ) +{ + QMap >::Iterator it; + QArray tmp; + it = m_relations.find( app); + if ( it == m_relations.end() ) { // not there + /** tmp.resize( ids.size() ); stupid?? + */ + tmp = ids; + }else{ + tmp = it.data(); + int offset = tmp.size()-1; + tmp.resize( tmp.size() + ids.size() ); + for (uint i = 0; i < ids.size(); i++ ) { + tmp[offset+i] = ids[i]; + } + + } + m_relations.replace( app, tmp ); +} +void ToDoEvent::clearRelated( const QString& app ) +{ + m_relations.remove( app ); +} bool ToDoEvent::isOverdue( ) { if( m_hasDate ) -- cgit v0.9.0.2