summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/otodo.cpp
authorzecke <zecke>2002-11-30 11:28:47 (UTC)
committer zecke <zecke>2002-11-30 11:28:47 (UTC)
commit9b8b30fa6cbdf1424b29cde21fae112e8bf96e6d (patch) (side-by-side diff)
tree896dd858dc2ec2f0b7e1b265cae66ccceecc82da /libopie2/opiepim/otodo.cpp
parent599c58c6ab2ab936890cbbfa4e6299493c141f8a (diff)
downloadopie-9b8b30fa6cbdf1424b29cde21fae112e8bf96e6d.zip
opie-9b8b30fa6cbdf1424b29cde21fae112e8bf96e6d.tar.gz
opie-9b8b30fa6cbdf1424b29cde21fae112e8bf96e6d.tar.bz2
More infrastructure
ORecur has now the nextOccurence function exceptions We've now Notifers like Alarms and DatebookEntries we may add to execute applications... AppName replaced with service cause it is a service Add rtti to OPimRecord as a static function This is used inside the BackEnd classes to static_cast... added removeAllCompleted to the todobackends... add a common Opie PIM mainwindow which takes care of some simple scripting enchangements.. much more
Diffstat (limited to 'libopie2/opiepim/otodo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/otodo.cpp72
1 files changed, 35 insertions, 37 deletions
diff --git a/libopie2/opiepim/otodo.cpp b/libopie2/opiepim/otodo.cpp
index 6fcf9f6..ece624a 100644
--- a/libopie2/opiepim/otodo.cpp
+++ b/libopie2/opiepim/otodo.cpp
@@ -14,8 +14,9 @@
#include "opimstate.h"
#include "orecur.h"
#include "opimmaintainer.h"
+#include "opimnotifymanager.h"
#include "otodo.h"
@@ -30,13 +31,14 @@ struct OTodo::OTodoData : public QShared {
QString desc;
QString sum;
QMap<QString, QString> extra;
ushort prog;
- bool hasAlarmDateTime :1;
- QDateTime alarmDateTime;
OPimState state;
ORecur recur;
OPimMaintainer maintainer;
+ QDate start;
+ QDate completed;
+ OPimNotifyManager notifiers;
};
OTodo::OTodo(const OTodo &event )
: OPimRecord( event ), data( event.data )
@@ -72,10 +74,8 @@ OTodo::OTodo(bool completed, int priority,
data->priority = priority;
data->sum = summary;
data->prog = progress;
data->desc = Qtopia::simplifyMultiLineSpace(description );
- data->hasAlarmDateTime = false;
-
}
OTodo::OTodo(bool completed, int priority,
const QStringList &category,
const QString& summary,
@@ -95,10 +95,8 @@ OTodo::OTodo(bool completed, int priority,
data->priority = priority;
data->sum = summary;
data->prog = progress;
data->desc = Qtopia::simplifyMultiLineSpace(description );
- data->hasAlarmDateTime = false;
-
}
bool OTodo::match( const QRegExp &regExp )const
{
if( QString::number( data->priority ).find( regExp ) != -1 ){
@@ -119,11 +117,13 @@ bool OTodo::isCompleted() const
bool OTodo::hasDueDate() const
{
return data->hasDate;
}
-bool OTodo::hasAlarmDateTime() const
-{
- return data->hasAlarmDateTime;
+bool OTodo::hasStartDate()const {
+ return data->start.isValid();
+}
+bool OTodo::hasCompletedDate()const {
+ return data->completed.isValid();
}
int OTodo::priority()const
{
return data->priority;
@@ -139,14 +139,14 @@ ushort OTodo::progress() const
QDate OTodo::dueDate()const
{
return data->date;
}
-
-QDateTime OTodo::alarmDateTime() const
-{
- return data->alarmDateTime;
+QDate OTodo::startDate()const {
+ return data->start;
+}
+QDate OTodo::completedDate()const {
+ return data->completed;
}
-
QString OTodo::description()const
{
return data->desc;
}
@@ -168,13 +168,8 @@ void OTodo::setHasDueDate( bool hasDate )
{
changeOrModify();
data->hasDate = hasDate;
}
-void OTodo::setHasAlarmDateTime( bool hasAlarmDateTime )
-{
- changeOrModify();
- data->hasAlarmDateTime = hasAlarmDateTime;
-}
void OTodo::setDescription(const QString &desc )
{
// qWarning( "desc " + desc );
changeOrModify();
@@ -189,17 +184,20 @@ void OTodo::setPriority(int prio )
{
changeOrModify();
data->priority = prio;
}
-void OTodo::setDueDate( QDate date )
+void OTodo::setDueDate( const QDate& date )
{
changeOrModify();
data->date = date;
}
-void OTodo::setAlarmDateTime( const QDateTime& alarm )
-{
+void OTodo::setStartDate( const QDate& date ) {
changeOrModify();
- data->alarmDateTime = alarm;
+ data->start = date;
+}
+void OTodo::setCompletedDate( const QDate& date ) {
+ changeOrModify();
+ data->completed = date;
}
void OTodo::setState( const OPimState& state ) {
changeOrModify();
data->state = state;
@@ -253,20 +251,18 @@ QString OTodo::toRichText() const
text += "<b>" + QObject::tr( "Deadline:") + " </b>";
text += dueDate().toString();
text += "<br>";
}
- if (hasAlarmDateTime() ){
- text += "<b>" + QObject::tr( "Alarmed Notification:") + " </b>";
- text += alarmDateTime().toString();
- text += "<br>";
- }
text += "<b>" + QObject::tr( "Category:") + "</b> ";
text += categoryNames().join(", ");
text += "<br>";
return text;
}
+OPimNotifyManager& OTodo::notifiers() {
+ return data->notifiers;
+}
bool OTodo::operator<( const OTodo &toDoEvent )const{
if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
@@ -326,12 +322,8 @@ bool OTodo::operator==(const OTodo &toDoEvent )const
if ( data->hasDate != toDoEvent.data->hasDate ) return false;
if ( data->date != toDoEvent.data->date ) return false;
if ( data->sum != toDoEvent.data->sum ) return false;
if ( data->desc != toDoEvent.data->desc ) return false;
- if ( data->hasAlarmDateTime != toDoEvent.data->hasAlarmDateTime )
- return false;
- if ( data->alarmDateTime != toDoEvent.data->alarmDateTime )
- return false;
if ( data->maintainer != toDoEvent.data->maintainer )
return false;
return OPimRecord::operator==( toDoEvent );
@@ -370,11 +362,13 @@ QMap<int, QString> OTodo::toMap() const {
map.insert( DateMonth, QString::number( data->date.month() ) );
map.insert( DateYear, QString::number( data->date.year() ) );
map.insert( Progress, QString::number( data->prog ) );
// map.insert( CrossReference, crossToString() );
- map.insert( HasAlarmDateTime, QString::number( data->hasAlarmDateTime ) );
- map.insert( AlarmDateTime, data->alarmDateTime.toString() );
-
+ /* FIXME!!! map.insert( State, );
+ map.insert( Recurrence, );
+ map.insert( Reminders, );
+ map.
+ */
return map;
}
QMap<QString, QString> OTodo::toExtraMap()const {
@@ -407,17 +401,21 @@ void OTodo::copy( OTodoData* src, OTodoData* dest ) {
dest->desc = src->desc;
dest->sum = src->sum;
dest->extra = src->extra;
dest->prog = src->prog;
- dest->hasAlarmDateTime = src->hasAlarmDateTime;
- dest->alarmDateTime = src->alarmDateTime;
dest->state = src->state;
dest->recur = src->recur;
dest->maintainer = src->maintainer;
+ dest->start = src->start;
+ dest->completed = src->completed;
+ dest->notifiers = src->notifiers;
}
QString OTodo::type() const {
return QString::fromLatin1("OTodo");
}
QString OTodo::recordField(int /*id*/ )const {
return QString::null;
}
+int OTodo::rtti(){
+ return 1;
+}