summaryrefslogtreecommitdiffstats
path: root/kpilot/lib/pilotDateEntry.h
diff options
context:
space:
mode:
Diffstat (limited to 'kpilot/lib/pilotDateEntry.h')
-rw-r--r--kpilot/lib/pilotDateEntry.h388
1 files changed, 0 insertions, 388 deletions
diff --git a/kpilot/lib/pilotDateEntry.h b/kpilot/lib/pilotDateEntry.h
deleted file mode 100644
index 43601013d..000000000
--- a/kpilot/lib/pilotDateEntry.h
+++ /dev/null
@@ -1,388 +0,0 @@
-#ifndef _KPILOT_PILOTDATEENTRY_H
-#define _KPILOT_PILOTDATEENTRY_H
-/* pilotDateEntry.h -*- C++ -*- KPilot
-**
-** Copyright (C) 1998-2001 by Dan Pilone
-** Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
-**
-** See the .cc file for an explanation of what this file is for.
-*/
-
-/** @file pilotDateEntry.h defines a wrapper for datebook entries. */
-
-/*
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU Lesser General Public License as published by
-** the Free Software Foundation; either version 2.1 of the License, or
-** (at your option) any later version.
-**
-** 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 Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program in a file called COPYING; if not, write to
-** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-** MA 02110-1301, USA.
-*/
-
-/*
-** Bug reports and questions can be sent to kde-pim@kde.org
-*/
-
-#include <pi-macros.h>
-#include <pi-datebook.h>
-
-#include <tqbitarray.h>
-#include <tqdatetime.h>
-#include <tqnamespace.h>
-
-#include "pilotRecord.h"
-#include "pilotAppInfo.h"
-
-namespace KCal
-{
-class Event;
-}
-
-/** Interpreted form of the AppInfo block in the datebook database. */
-typedef PilotAppInfo<
- AppointmentAppInfo,
- unpack_AppointmentAppInfo,
- pack_AppointmentAppInfo> PilotDateInfo_;
-
-
-class PilotDateInfo : public PilotDateInfo_
-{
-public:
- PilotDateInfo(PilotDatabase *d) : PilotDateInfo_(d)
- {
- }
-
- /** This resets the entire AppInfo block to one as it would be
- * in an English-language handheld, with 3 categories and
- * default field labels for everything.
- */
- void resetToDefault();
-
-};
-
-/** This class is a wrapper for pilot-link's datebook entries (struct Appointment). */
-class KDE_EXPORT PilotDateEntry : public PilotRecordBase
-{
-public:
- /** Constructor. Zeroes out the appointment. */
- PilotDateEntry();
-
- /** Constructor. Interprets the given record as an appointment. */
- PilotDateEntry(PilotRecord *rec);
-
- /** Copy constructor. */
- PilotDateEntry(const PilotDateEntry &e);
-
- /** Destructor. */
- ~PilotDateEntry()
- {
- free_Appointment(&fAppointmentInfo);
- }
-
- /** Assignment operator. */
- PilotDateEntry& operator=(const PilotDateEntry &e);
-
- /** Create a textual representation (human-readable) of this appointment.
- * If @p richText is true, then the text representation uses qt style
- * tags as well.
- */
- TQString getTextRepresentation(Qt::TextFormat richText);
-
- /** Is this appointment a "floating" appointment?
- *
- * Floating appointments are those that have a day assigned, but no time
- * in that day (birthday appointments are like that). You can think of these
- * as "events", which don't have a time associated with them for a given day,
- * as opposed to a regular "appointment", which does normally have a time
- * associated with it.
- */
- inline bool doesFloat() const
- {
- return fAppointmentInfo.event;
- }
-
- /** Is this a non-time-related event as opposed to an appointment that has a
- * time associated with it?.
- */
- inline bool isEvent() const
- {
- return doesFloat();
- }
-
- /** Sets this appointment's floating status.
- *
- * Floating appointments are those that have a day assigned, but no time
- * in that day (birthday appointments are like that). You can think of these
- * as "events", which don't have a time associated with them for a given day,
- * as opposed to a regular "appointment", which does normally have a time
- * associated with it.
- */
- inline void setFloats(bool f)
- {
- fAppointmentInfo.event = (f ? 1 : 0) /* Force 1 or 0 */ ;
- }
-
- /** Get the start time of this appointment. See dtStart() for caveats. */
- inline struct tm getEventStart() const { return fAppointmentInfo.begin; }
-
- /** Get a pointer to the start time of this appointment. See dtStart() for caveats. */
- inline const struct tm *getEventStart_p() const
- {
- return &fAppointmentInfo.begin;
- }
-
- /** Sets the start time of this appointment. */
- inline void setEventStart(struct tm& start)
- {
- fAppointmentInfo.begin = start;
- }
-
- /** Get the start time of this appointment. For floating appointments, the
- * time is undefined (perhaps 1 minute past midnight).
- *
- * Floating appointments are those that have a day assigned, but no time
- * in that day (birthday appointments are like that).
- */
- TQDateTime dtStart() const;
-
- /** Get the end time of this appointment. See dtEnd() for caveats. */
- inline struct tm getEventEnd() const
- {
- return fAppointmentInfo.end;
- }
-
- /** Get a pointer to the end time of this appointment. See dtEnd() for caveats. */
- inline const struct tm *getEventEnd_p() const
- {
- return &fAppointmentInfo.end;
- }
-
- /** Set the end time of this appointment. */
- inline void setEventEnd(struct tm& end)
- {
- fAppointmentInfo.end = end;
- }
-
- /** Get the end time of this appointment. For floating appointments, the
- * time is undefined (perhaps 1 minute past midnight).
- *
- * Floating appointments are those that have a day assigned, but no time
- * in that day (birthday appointments are like that).
- */
- TQDateTime dtEnd() const;
-
- /** Does this appointment have an alarm set? On the Pilot, an event
- * may have an alarm (or not). If it has one, it is also enabled and
- * causes the Pilot to beep (or whatever is set in the system preferences).
- */
- inline bool isAlarmEnabled() const
- {
- return fAppointmentInfo.alarm;
- }
-
- /** Set whether this appointment has an alarm. */
- inline void setAlarmEnabled(bool b)
- {
- fAppointmentInfo.alarm = (b?1:0) /* Force to known int values */ ;
- }
-
- /** Get the numeric part of "alarm: __ (v) minutes" on the pilot -- you
- * set the alarm time in two parts, a number and a unit type to use; unit
- * types are minutes, hours, days and the number is whatever you like.
- *
- * If alarms are not enabled for this appointment, returns garbage.
- *
- * @see alarmLeadTime()
- * @see dtAlarm()
- */
- inline int getAdvance() const
- {
- return fAppointmentInfo.advance;
- }
-
- /** Set the numeric part of the alarm setting. See getAdvance for details. */
- inline void setAdvance(int advance)
- {
- fAppointmentInfo.advance = advance;
- }
-
- /** Returns the units part of the alarm time. See getAdvance . */
- inline int getAdvanceUnits() const
- {
- return fAppointmentInfo.advanceUnits;
- }
-
- /** Sets the unites part of the alarm time. See getAdvance . */
- inline void setAdvanceUnits(int units)
- {
- fAppointmentInfo.advanceUnits = units;
- }
-
- /** Returns the number of @em seconds "lead time" the alarm should sound
- * before the actual appointment. This interprets the advance number and units.
- * The value is always positive, 0 if no alarms are enabled.
- */
- unsigned int alarmLeadTime() const;
-
- /** Returns the absolute date and time that the alarm should sound for
- * this appointment.
- */
- inline TQDateTime dtAlarm() const
- {
- return dtStart().addSecs(-alarmLeadTime());
- }
-
- // The following need set routines written
- inline repeatTypes getRepeatType() const
- {
- return fAppointmentInfo.repeatType;
- }
- inline void setRepeatType(repeatTypes r)
- {
- fAppointmentInfo.repeatType = r;
- }
-
- inline int getRepeatForever() const
- {
- return fAppointmentInfo.repeatForever;
- }
- inline void setRepeatForever(int f = 1)
- {
- fAppointmentInfo.repeatForever = f;
- }
-
- inline struct tm getRepeatEnd() const
- {
- return fAppointmentInfo.repeatEnd;
- }
- inline void setRepeatEnd(struct tm tm)
- {
- fAppointmentInfo.repeatEnd = tm;
- }
-
- /** Returns the date and time that the repeat ends. If there is no repeat,
- * returns an invalid date and time.
- */
- TQDateTime dtRepeatEnd() const;
-
- inline int getRepeatFrequency() const
- {
- return fAppointmentInfo.repeatFrequency;
- }
- inline void setRepeatFrequency(int f)
- {
- fAppointmentInfo.repeatFrequency = f;
- }
-
- inline DayOfMonthType getRepeatDay() const
- {
- return fAppointmentInfo.repeatDay;
- }
- inline void setRepeatDay(DayOfMonthType rd)
- {
- fAppointmentInfo.repeatDay = rd;
- };
-
- inline const int *getRepeatDays() const
- {
- return fAppointmentInfo.repeatDays;
- }
- inline void setRepeatDays(int *rd)
- {
- for (int i = 0; i < 7; i++)
- {
- fAppointmentInfo.repeatDays[i] = rd[i];
- }
- }
- inline void setRepeatDays(TQBitArray rba)
- {
- for (int i = 0; i < 7; i++)
- {
- fAppointmentInfo.repeatDays[i] = (rba[i] ? 1 : 0);
- }
- }
-
- inline int getExceptionCount() const
- {
- return fAppointmentInfo.exceptions;
- }
- inline void setExceptionCount(int e)
- {
- fAppointmentInfo.exceptions = e;
- }
-
- inline const struct tm *getExceptions() const
- {
- return fAppointmentInfo.exception;
- }
- void setExceptions(struct tm *e);
-
- /** Sets the description of the appointment. This is the short string
- * entered in the day view on the handheld, and it is called the summary
- * in libkcal.
- */
- void setDescription(const TQString &);
- /** Gets the description of the appointment. See setDescription for meaning. */
- TQString getDescription() const;
-
- /** Sets the note for the appointment. The note is the long text entry
- * that is possible - but clumsy - on the handheld. It is called the
- * description in libkcal.
- */
- void setNote(const TQString &);
- /** Gets the note for this appointment. See setNote for meaning. */
- TQString getNote() const;
-
- /**
- * Sets the location for the appointment. For now it will be placed within
- * the notes on the handheld. It will be placed on one line and starts with:
- * Location: {location}. Everything on that line will be counted as location.
- * TODO: Make distinguish between handhelds that support the location field
- * and the ones that don't. (Shouldn't this be done in the pilot-link lib?)
- */
- void setLocation(const TQString &);
-
- /** Gets the location for this appointment. See setNote for meaning. */
- TQString getLocation() const;
-
-protected:
- void setDescriptionP(const char* desc, int l=-1);
- const char* getDescriptionP() const
- {
- return fAppointmentInfo.description;
- }
-
- void setNoteP(const char* note, int l=-1);
- const char* getNoteP() const
- {
- return fAppointmentInfo.note;
- }
-
-public:
- bool isMultiDay() const
- {
- return ((fAppointmentInfo.repeatType == repeatDaily) &&
- (fAppointmentInfo.repeatFrequency == 1) &&
- ( !getRepeatForever() ) &&
- !doesFloat() );
- }
-
- PilotRecord *pack() const;
-
-private:
- struct Appointment fAppointmentInfo;
- void _copyExceptions(const PilotDateEntry &e);
-};
-
-
-
-#endif
-