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
#include <libkcal/calendar.h>
00030
00031
00032
00033
class QDateTime;
00034
00035
namespace KPIM {
class CategorySelectDialog; }
00036
00037
class KOEditorDetails;
00038
class KOEditorAttachments;
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;
00058
00059
virtual void reload() = 0;
00060
00061
public slots:
00062
void updateCategoryConfig();
00063
00064 signals:
00065
void editCategories();
00066
void dialogClose( Incidence * );
00067
void editCanceled( Incidence * );
00068
00069
protected slots:
00070
void slotApply();
00071
void slotOk();
00072
void slotCancel();
00073
00074
virtual void slotLoadTemplate();
00075
virtual void slotSaveTemplate();
00076
00077
virtual void saveTemplate(
const QString & ) = 0;
00078
00079
protected:
00080
virtual QString type() {
return QString::null; }
00081
00082
void setupAttendeesTab();
00083
void setupAttachmentsTab();
00084
00085 QString loadTemplate( Calendar *cal,
const QString &type,
00086
const QStringList &templates );
00087
void saveAsTemplate( Incidence *,
const QString &name );
00088
00092 virtual bool processInput() {
return false; }
00093
00094
virtual void processCancel() {}
00095
00096 Calendar *mCalendar;
00097
00098 KPIM::CategorySelectDialog *mCategoryDialog;
00099
00100 KOEditorDetails *mDetails;
00101 KOEditorAttachments *mAttachments;
00102 };
00103
00104
#endif
00105
00106