KCal Library
compat.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00031 #ifndef KCAL_COMPAT_H
00032 #define KCAL_COMPAT_H
00033
00034 #include "kcal_export.h"
00035 #include <QtCore/QString>
00036
00037 class QDate;
00038
00039 namespace KCal {
00040
00041 class Incidence;
00042 class Compat;
00043
00048 class CompatFactory
00049 {
00050 public:
00058 static Compat *createCompat( const QString &productId );
00059 };
00060
00065 class Compat
00066 {
00067 public:
00071 Compat() {}
00072
00076 virtual ~Compat() {}
00077
00083 virtual void fixRecurrence( Incidence *incidence );
00084
00090 virtual void fixEmptySummary( Incidence *incidence );
00091
00097 virtual void fixAlarms( Incidence *incidence ) { Q_UNUSED( incidence ); }
00098
00103 virtual void fixFloatingEnd( QDate &date );
00104
00110 virtual int fixPriority( int priority ) { return priority; }
00111
00115 virtual bool useTimeZoneShift() { return true; }
00116
00117 private:
00118
00119 Q_DISABLE_COPY( Compat )
00120 class Private;
00121 Private *d;
00122
00123 };
00124
00135 class CompatPre35 : public Compat
00136 {
00137 public:
00142 virtual void fixRecurrence( Incidence *incidence );
00143
00144 private:
00145
00146 class Private;
00147 Private *d;
00148
00149 };
00150
00151 class CompatPre34 : public CompatPre35
00152 {
00153 public:
00158 virtual int fixPriority( int priority );
00159
00160 private:
00161
00162 class Private;
00163 Private *d;
00164
00165 };
00166
00176 class CompatPre32 : public CompatPre34
00177 {
00178 public:
00183 virtual void fixRecurrence( Incidence *incidence );
00184
00185 private:
00186
00187
00188 class Private;
00189 Private *d;
00190
00191 };
00192
00208 class CompatPre31 : public CompatPre32
00209 {
00210 public:
00215 virtual void fixFloatingEnd( QDate &date );
00216
00221 virtual void fixRecurrence( Incidence *incidence );
00222
00223 private:
00224
00225 class Private;
00226 Private *d;
00227
00228 };
00229
00230 class Compat32PrereleaseVersions : public Compat
00231 {
00232 public:
00237 virtual bool useTimeZoneShift() { return false; }
00238
00239 private:
00240
00241 class Private;
00242 Private *d;
00243
00244 };
00245
00254 class CompatOutlook9 : public Compat
00255 {
00256 public:
00261 virtual void fixAlarms( Incidence *incidence );
00262
00263 private:
00264
00265 class Private;
00266 Private *d;
00267
00268 };
00269
00270 }
00271
00272 #endif