• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 API Reference
  • KDE Home
  • Contact Us
 

KCalCore Library

  • KCalCore
  • RecurrenceRule
Classes | Public Types | Public Member Functions | List of all members
KCalCore::RecurrenceRule Class Reference

#include <recurrencerule.h>

Classes

class  WDayPos
 

Public Types

typedef QList< RecurrenceRule * > List
 
enum  PeriodType {
  rNone = 0 , rSecondly , rMinutely , rHourly ,
  rDaily , rWeekly , rMonthly , rYearly
}
 

Public Member Functions

 RecurrenceRule ()
 
 RecurrenceRule (const RecurrenceRule &r)
 
void addObserver (RuleObserver *observer)
 
bool allDay () const
 
const QList< WDayPos > & byDays () const
 
const QList< int > & byHours () const
 
const QList< int > & byMinutes () const
 
const QList< int > & byMonthDays () const
 
const QList< int > & byMonths () const
 
const QList< int > & bySeconds () const
 
const QList< int > & bySetPos () const
 
const QList< int > & byWeekNumbers () const
 
const QList< int > & byYearDays () const
 
void clear ()
 
bool dateMatchesRules (const KDateTime &dt) const
 
void dump () const
 
int duration () const
 
int durationTo (const KDateTime &dt) const
 
int durationTo (const QDate &date) const
 
KDateTime endDt (bool *result=0) const
 
uint frequency () const
 
KDateTime getNextDate (const KDateTime &preDateTime) const
 
KDateTime getPreviousDate (const KDateTime &afterDateTime) const
 
bool isReadOnly () const
 
bool operator!= (const RecurrenceRule &r) const
 
RecurrenceRule & operator= (const RecurrenceRule &r)
 
bool operator== (const RecurrenceRule &r) const
 
PeriodType recurrenceType () const
 
bool recurs () const
 
bool recursAt (const KDateTime &dt) const
 
bool recursOn (const QDate &date, const KDateTime::Spec &timeSpec) const
 
TimeList recurTimesOn (const QDate &date, const KDateTime::Spec &timeSpec) const
 
void removeObserver (RuleObserver *observer)
 
QString rrule () const
 
void setAllDay (bool allDay)
 
void setByDays (const QList< WDayPos > &byDays)
 
void setByHours (const QList< int > &byHours)
 
void setByMinutes (const QList< int > &byMinutes)
 
void setByMonthDays (const QList< int > &byMonthDays)
 
void setByMonths (const QList< int > &byMonths)
 
void setBySeconds (const QList< int > &bySeconds)
 
void setBySetPos (const QList< int > &bySetPos)
 
void setByWeekNumbers (const QList< int > &byWeekNumbers)
 
void setByYearDays (const QList< int > &byYearDays)
 
void setDirty ()
 
void setDuration (int duration)
 
void setEndDt (const KDateTime &endDateTime)
 
void setFrequency (int freq)
 
void setReadOnly (bool readOnly)
 
void setRecurrenceType (PeriodType period)
 
void setRRule (const QString &rrule)
 
void setStartDt (const KDateTime &start)
 
void setWeekStart (short weekStart)
 
void shiftTimes (const KDateTime::Spec &oldSpec, const KDateTime::Spec &newSpec)
 
KDateTime startDt () const
 
DateTimeList timesInInterval (const KDateTime &start, const KDateTime &end) const
 
short weekStart () const
 

Detailed Description

This class represents a recurrence rule for a calendar incidence.

Definition at line 43 of file recurrencerule.h.

Member Typedef Documentation

◆ List

typedef QList<RecurrenceRule*> KCalCore::RecurrenceRule::List

Definition at line 53 of file recurrencerule.h.

Member Enumeration Documentation

◆ PeriodType

enum KCalCore::RecurrenceRule::PeriodType

enum for describing the frequency how an event recurs, if at all.

Definition at line 56 of file recurrencerule.h.

Constructor & Destructor Documentation

◆ RecurrenceRule() [1/2]

RecurrenceRule::RecurrenceRule ( )

