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

KCal Library

  • kcal
compat.h
Go to the documentation of this file.
1/*
2 This file is part of the kcal library.
3
4 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
5 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21*/
31#ifndef KCAL_COMPAT_H
32#define KCAL_COMPAT_H
33
34#include "kcal_export.h"
35#include <QtCore/QString>
36
37class QDate;
38
39namespace KCal {
40
41class Incidence;
42class Compat;
43
48class CompatFactory
49{
50 public:
58 static Compat *createCompat( const QString &productId );
59};
60
65class Compat
66{
67 public:
71 Compat() {}
72
76 virtual ~Compat() {}
77
83 virtual void fixRecurrence( Incidence *incidence );
84
90 virtual void fixEmptySummary( Incidence *incidence );
91
97 virtual void fixAlarms( Incidence *incidence ) { Q_UNUSED( incidence ); }
98
103 virtual void fixFloatingEnd( QDate &date );
104
110 virtual int fixPriority( int priority ) { return priority; }
111
115 virtual bool useTimeZoneShift() { return true; }
116
117 private:
118 //@cond PRIVATE
119 Q_DISABLE_COPY( Compat )
120 class Private;
121 Private *d;
122 //@endcond
123};
124
135class CompatPre35 : public Compat
136{
137 public:
142 virtual void fixRecurrence( Incidence *incidence );
143
144 private:
145 //@cond PRIVATE
146 class Private;
147 Private *d;
148 //@endcond
149};
150
151class CompatPre34 : public CompatPre35
152{
153 public:
158 virtual int fixPriority( int priority );
159
160 private:
161 //@cond PRIVATE
162 class Private;
163 Private *d;
164 //@endcond
165};
166
176class CompatPre32 : public CompatPre34
177{
178 public:
183 virtual void fixRecurrence( Incidence *incidence );
184
185 private:
186 //@cond PRIVATE
187
188 class Private;
189 Private *d;
190 //@endcond
191};
192
208class CompatPre31 : public CompatPre32
209{
210 public:
215 virtual void fixFloatingEnd( QDate &date );
216
221 virtual void fixRecurrence( Incidence *incidence );
222
223 private:
224 //@cond PRIVATE
225 class Private;
226 Private *d;
227 //@endcond
228};
229
230class Compat32PrereleaseVersions : public Compat
231{
232 public:
237 virtual bool useTimeZoneShift() { return false; }
238
239 private:
240 //@cond PRIVATE
241 class Private;
242 Private *d;
243 //@endcond
244};
245
254class CompatOutlook9 : public Compat
255{
256 public:
261 virtual void fixAlarms( Incidence *incidence );
262
263 private:
264 //@cond PRIVATE
265 class Private;
266 Private *d;
267 //@endcond
268};
269
270}
271
272#endif
KCal::CompatFactory
Factory for creating the right Compat object.
Definition compat.h:49
KCal::CompatFactory::createCompat
static Compat * createCompat(const QString &productId)
Creates the appropriate Compat class as determined by the Product ID.
Definition compat.cpp:45
KCal::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition compat.h:255
KCal::CompatOutlook9::fixAlarms
virtual void fixAlarms(Incidence *incidence)
Definition compat.cpp:235
KCal::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition compat.h:209
KCal::CompatPre31::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition compat.cpp:160
KCal::CompatPre31::fixRecurrence
virtual void fixRecurrence(Incidence *incidence)
Definition compat.cpp:165
KCal::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition compat.h:177
KCal::CompatPre32::fixRecurrence
virtual void fixRecurrence(Incidence *incidence)
Definition compat.cpp:150
KCal::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition compat.h:136
KCal::CompatPre35::fixRecurrence
virtual void fixRecurrence(Incidence *incidence)
Definition compat.cpp:124
KCal::Compat
This class provides compatibility to older or broken calendar files.
Definition compat.h:66
KCal::Compat::fixRecurrence
virtual void fixRecurrence(Incidence *incidence)
Fixes the recurrence rule for an incidence.
Definition compat.cpp:117
KCal::Compat::Compat
Compat()
Constructor.
Definition compat.h:71
KCal::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition compat.cpp:112
KCal::Compat::fixAlarms
virtual void fixAlarms(Incidence *incidence)
Fixes the alarms list an incidence.
Definition compat.h:97
KCal::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition compat.h:115
KCal::Compat::fixPriority
virtual int fixPriority(int priority)
Fixes the priority.
Definition compat.h:110
KCal::Compat::~Compat
virtual ~Compat()
Destructor.
Definition compat.h:76
KCal::Compat::fixEmptySummary
virtual void fixEmptySummary(Incidence *incidence)
Fixes an empty summary for an incidence.
Definition compat.cpp:95
KCal::Incidence
Provides the abstract base class common to non-FreeBusy (Events, To-dos, Journals) calendar component...
Definition incidence.h:70
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.

KCal Library

Skip menu "KCal 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