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 KOINCIDENCEEDITOR_H
00025
#define KOINCIDENCEEDITOR_H
00026
00027
#include <kdialogbase.h>
00028
00029
class QDateTime;
00030
00031
namespace KPIM {
class CategorySelectDialog; }
00032
00033
class KOEditorDetails;
00034
class KOEditorAttachments;
00035
00036
namespace KCal {
00037
class Calendar;
00038
class Incidence;
00039 }
00040
using namespace KCal;
00041
00045 class KOIncidenceEditor :
public KDialogBase
00046 {
00047 Q_OBJECT
00048
public:
00052
KOIncidenceEditor(
const QString &caption, Calendar *calendar,
00053
QWidget *parent );
00054
virtual ~
KOIncidenceEditor();
00055
00057
virtual void init() = 0;
00059 virtual void modified (
int =0) {}
00060
00061
virtual void reload() = 0;
00062
00063
public slots:
00064
void updateCategoryConfig();
00066
virtual void editIncidence(Incidence *) = 0;
00067
00068
00069 signals:
00070
void deleteAttendee( Incidence * );
00071
00072
void editCategories();
00073
void dialogClose( Incidence * );
00074
void editCanceled( Incidence * );
00075
00076
void incidenceAdded( Incidence * );
00077
void incidenceChanged( Incidence *oldTodo, Incidence *newTodo );
00078
void incidenceToBeDeleted( Incidence * );
00079
void incidenceDeleted( Incidence * );
00080
00081
protected slots:
00082
void slotApply();
00083
void slotOk();
00084
void slotCancel();
00085
00086
virtual void slotLoadTemplate();
00087
virtual void slotSaveTemplate();
00088
00089
virtual void saveTemplate(
const QString & ) = 0;
00090
00091
protected:
00092
virtual QString type() {
return QString::null; }
00093
00094
void setupAttendeesTab();
00095
void setupAttachmentsTab();
00096
00097
QString loadTemplate( Calendar *cal,
const QString &type,
00098
const QStringList &templates );
00099
void saveAsTemplate( Incidence *,
const QString &name );
00100
00104 virtual bool processInput() {
return false; }
00105
00106
virtual void processCancel() {}
00107
00108
void cancelRemovedAttendees( Incidence *incidence );
00109
00110 Calendar *mCalendar;
00111
00112 KPIM::CategorySelectDialog *mCategoryDialog;
00113
00114 KOEditorDetails *mDetails;
00115 KOEditorAttachments *mAttachments;
00116 };
00117
00118
#endif
00119
00120