/************************************************************************** RecurrenceRule *

Definition at line 900 of file recurrencerule.cpp.

◆ RecurrenceRule() [2/2]

RecurrenceRule::RecurrenceRule ( const RecurrenceRule & r)

Definition at line 905 of file recurrencerule.cpp.

◆ ~RecurrenceRule()

RecurrenceRule::~RecurrenceRule ( )

Definition at line 910 of file recurrencerule.cpp.

Member Function Documentation

◆ addObserver()

void RecurrenceRule::addObserver ( RuleObserver * observer)

Installs an observer.

Whenever some setting of this recurrence object is changed, the recurrenceUpdated( Recurrence* ) method of each observer will be called to inform it of changes.

Parameters
observerthe Recurrence::Observer-derived object, which will be installed as an observer of this object.

Definition at line 932 of file recurrencerule.cpp.

◆ allDay()

bool RecurrenceRule::allDay ( ) const

Returns whether the start date has no time associated.

All-Day means – according to rfc2445 – that the event has no time associate.

Definition at line 2187 of file recurrencerule.cpp.

◆ byDays()

const QList< RecurrenceRule::WDayPos > & RecurrenceRule::byDays ( ) const

Definition at line 2207 of file recurrencerule.cpp.

◆ byHours()

const QList< int > & RecurrenceRule::byHours ( ) const

Definition at line 2202 of file recurrencerule.cpp.

◆ byMinutes()

const QList< int > & RecurrenceRule::byMinutes ( ) const

Definition at line 2197 of file recurrencerule.cpp.

◆ byMonthDays()

const QList< int > & RecurrenceRule::byMonthDays ( ) const

Definition at line 2212 of file recurrencerule.cpp.

◆ byMonths()

const QList< int > & RecurrenceRule::byMonths ( ) const

Definition at line 2227 of file recurrencerule.cpp.

◆ bySeconds()

const QList< int > & RecurrenceRule::bySeconds ( ) const

Definition at line 2192 of file recurrencerule.cpp.

◆ bySetPos()

const QList< int > & RecurrenceRule::bySetPos ( ) const

Definition at line 2232 of file recurrencerule.cpp.

◆ byWeekNumbers()

const QList< int > & RecurrenceRule::byWeekNumbers ( ) const

Definition at line 2222 of file recurrencerule.cpp.

◆ byYearDays()

const QList< int > & RecurrenceRule::byYearDays ( ) const

Definition at line 2217 of file recurrencerule.cpp.

◆ clear()

void RecurrenceRule::clear ( )

Turns off recurrence for the event.

Definition at line 1014 of file recurrencerule.cpp.

◆ dateMatchesRules()

bool RecurrenceRule::dateMatchesRules ( const KDateTime & dt) const

Returns true if the date matches the rules.

It does not necessarily mean that this is an actual occurrence. In particular, the method does not check if the date is after the end date, or if the frequency interval matches.

Parameters
dtthe date+time to check for matching the rules

Definition at line 1380 of file recurrencerule.cpp.

◆ dump()

void RecurrenceRule::dump ( ) const

Debug output.

Definition at line 2050 of file recurrencerule.cpp.

◆ duration()

int RecurrenceRule::duration ( ) const

Returns -1 if the event recurs infinitely, 0 if the end date is set, otherwise the total number of recurrences, including the initial occurrence.

Definition at line 2157 of file recurrencerule.cpp.

◆ durationTo() [1/2]

int RecurrenceRule::durationTo ( const KDateTime & dt) const

Returns the number of recurrences up to and including the date/time specified.

Definition at line 1582 of file recurrencerule.cpp.

◆ durationTo() [2/2]

int RecurrenceRule::durationTo ( const QDate & date) const

Returns the number of recurrences up to and including the date specified.

Definition at line 1604 of file recurrencerule.cpp.

◆ endDt()

KDateTime RecurrenceRule::endDt ( bool * result = 0) const

Returns the date and time of the last recurrence.

An invalid date is returned if the recurrence has no end.

Parameters
resultif non-null, *result is updated to true if successful, or false if there is no recurrence or its end date cannot be determined.

Definition at line 955 of file recurrencerule.cpp.

◆ frequency()

uint RecurrenceRule::frequency ( ) const

Returns the recurrence frequency, in terms of the recurrence time period type.

Definition at line 2152 of file recurrencerule.cpp.

◆ getNextDate()

KDateTime RecurrenceRule::getNextDate ( const KDateTime & preDateTime) const

Returns the date and time of the next recurrence, after the specified date/time.

If the recurrence has no time, the next date after the specified date is returned.

Parameters
preDateTimethe date/time after which to find the recurrence.
Returns
date/time of next recurrence, or invalid date if none.

Definition at line 1675 of file recurrencerule.cpp.

◆ getPreviousDate()

KDateTime RecurrenceRule::getPreviousDate ( const KDateTime & afterDateTime) const

Returns the date and time of the last previous recurrence, before the specified date/time.

If a time later than 00:00:00 is specified and the recurrence has no time, 00:00:00 on the specified date is returned if that date recurs.

Parameters
afterDateTimethe date/time before which to find the recurrence.
Returns
date/time of previous recurrence, or invalid date if none.

Definition at line 1609 of file recurrencerule.cpp.

◆ isReadOnly()

bool RecurrenceRule::isReadOnly ( ) const

Returns true if the recurrence is read-only; false if it can be changed.

Definition at line 2172 of file recurrencerule.cpp.

◆ operator!=()

bool KCalCore::RecurrenceRule::operator!= ( const RecurrenceRule & r) const
inline

Definition at line 96 of file recurrencerule.h.

◆ operator=()

RecurrenceRule & RecurrenceRule::operator= ( const RecurrenceRule & r)

Definition at line 920 of file recurrencerule.cpp.

◆ operator==()

bool RecurrenceRule::operator== ( const RecurrenceRule & r) const

Definition at line 915 of file recurrencerule.cpp.

◆ recurrenceType()

RecurrenceRule::PeriodType RecurrenceRule::recurrenceType ( ) const

Definition at line 2147 of file recurrencerule.cpp.

◆ recurs()

bool RecurrenceRule::recurs ( ) const

Returns the event's recurrence status.

See the enumeration at the top of this file for possible values.

Definition at line 2182 of file recurrencerule.cpp.

◆ recursAt()

bool RecurrenceRule::recursAt ( const KDateTime & dt) const

Returns true if the date/time specified is one at which the event will recur.

Times are rounded down to the nearest minute to determine the result. The start date/time returns true only if it actually matches the rule.

Parameters
dtthe date+time to check for recurrency

Definition at line 1530 of file recurrencerule.cpp.

◆ recursOn()

bool RecurrenceRule::recursOn ( const QDate & date,
const KDateTime::Spec & timeSpec ) const

Returns true if the date specified is one on which the event will recur.

The start date returns true only if it actually matches the rule.

Parameters
datedate to check
timeSpectime specification for date

Definition at line 1391 of file recurrencerule.cpp.

◆ recurTimesOn()

TimeList RecurrenceRule::recurTimesOn ( const QDate & date,
const KDateTime::Spec & timeSpec ) const

Returns a list of the times on the specified date at which the recurrence will occur.

The returned times should be interpreted in the context of timeSpec.

Parameters
datethe date for which to find the recurrence times
timeSpectime specification for date

Definition at line 1566 of file recurrencerule.cpp.

◆ removeObserver()

void RecurrenceRule::removeObserver ( RuleObserver * observer)

Removes an observer that was added with addObserver.

If the given object was not an observer, it does nothing.

Parameters
observerthe Recurrence::Observer-derived object to be removed from the list of observers of this object.

Definition at line 939 of file recurrencerule.cpp.

◆ rrule()

QString RecurrenceRule::rrule ( ) const

Definition at line 2162 of file recurrencerule.cpp.

◆ setAllDay()

void RecurrenceRule::setAllDay ( bool allDay)

Sets whether the dtstart is all-day (i.e.

has no time attached)

Parameters
allDayWhether start datetime is all-day

Definition at line 1005 of file recurrencerule.cpp.

◆ setByDays()

void RecurrenceRule::setByDays ( const QList< WDayPos > & byDays)

Definition at line 1069 of file recurrencerule.cpp.

◆ setByHours()

void RecurrenceRule::setByHours ( const QList< int > & byHours)

Definition at line 1060 of file recurrencerule.cpp.

◆ setByMinutes()

void RecurrenceRule::setByMinutes ( const QList< int > & byMinutes)

Definition at line 1051 of file recurrencerule.cpp.

◆ setByMonthDays()

void RecurrenceRule::setByMonthDays ( const QList< int > & byMonthDays)

Definition at line 1078 of file recurrencerule.cpp.

◆ setByMonths()

void RecurrenceRule::setByMonths ( const QList< int > & byMonths)

Definition at line 1105 of file recurrencerule.cpp.

◆ setBySeconds()

void RecurrenceRule::setBySeconds ( const QList< int > & bySeconds)

Definition at line 1042 of file recurrencerule.cpp.

◆ setBySetPos()

void RecurrenceRule::setBySetPos ( const QList< int > & bySetPos)

Definition at line 1114 of file recurrencerule.cpp.

◆ setByWeekNumbers()

void RecurrenceRule::setByWeekNumbers ( const QList< int > & byWeekNumbers)

Definition at line 1096 of file recurrencerule.cpp.

◆ setByYearDays()

void RecurrenceRule::setByYearDays ( const QList< int > & byYearDays)

Definition at line 1087 of file recurrencerule.cpp.

◆ setDirty()

void RecurrenceRule::setDirty ( )

Definition at line 1019 of file recurrencerule.cpp.

◆ setDuration()

void RecurrenceRule::setDuration ( int duration)

Sets the total number of times the event is to occur, including both the first and last.

Definition at line 996 of file recurrencerule.cpp.

◆ setEndDt()

void RecurrenceRule::setEndDt ( const KDateTime & endDateTime)

Sets the date and time of the last recurrence.

Parameters
endDateTimethe ending date/time after which to stop recurring.

Definition at line 986 of file recurrencerule.cpp.

◆ setFrequency()

void RecurrenceRule::setFrequency ( int freq)

Sets the recurrence frequency, in terms of the recurrence time period type.

Definition at line 1033 of file recurrencerule.cpp.

◆ setReadOnly()

void RecurrenceRule::setReadOnly ( bool readOnly)

Set if recurrence is read-only or can be changed.

Definition at line 2177 of file recurrencerule.cpp.

◆ setRecurrenceType()

void RecurrenceRule::setRecurrenceType ( PeriodType period)

Definition at line 946 of file recurrencerule.cpp.

◆ setRRule()

void RecurrenceRule::setRRule ( const QString & rrule)

Set the RRULE string for the rule.

This is merely stored for future reference. The string is not used in any way by the RecurrenceRule.

Parameters
rrulethe RRULE string

Definition at line 2167 of file recurrencerule.cpp.

◆ setStartDt()

void RecurrenceRule::setStartDt ( const KDateTime & start)

Sets the recurrence start date/time.

Note that setting the start date/time does not make the recurrence occur on that date/time, it simply sets a lower limit to when the recurrences take place (this applies only for the by- rules, not for i.e. an hourly rule where the startDt is the first occurrence).

Note that setting start to a date-only value does not make an all-day recurrence: to do this, call setAllDay(true).

Parameters
startthe recurrence's start date and time

Definition at line 1024 of file recurrencerule.cpp.

◆ setWeekStart()

void RecurrenceRule::setWeekStart ( short weekStart)

Definition at line 1123 of file recurrencerule.cpp.

◆ shiftTimes()

void RecurrenceRule::shiftTimes ( const KDateTime::Spec & oldSpec,
const KDateTime::Spec & newSpec )

Shift the times of the rule so that they appear at the same clock time as before but in a new time zone.

The shift is done from a viewing time zone rather than from the actual rule time zone.

For example, shifting a rule whose start time is 09:00 America/New York, using an old viewing time zone (oldSpec) of Europe/London, to a new time zone (newSpec) of Europe/Paris, will result in the time being shifted from 14:00 (which is the London time of the rule start) to 14:00 Paris time.

Parameters
oldSpecthe time specification which provides the clock times
newSpecthe new time specification

Definition at line 1132 of file recurrencerule.cpp.

◆ startDt()

KDateTime RecurrenceRule::startDt ( ) const

Returns the recurrence start date/time.

Note that the recurrence does not necessarily occur on the start date/time. For this to happen, it must actually match the rule.

Definition at line 2142 of file recurrencerule.cpp.

◆ timesInInterval()

DateTimeList RecurrenceRule::timesInInterval ( const KDateTime & start,
const KDateTime & end ) const

Returns a list of all the times at which the recurrence will occur between two specified times.

There is a (large) maximum limit to the number of times returned. If due to this limit the list is incomplete, this is indicated by the last entry being set to an invalid KDateTime value. If you need further values, call the method again with a start time set to just after the last valid time returned.

Parameters
startinclusive start of interval
endinclusive end of interval
Returns
list of date/time values

Definition at line 1738 of file recurrencerule.cpp.

◆ weekStart()

short RecurrenceRule::weekStart ( ) const

Definition at line 2237 of file recurrencerule.cpp.


The documentation for this class was generated from the following files:
  • recurrencerule.h
  • recurrencerule.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KCalCore Library

Skip menu "KCalCore Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal