KCal Library
compat.h
Go to the documentation of this file.
00001 /* 00002 This file is part of the kcal library. 00003 00004 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 00005 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 00006 00007 This library is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU Library General Public 00009 License as published by the Free Software Foundation; either 00010 version 2 of the License, or (at your option) any later version. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Library General Public License for more details. 00016 00017 You should have received a copy of the GNU Library General Public License 00018 along with this library; see the file COPYING.LIB. If not, write to 00019 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00020 Boston, MA 02110-1301, USA. 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 //@cond PRIVATE 00119 Q_DISABLE_COPY( Compat ) 00120 class Private; 00121 Private *d; 00122 //@endcond 00123 }; 00124 00135 class CompatPre35 : public Compat 00136 { 00137 public: 00142 virtual void fixRecurrence( Incidence *incidence ); 00143 00144 private: 00145 //@cond PRIVATE 00146 class Private; 00147 Private *d; 00148 //@endcond 00149 }; 00150 00151 class CompatPre34 : public CompatPre35 00152 { 00153 public: 00158 virtual int fixPriority( int priority ); 00159 00160 private: 00161 //@cond PRIVATE 00162 class Private; 00163 Private *d; 00164 //@endcond 00165 }; 00166 00176 class CompatPre32 : public CompatPre34 00177 { 00178 public: 00183 virtual void fixRecurrence( Incidence *incidence ); 00184 00185 private: 00186 //@cond PRIVATE 00187 00188 class Private; 00189 Private *d; 00190 //@endcond 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 //@cond PRIVATE 00225 class Private; 00226 Private *d; 00227 //@endcond 00228 }; 00229 00230 class Compat32PrereleaseVersions : public Compat 00231 { 00232 public: 00237 virtual bool useTimeZoneShift() { return false; } 00238 00239 private: 00240 //@cond PRIVATE 00241 class Private; 00242 Private *d; 00243 //@endcond 00244 }; 00245 00254 class CompatOutlook9 : public Compat 00255 { 00256 public: 00261 virtual void fixAlarms( Incidence *incidence ); 00262 00263 private: 00264 //@cond PRIVATE 00265 class Private; 00266 Private *d; 00267 //@endcond 00268 }; 00269 00270 } 00271 00272 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 05:05:29 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 05:05:29 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.