compat.hGo 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
|