summaryrefslogtreecommitdiff
path: root/libopie2/opiepim
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimmaintainer.cpp37
-rw-r--r--libopie2/opiepim/core/opimmaintainer.h36
-rw-r--r--libopie2/opiepim/core/opimxrefmanager.cpp2
-rw-r--r--libopie2/opiepim/otodo.cpp20
-rw-r--r--libopie2/opiepim/otodo.h12
5 files changed, 106 insertions, 1 deletions
diff --git a/libopie2/opiepim/core/opimmaintainer.cpp b/libopie2/opiepim/core/opimmaintainer.cpp
new file mode 100644
index 0000000..e34f035
--- a/dev/null
+++ b/libopie2/opiepim/core/opimmaintainer.cpp
@@ -0,0 +1,37 @@
+#include "opimmaintainer.h"
+
+OPimMaintainer::OPimMaintainer( enum Mode mode, int uid )
+ : m_mode(mode), m_uid(uid )
+{}
+OPimMaintainer::~OPimMaintainer() {
+}
+OPimMaintainer::OPimMaintainer( const OPimMaintainer& main ) {
+ *this = main;
+}
+OPimMaintainer &OPimMaintainer::operator=( const OPimMaintainer& main ) {
+ m_mode = main.m_mode;
+ m_uid = main.m_uid;
+
+ return *this;
+}
+bool OPimMaintainer::operator==( const OPimMaintainer& main ) {
+ if (m_mode != main.m_mode ) return false;
+ if (m_uid != main.m_uid ) return false;
+
+ return true;
+}
+bool OPimMaintainer::operator!=( const OPimMaintainer& main ) {
+ return !(*this == main );
+}
+OPimMaintainer::Mode OPimMaintainer::mode()const {
+ return m_mode;
+}
+int OPimMaintainer::uid()const {
+ return m_uid;
+}
+void OPimMaintainer::setMode( enum Mode mo) {
+ m_mode = mo;
+}
+void OPimMaintainer::setUid( int uid ) {
+ m_uid = uid;
+}
diff --git a/libopie2/opiepim/core/opimmaintainer.h b/libopie2/opiepim/core/opimmaintainer.h
new file mode 100644
index 0000000..310e15a
--- a/dev/null
+++ b/libopie2/opiepim/core/opimmaintainer.h
@@ -0,0 +1,36 @@
+#ifndef OPIE_PIM_MAINTAINER_H
+#define OPIE_PIM_MAINTAINER_H
+
+#include <qstring.h>
+
+/**
+ * Who maintains what?
+ */
+class OPimMaintainer {
+public:
+ enum Mode { Undefined = -1,
+ Responsible = 0,
+ DoneBy,
+ Coordinating };
+ OPimMaintainer( enum Mode mode = Undefined, int uid = 0);
+ OPimMaintainer( const OPimMaintainer& );
+ ~OPimMaintainer();
+
+ OPimMaintainer &operator=( const OPimMaintainer& );
+ bool operator==( const OPimMaintainer& );
+ bool operator!=( const OPimMaintainer& );
+
+
+ Mode mode()const;
+ int uid()const;
+
+ void setMode( enum Mode );
+ void setUid( int uid );
+
+private:
+ Mode m_mode;
+ int m_uid;
+
+};
+
+#endif
diff --git a/libopie2/opiepim/core/opimxrefmanager.cpp b/libopie2/opiepim/core/opimxrefmanager.cpp
index d49f5f5..965f542 100644
--- a/libopie2/opiepim/core/opimxrefmanager.cpp
+++ b/libopie2/opiepim/core/opimxrefmanager.cpp
@@ -7,4 +7,6 @@ OPimXRefManager::OPimXRefManager( const OPimXRefManager& ref) {
m_list = ref.m_list;
}
+OPimXRefManager::~OPimXRefManager() {
+}
OPimXRefManager &OPimXRefManager::operator=( const OPimXRefManager& ref) {
m_list = ref.m_list;
diff --git a/libopie2/opiepim/otodo.cpp b/libopie2/opiepim/otodo.cpp
index 4d5cb79..6fcf9f6 100644
--- a/libopie2/opiepim/otodo.cpp
+++ b/libopie2/opiepim/otodo.cpp
@@ -15,4 +15,6 @@
#include "opimstate.h"
#include "orecur.h"
+#include "opimmaintainer.h"
+
#include "otodo.h"
@@ -34,4 +36,5 @@ struct OTodo::OTodoData : public QShared {
OPimState state;
ORecur recur;
+ OPimMaintainer maintainer;
};
@@ -154,4 +157,7 @@ ORecur OTodo::recurrence()const {
return data->recur;
}
+OPimMaintainer OTodo::maintainer()const {
+ return data->maintainer;
+}
void OTodo::setCompleted( bool completed )
{
@@ -203,4 +209,8 @@ void OTodo::setRecurrence( const ORecur& rec) {
data->recur = rec;
}
+void OTodo::setMaintainer( const OPimMaintainer& pim ) {
+ changeOrModify();
+ data->maintainer = pim;
+}
bool OTodo::isOverdue( )
{
@@ -322,4 +332,6 @@ bool OTodo::operator==(const OTodo &toDoEvent )const
if ( data->alarmDateTime != toDoEvent.data->alarmDateTime )
return false;
+ if ( data->maintainer != toDoEvent.data->maintainer )
+ return false;
return OPimRecord::operator==( toDoEvent );
@@ -359,5 +371,5 @@ QMap<int, QString> OTodo::toMap() const {
map.insert( DateYear, QString::number( data->date.year() ) );
map.insert( Progress, QString::number( data->prog ) );
- map.insert( CrossReference, crossToString() );
+// map.insert( CrossReference, crossToString() );
map.insert( HasAlarmDateTime, QString::number( data->hasAlarmDateTime ) );
map.insert( AlarmDateTime, data->alarmDateTime.toString() );
@@ -383,4 +395,9 @@ void OTodo::changeOrModify() {
}
}
+// WATCHOUT
+/*
+ * if you add something to the Data struct
+ * be sure to copy it here
+ */
void OTodo::copy( OTodoData* src, OTodoData* dest ) {
dest->date = src->date;
@@ -396,4 +413,5 @@ void OTodo::copy( OTodoData* src, OTodoData* dest ) {
dest->state = src->state;
dest->recur = src->recur;
+ dest->maintainer = src->maintainer;
}
QString OTodo::type() const {
diff --git a/libopie2/opiepim/otodo.h b/libopie2/opiepim/otodo.h
index 2cdc587..70b0253 100644
--- a/libopie2/opiepim/otodo.h
+++ b/libopie2/opiepim/otodo.h
@@ -19,4 +19,5 @@
class OPimState;
class ORecur;
+class OPimMaintainer;
class OTodo : public OPimRecord {
public:
@@ -129,4 +130,9 @@ public:
/**
+ * the Maintainer of this OTodo
+ */
+ OPimMaintainer maintainer()const;
+
+ /**
* The description of the todo
*/
@@ -203,4 +209,10 @@ public:
*/
void setState( const OPimState& state);
+
+ /**
+ * set the Maintainer Mode
+ */
+ void setMaintainer( const OPimMaintainer& );
+
bool isOverdue();