• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.10.5 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 
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 KCALCORE_COMPAT_P_H
32 #define KCALCORE_COMPAT_P_H
33 
34 #include "incidence.h"
35 
36 #include <QtCore/QtGlobal> // for Q_DISABLE_COPY()
37 
38 class QDate;
39 class QString;
40 
41 namespace KCalCore {
42 
43 class Compat;
44 
51 class CompatFactory
52 {
53  public:
61  static Compat *createCompat( const QString &productId, const QString &implementationVersion );
62 };
63 
70 class Compat
71 {
72  public:
76  Compat();
77 
81  virtual ~Compat();
82 
88  virtual void fixRecurrence( const Incidence::Ptr &incidence );
89 
95  virtual void fixEmptySummary( const Incidence::Ptr &incidence );
96 
102  virtual void fixAlarms( const Incidence::Ptr &incidence );
103 
108  virtual void fixFloatingEnd( QDate &date );
109 
115  virtual int fixPriority( int priority );
116 
120  virtual bool useTimeZoneShift();
121 
125  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
126 
127  private:
128  //@cond PRIVATE
129  Q_DISABLE_COPY( Compat )
130  class Private;
131  Private *d;
132  //@endcond
133 };
134 
139 class CompatDecorator : public Compat
140 {
141  public:
142  CompatDecorator(Compat *decoratedCompat);
143  virtual ~CompatDecorator();
148  virtual void fixRecurrence( const Incidence::Ptr &incidence );
153  virtual void fixEmptySummary( const Incidence::Ptr &incidence );
158  virtual void fixAlarms( const Incidence::Ptr &incidence );
163  virtual void fixFloatingEnd( QDate &date );
168  virtual int fixPriority( int priority );
173  virtual bool useTimeZoneShift();
178  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
179 
180  private:
181  //@cond PRIVATE
182  Q_DISABLE_COPY( CompatDecorator )
183  class Private;
184  Private *d;
185  //@endcond
186 };
187 
198 class CompatPre35 : public Compat
199 {
200  public:
205  virtual void fixRecurrence( const Incidence::Ptr &incidence );
206 
207  private:
208  //@cond PRIVATE
209  class Private;
210  Private *d;
211  //@endcond
212 };
213 
218 class CompatPre34 : public CompatPre35
219 {
220  public:
225  virtual int fixPriority( int priority );
226 
227  private:
228  //@cond PRIVATE
229  class Private;
230  Private *d;
231  //@endcond
232 };
233 
243 class CompatPre32 : public CompatPre34
244 {
245  public:
250  virtual void fixRecurrence( const Incidence::Ptr &incidence );
251 
252  private:
253  //@cond PRIVATE
254 
255  class Private;
256  Private *d;
257  //@endcond
258 };
259 
275 class CompatPre31 : public CompatPre32
276 {
277  public:
282  virtual void fixFloatingEnd( QDate &date );
283 
288  virtual void fixRecurrence( const Incidence::Ptr &incidence );
289 
290  private:
291  //@cond PRIVATE
292  class Private;
293  Private *d;
294  //@endcond
295 };
296 
301 class Compat32PrereleaseVersions : public Compat
302 {
303  public:
308  virtual bool useTimeZoneShift();
309 
310  private:
311  //@cond PRIVATE
312  class Private;
313  Private *d;
314  //@endcond
315 };
316 
325 class CompatOutlook9 : public Compat
326 {
327  public:
332  virtual void fixAlarms( const Incidence::Ptr &incidence );
333 
334  private:
335  //@cond PRIVATE
336  class Private;
337  Private *d;
338  //@endcond
339 };
340 
345 class CompatPre410 : public CompatDecorator
346 {
347  public:
348  CompatPre410( Compat* decoratedCompat );
353  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
354 
355  private:
356  //@cond PRIVATE
357  class Private;
358  Private *d;
359  //@endcond
360 };
361 
362 }
363 
364 #endif
KCalCore::Compat::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Exchanges created and dtstamp.
Definition: compat.cpp:149
KCalCore::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition: compat.cpp:144
KCalCore::CompatDecorator::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Definition: compat.cpp:172
KCalCore::CompatDecorator::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:202
KCalCore::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition: compat.cpp:127
KCalCore::Compat::~Compat
virtual ~Compat()
Destructor.
Definition: compat.cpp:101
KCalCore::CompatPre410::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:349
KCalCore::CompatDecorator::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:197
KCalCore::CompatPre31::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:248
KCalCore::CompatDecorator::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:177
KCalCore::Incidence::Ptr
QSharedPointer< Incidence > Ptr
A shared pointer to an Incidence.
Definition: incidence.h:112
KCalCore::CompatDecorator::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:182
KCalCore::Compat
This class provides compatibility to older or broken calendar files.
Definition: compat.h:70
KCalCore::CompatFactory
Factory for creating the right Compat object.
Definition: compat.h:51
KCalCore::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition: compat.h:243
KCalCore::Compat::fixPriority
virtual int fixPriority(int priority)
Fixes the priority.
Definition: compat.cpp:139
KCalCore::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition: compat.h:198
KCalCore::Compat::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Fixes an empty summary for an incidence.
Definition: compat.cpp:105
KCalCore::CompatPre32::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:233
KCalCore::CompatPre34::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:223
KCalCore::CompatDecorator::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:187
KCalCore::Compat32PrereleaseVersions::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:338
KCalCore::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition: compat.h:325
KCalCore::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition: compat.h:275
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:44
KCalCore::Compat::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Fixes the alarms list an incidence.
Definition: compat.cpp:122
KCalCore::CompatDecorator
Decorator so multiple compatibility classes can be stacked.
Definition: compat.h:139
KCalCore::Compat32PrereleaseVersions
Compatibility class for KOrganizer prerelease 3.2 calendar files.
Definition: compat.h:301
KCalCore::Compat::Compat
Compat()
Constructor.
Definition: compat.cpp:97
KCalCore::CompatPre35::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:207
incidence.h
This file is part of the API for handling calendar data and defines the Incidence class...
KCalCore::CompatDecorator::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:192
KCalCore::CompatPre34
Compatibility class for KOrganizer pre-3.4 calendar files.
Definition: compat.h:218
KCalCore::CompatOutlook9::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:318
KCalCore::CompatPre410
Compatibility class for Kontact &lt; 4.10 calendar files.
Definition: compat.h:345
KCalCore::Compat::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Fixes the recurrence rule for an incidence.
Definition: compat.cpp:132
KCalCore::CompatPre31::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:243
This file is part of the KDE documentation.
Documentation copyright © 1996-2015 The KDE developers.
Generated on Fri Nov 20 2015 11:44:27 by doxygen 1.8.5 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.10.5 API Reference

Skip menu "kdepimlibs-4.10.5 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