summaryrefslogtreecommitdiff
path: root/libopie/todoevent.cpp
authorzecke <zecke>2002-06-17 14:20:23 (UTC)
committer zecke <zecke>2002-06-17 14:20:23 (UTC)
commitf27745ccf2ace20e5adc44bf630b20e5657feeb2 (patch) (side-by-side diff)
tree3fbd91d407051cf94551e49c29d593d6b8c89058 /libopie/todoevent.cpp
parent77ec78630c69c80a3d8bad7f7feb9cc9f18ab346 (diff)
downloadopie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.zip
opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.gz
opie-f27745ccf2ace20e5adc44bf630b20e5657feeb2.tar.bz2
Cross Referencing is possible by now
Diffstat (limited to 'libopie/todoevent.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/todoevent.cpp57
1 files changed, 57 insertions, 0 deletions
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<QString, QArray<int> >::ConstIterator it;
+ for ( it = m_relations.begin(); it != m_relations.end(); ++it ) {
+ list << it.key();
+ }
+ return list;
+}
+QArray<int> ToDoEvent::relations( const QString& app)const
+{
+ QArray<int> tmp;
+ QMap<QString, QArray<int> >::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<QString, QArray<int> >::Iterator it;
+ QArray<int> 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<int> ids )
+{
+ QMap<QString, QArray<int> >::Iterator it;
+ QArray<int> 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 )