00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef INCIDENCECHANGER_H
00025 #define INCIDENCECHANGER_H
00026
00027 #include "korganizer/incidencechangerbase.h"
00028
00029 namespace KCal {
00030 class ResourceCalendar;
00031 }
00032
00033 class IncidenceChanger : public KOrg::IncidenceChangerBase
00034 {
00035 Q_OBJECT
00036 TQ_OBJECT
00037 public:
00038 IncidenceChanger( Calendar *cal, TQObject *parent )
00039 : IncidenceChangerBase( cal, parent ) {}
00040 ~IncidenceChanger() {}
00041
00042 bool beginChange( Incidence *incidence,
00043 ResourceCalendar *res, const TQString &subRes );
00044
00045 bool sendGroupwareMessage( Incidence *incidence,
00046 KCal::Scheduler::Method method,
00047 KOGlobals::HowChanged action,
00048 TQWidget *parent );
00049
00050 bool endChange( Incidence *incidence,
00051 ResourceCalendar *res, const TQString &subRes );
00052
00053 bool addIncidence( Incidence *incidence,
00054 ResourceCalendar *res, const TQString &subRes,
00055 TQWidget *parent );
00056 bool addIncidence( Incidence *incidence,
00057 ResourceCalendar *res, const TQString &subRes,
00058 TQWidget *parent, int dontAskForGroupware );
00059
00060 bool changeIncidence( Incidence *oldinc, Incidence *newinc,
00061 KOGlobals::WhatChanged, TQWidget *parent );
00062 bool changeIncidence( Incidence *oldinc, Incidence *newinc,
00063 KOGlobals::WhatChanged, TQWidget *parent, int dontAskForGroupware );
00064
00065 bool deleteIncidence( Incidence *incidence, TQWidget *parent );
00066
00067 bool cutIncidences( const Incidence::List &incidences, TQWidget *parent );
00068 bool cutIncidence( Incidence *incidence, TQWidget *parent );
00069
00070 static bool incidencesEqual( Incidence *inc1, Incidence *inc2 );
00071 static bool assignIncidence( Incidence *inc1, Incidence *inc2 );
00072
00073 public slots:
00074 void cancelAttendees( Incidence *incidence );
00075
00076 protected:
00077 bool myAttendeeStatusChanged( Incidence *oldInc, Incidence *newInc );
00078
00079 private:
00080 class ComparisonVisitor;
00081 class AssignmentVisitor;
00082 };
00083
00084 #endif