summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/oevent.h
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim/oevent.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/oevent.h165
1 files changed, 86 insertions, 79 deletions
diff --git a/libopie2/opiepim/oevent.h b/libopie2/opiepim/oevent.h
index 9502efa..dc5e4d6 100644
--- a/libopie2/opiepim/oevent.h
+++ b/libopie2/opiepim/oevent.h
@@ -1,268 +1,275 @@
/*
This file is part of the Opie Project
- Copyright (C) Stefan Eilers (Eilers.Stefan@epost.de)
+ Copyright (C) Stefan Eilers <Eilers.Stefan@epost.de>
=. Copyright (C) The Opie Team <opie-devel@handhelds.org>
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. This program is distributed in the hope that
+ . -:. = it will be useful, but WITHOUT ANY WARRANTY;
: .. .:, . . . without even the implied warranty of
=_ + =;=|` MERCHANTABILITY or FITNESS FOR A
_.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
// CONTAINS GPLed code of TT
-#ifndef OPIE_PIM_EVENT_H
-#define OPIE_PIM_EVENT_H
-
-#include <qstring.h>
-#include <qdatetime.h>
-#include <qvaluelist.h>
+#ifndef OEVENT_H
+#define OEVENT_H
+/* OPIE */
+#include <opie2/otimezone.h>
+#include <opie2/opimrecord.h>
#include <qpe/recordfields.h>
#include <qpe/palmtopuidgen.h>
-#include <opie2/otimezone.h>
-#include <opie2/opimrecord.h>
+/* QT */
+#include <qstring.h>
+#include <qdatetime.h>
+#include <qvaluelist.h>
-namespace Opie {
-struct OCalendarHelper {
+namespace Opie
+{
+struct OCalendarHelper
+{
/** calculate the week number of the date */
static int week( const QDate& );
/** calculate the occurence of week days since the start of the month */
static int ocurrence( const QDate& );
// returns the dayOfWeek for the *first* day it finds (ignores
// any further days!). Returns 1 (Monday) if there isn't any day found
static int dayOfWeek( char day );
/** returns the diff of month */
static int monthDiff( const QDate& first, const QDate& second );
};
class OPimNotifyManager;
class ORecur;
/**
* This is the container for all Events. It encapsules all
* available information for a single Event
* @short container for events.
*/
-class OEvent : public OPimRecord {
-public:
+class OEvent : public OPimRecord
+{
+ public:
typedef QValueList<OEvent> ValueList;
/**
* RecordFields contain possible attributes
* used in the Results of toMap()..
*/
enum RecordFields {
FUid = Qtopia::UID_ID,
FCategories = Qtopia::CATEGORY_ID,
FDescription = 0,
FLocation,
- FType,
- FAlarm,
- FSound,
- FRType,
- FRWeekdays,
- FRPosition,
- FRFreq,
- FRHasEndDate,
- FREndDate,
- FRCreated,
- FRExceptions,
- FStart,
- FEnd,
- FNote,
+ FType,
+ FAlarm,
+ FSound,
+ FRType,
+ FRWeekdays,
+ FRPosition,
+ FRFreq,
+ FRHasEndDate,
+ FREndDate,
+ FRCreated,
+ FRExceptions,
+ FStart,
+ FEnd,
+ FNote,
FTimeZone,
FRecParent,
FRecChildren,
};
/**
* Start with an Empty OEvent. UID == 0 means that it is empty
*/
- OEvent(int uid = 0);
+ OEvent( int uid = 0 );
/**
* copy c'tor
*/
OEvent( const OEvent& );
/**
* Create OEvent, initialized by map
* @see enum RecordFields
*/
OEvent( const QMap<int, QString> map );
~OEvent();
OEvent &operator=( const OEvent& );
- QString description()const;
+ QString description() const;
void setDescription( const QString& description );
- QString location()const;
- void setLocation( const QString& loc );
+ QString location() const;
+ void setLocation( const QString& loc );
- bool hasNotifiers()const;
- OPimNotifyManager &notifiers()const;
+ bool hasNotifiers() const;
+ OPimNotifyManager &notifiers() const;
- ORecur recurrence()const;
+ ORecur recurrence() const;
void setRecurrence( const ORecur& );
- bool hasRecurrence()const;
+ bool hasRecurrence() const;
- QString note()const;
+ QString note() const;
void setNote( const QString& note );
- QDateTime createdDateTime()const;
- void setCreatedDateTime( const QDateTime& dt);
+ QDateTime createdDateTime() const;
+ void setCreatedDateTime( const QDateTime& dt );
/** set the date to dt. dt is the QDateTime in localtime */
void setStartDateTime( const QDateTime& );
/** returns the datetime in the local timeZone */
- QDateTime startDateTime()const;
+ QDateTime startDateTime() const;
/** returns the start datetime in the current zone */
- QDateTime startDateTimeInZone()const;
+ QDateTime startDateTimeInZone() const;
/** in current timezone */
void setEndDateTime( const QDateTime& );
/** in current timezone */
- QDateTime endDateTime()const;
- QDateTime endDateTimeInZone()const;
+ QDateTime endDateTime() const;
+ QDateTime endDateTimeInZone() const;
- bool isMultipleDay()const;
- bool isAllDay()const;
+ bool isMultipleDay() const;
+ bool isAllDay() const;
void setAllDay( bool isAllDay );
/* pin this event to a timezone! FIXME */
void setTimeZone( const QString& timeZone );
- QString timeZone()const;
+ QString timeZone() const;
- virtual bool match( const QRegExp& )const;
+ virtual bool match( const QRegExp& ) const;
/** For exception to recurrence here is a list of children... */
- QArray<int> children()const;
+ QArray<int> children() const;
void setChildren( const QArray<int>& );
void addChild( int uid );
void removeChild( int uid );
/** return the parent OEvent */
- int parent()const;
+ int parent() const;
void setParent( int uid );
/* needed reimp */
- QString toRichText()const;
- QString toShortText()const;
- QString type()const;
+ QString toRichText() const;
+ QString toShortText() const;
+ QString type() const;
- QMap<int, QString> toMap()const;
+ QMap<int, QString> toMap() const;
void fromMap( const QMap<int, QString>& map );
- QString recordField(int )const;
+ QString recordField( int ) const;
static int rtti();
bool loadFromStream( QDataStream& );
- bool saveToStream( QDataStream& )const;
-
-/* bool operator==( const OEvent& );
- bool operator!=( const OEvent& );
- bool operator<( const OEvent& );
- bool operator<=( const OEvent& );
- bool operator>( const OEvent& );
- bool operator>=(const OEvent& );
-*/
-private:
+ bool saveToStream( QDataStream& ) const;
+
+ /* bool operator==( const OEvent& );
+ bool operator!=( const OEvent& );
+ bool operator<( const OEvent& );
+ bool operator<=( const OEvent& );
+ bool operator>( const OEvent& );
+ bool operator>=(const OEvent& );
+ */
+
+ private:
inline void changeOrModify();
void deref();
struct Data;
Data* data;
class Private;
Private* priv;
};
/**
* AN Event can span through multiple days. We split up a multiday eve
*/
-class OEffectiveEvent {
-public:
+class OEffectiveEvent
+{
+
+ public:
typedef QValueList<OEffectiveEvent> ValueList;
enum Position { MidWay, Start, End, StartEnd };
- // If we calculate the effective event of a multi-day event
+ // If we calculate the effective event of a multi-day event
// we have to figure out whether we are at the first day,
// at the end, or anywhere else ("middle"). This is important
// for the start/end times (00:00/23:59)
// MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi-
// day event
// Start: start time -> 23:59
// End: 00:00 -> end time
// Start | End == StartEnd: for single-day events (default)
// here we draw start time -> end time
OEffectiveEvent();
OEffectiveEvent( const OEvent& event, const QDate& startDate, Position pos = StartEnd );
OEffectiveEvent( const OEffectiveEvent& );
- OEffectiveEvent &operator=(const OEffectiveEvent& );
+ OEffectiveEvent &operator=( const OEffectiveEvent& );
~OEffectiveEvent();
void setStartTime( const QTime& );
void setEndTime( const QTime& );
void setEvent( const OEvent& );
void setDate( const QDate& );
void setEffectiveDates( const QDate& from, const QDate& to );
- QString description()const;
- QString location()const;
- QString note()const;
- OEvent event()const;
- QTime startTime()const;
- QTime endTime()const;
- QDate date()const;
+ QString description() const;
+ QString location() const;
+ QString note() const;
+ OEvent event() const;
+ QTime startTime() const;
+ QTime endTime() const;
+ QDate date() const;
/* return the length in hours */
- int length()const;
- int size()const;
+ int length() const;
+ int size() const;
- QDate startDate()const;
- QDate endDate()const;
+ QDate startDate() const;
+ QDate endDate() const;
bool operator<( const OEffectiveEvent &e ) const;
bool operator<=( const OEffectiveEvent &e ) const;
bool operator==( const OEffectiveEvent &e ) const;
bool operator!=( const OEffectiveEvent &e ) const;
bool operator>( const OEffectiveEvent &e ) const;
bool operator>= ( const OEffectiveEvent &e ) const;
-private:
+ private:
void deref();
inline void changeOrModify();
class Private;
Private* priv;
struct Data;
Data* data;
};
}
#endif