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

KCal Library

  • sources
  • kde-4.12
  • kdepimlibs
  • 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 
37 class QDate;
38 
39 namespace KCal {
40 
41 class Incidence;
42 class Compat;
43 
48 class CompatFactory
49 {
50  public:
58  static Compat *createCompat( const QString &productId );
59 };
60 
65 class 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 
135 class 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 
151 class 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 
176 class 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 
208 class 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 
230 class 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 
254 class 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::Compat::fixEmptySummary
virtual void fixEmptySummary(Incidence *incidence)
Fixes an empty summary for an incidence.
Definition: compat.cpp:95
KCal::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition: compat.cpp:112
KCal::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition: compat.h:115
KCal::Compat::fixAlarms
virtual void fixAlarms(Incidence *incidence)
Fixes the alarms list an incidence.
Definition: compat.h:97
KCal::CompatFactory
Factory for creating the right Compat object.
Definition: compat.h:48
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::Compat::fixRecurrence
virtual void fixRecurrence(Incidence *incidence)
Fixes the recurrence rule for an incidence.
Definition: compat.cpp:117
KCal::Incidence
Provides the abstract base class common to non-FreeBusy (Events, To-dos, Journals) calendar component...
Definition: incidence.h:68
KCal::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition: compat.h:208
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::Compat
Compat()
Constructor.
Definition: compat.h:71
KCal::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition: compat.h:135
KCal::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition: compat.h:176
KCal::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition: compat.h:254
KCal::Compat
This class provides compatibility to older or broken calendar files.
Definition: compat.h:65
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:57 by doxygen 1.8.7 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 API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



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