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

KCalCore Library

  • kcalcore
compat.h
Go to the documentation of this file.
1/*
2 This file is part of the kcalcore library.
3
4 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
5 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6 Copyright (C) 2012 Christian Mollekopf <mollekopf@kolabsys.com>
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details.
17
18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA.
22*/
32#ifndef KCALCORE_COMPAT_P_H
33#define KCALCORE_COMPAT_P_H
34
35#include "incidence.h"
36
37#include <QtCore/QtGlobal> // for Q_DISABLE_COPY()
38
39class QDate;
40class QString;
41
42namespace KCalCore {
43
44class Compat;
45
52class CompatFactory
53{
54public:
62 static Compat *createCompat(const QString &productId, const QString &implementationVersion);
63};
64
71class Compat
72{
73public:
77 Compat();
78
82 virtual ~Compat();
83
89 virtual void fixRecurrence(const Incidence::Ptr &incidence);
90
96 virtual void fixEmptySummary(const Incidence::Ptr &incidence);
97
103 virtual void fixAlarms(const Incidence::Ptr &incidence);
104
109 virtual void fixFloatingEnd(QDate &date);
110
116 virtual int fixPriority(int priority);
117
121 virtual bool useTimeZoneShift();
122
126 virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
127
128private:
129 //@cond PRIVATE
130 Q_DISABLE_COPY(Compat)
131 class Private;
132 Private *d;
133 //@endcond
134};
135
140class CompatDecorator : public Compat
141{
142public:
143 explicit CompatDecorator(Compat *decoratedCompat);
144 virtual ~CompatDecorator();
145
150 virtual void fixRecurrence(const Incidence::Ptr &incidence);
151
156 virtual void fixEmptySummary(const Incidence::Ptr &incidence);
157
162 virtual void fixAlarms(const Incidence::Ptr &incidence);
163
168 virtual void fixFloatingEnd(QDate &date);
169
174 virtual int fixPriority(int priority);
175
180 virtual bool useTimeZoneShift();
181
186 virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
187
188private:
189 //@cond PRIVATE
190 Q_DISABLE_COPY(CompatDecorator)
191 class Private;
192 Private *d;
193 //@endcond
194};
195
206class CompatPre35 : public Compat
207{
208public:
213 virtual void fixRecurrence(const Incidence::Ptr &incidence);
214
215private:
216 //@cond PRIVATE
217 class Private;
218 Private *d;
219 //@endcond
220};
221
226class CompatPre34 : public CompatPre35
227{
228public:
233 virtual int fixPriority(int priority);
234
235private:
236 //@cond PRIVATE
237 class Private;
238 Private *d;
239 //@endcond
240};
241
251class CompatPre32 : public CompatPre34
252{
253public:
258 virtual void fixRecurrence(const Incidence::Ptr &incidence);
259
260private:
261 //@cond PRIVATE
262
263 class Private;
264 Private *d;
265 //@endcond
266};
267
283class CompatPre31 : public CompatPre32
284{
285public:
290 virtual void fixFloatingEnd(QDate &date);
291
296 virtual void fixRecurrence(const Incidence::Ptr &incidence);
297
298private:
299 //@cond PRIVATE
300 class Private;
301 Private *d;
302 //@endcond
303};
304
309class Compat32PrereleaseVersions : public Compat
310{
311public:
316 virtual bool useTimeZoneShift();
317
318private:
319 //@cond PRIVATE
320 class Private;
321 Private *d;
322 //@endcond
323};
324
333class CompatOutlook9 : public Compat
334{
335public:
340 virtual void fixAlarms(const Incidence::Ptr &incidence);
341
342private:
343 //@cond PRIVATE
344 class Private;
345 Private *d;
346 //@endcond
347};
348
353class CompatPre410 : public CompatDecorator
354{
355public:
356 explicit CompatPre410(Compat *decoratedCompat);
357
362 virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
363
364private:
365 //@cond PRIVATE
366 class Private;
367 Private *d;
368 //@endcond
369};
370
371}
372
373#endif
KCalCore::Compat32PrereleaseVersions
Compatibility class for KOrganizer prerelease 3.2 calendar files.
Definition compat.h:310
KCalCore::Compat32PrereleaseVersions::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition compat.cpp:346
KCalCore::CompatDecorator
Decorator so multiple compatibility classes can be stacked.
Definition compat.h:141
KCalCore::CompatDecorator::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition compat.cpp:189
KCalCore::CompatDecorator::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition compat.cpp:194
KCalCore::CompatDecorator::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition compat.cpp:204
KCalCore::CompatDecorator::fixPriority
virtual int fixPriority(int priority)
Definition compat.cpp:199
KCalCore::CompatDecorator::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Definition compat.cpp:179
KCalCore::CompatDecorator::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition compat.cpp:184
KCalCore::CompatDecorator::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition compat.cpp:209
KCalCore::CompatFactory
Factory for creating the right Compat object.
Definition compat.h:53
KCalCore::CompatFactory::createCompat
static Compat * createCompat(const QString &productId, const QString &implementationVersion)
Creates the appropriate Compat class as determined by the Product ID.
Definition compat.cpp:46
KCalCore::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition compat.h:334
KCalCore::CompatOutlook9::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition compat.cpp:326
KCalCore::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition compat.h:284
KCalCore::CompatPre31::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition compat.cpp:256
KCalCore::CompatPre31::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition compat.cpp:251
KCalCore::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition compat.h:252
KCalCore::CompatPre32::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition compat.cpp:241
KCalCore::CompatPre34
Compatibility class for KOrganizer pre-3.4 calendar files.
Definition compat.h:227
KCalCore::CompatPre34::fixPriority
virtual int fixPriority(int priority)
Definition compat.cpp:231
KCalCore::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition compat.h:207
KCalCore::CompatPre35::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition compat.cpp:215
KCalCore::CompatPre410
Compatibility class for Kontact < 4.10 calendar files.
Definition compat.h:354
KCalCore::CompatPre410::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition compat.cpp:356
KCalCore::Compat
This class provides compatibility to older or broken calendar files.
Definition compat.h:72
KCalCore::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition compat.cpp:151
KCalCore::Compat::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Fixes the recurrence rule for an incidence.
Definition compat.cpp:139
KCalCore::Compat::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Sets the created and dtstamp.
Definition compat.cpp:156
KCalCore::Compat::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Fixes the alarms list an incidence.
Definition compat.cpp:129
KCalCore::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition compat.cpp:134
KCalCore::Compat::~Compat
virtual ~Compat()
Destructor.
Definition compat.cpp:108
KCalCore::Compat::fixPriority
virtual int fixPriority(int priority)
Fixes the priority.
Definition compat.cpp:146
KCalCore::Compat::Compat
Compat()
Constructor.
Definition compat.cpp:103
KCalCore::Compat::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Fixes an empty summary for an incidence.
Definition compat.cpp:112
KCalCore::Incidence::Ptr
QSharedPointer< Incidence > Ptr
A shared pointer to an Incidence.
Definition incidence.h:112
incidence.h
This file is part of the API for handling calendar data and defines the Incidence class.
KCalCore
TODO: KDE5:
Definition alarm.h:47
qHash
static uint qHash(const KDateTime &dt)
Private class that helps to provide binary compatibility between releases.
Definition occurrenceiterator.cpp:157
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