korganizer
koincidenceeditor.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KOINCIDENCEEDITOR_H
00026 #define KOINCIDENCEEDITOR_H
00027
00028 #include <kdialogbase.h>
00029 #include <kurl.h>
00030
00031 class TQDate;
00032 class TQDateTime;
00033
00034 namespace KPIM {
00035 class CategorySelectDialog;
00036 class DesignerFields;
00037 class EmbeddedURLPage;
00038 }
00039
00040 namespace KOrg { class IncidenceChangerBase; }
00041
00042 class KOEditorDetails;
00043 class KOAttendeeEditor;
00044
00045 namespace KCal {
00046 class Calendar;
00047 class CalendarLocal;
00048 class Incidence;
00049 class ResourceCalendar;
00050 }
00051 using namespace KCal;
00052 using namespace KOrg;
00053
00057 class KOIncidenceEditor : public KDialogBase
00058 {
00059 Q_OBJECT
00060 public:
00064 KOIncidenceEditor( const TQString &caption, Calendar *calendar,
00065 TQWidget *parent );
00066 virtual ~KOIncidenceEditor();
00067
00069 virtual void modified() {}
00070
00071 virtual void reload() = 0;
00072
00073 virtual void setResource( ResourceCalendar *res, const TQString &subRes );
00074 virtual void selectInvitationCounterProposal( bool enable );
00075 virtual void selectCreateTask( bool enable );
00076
00089 void setRecurringIncidence( Incidence *originalIncidence, Incidence *incAfterDissociation );
00090
00091 public slots:
00093 virtual void editIncidence(Incidence *, const TQDate &, Calendar *) = 0;
00094 virtual void setIncidenceChanger( IncidenceChangerBase *changer ) {
00095 mChanger = changer; }
00097 virtual void init() = 0;
00101 void addAttachments( const TQStringList &attachments,
00102 const TQStringList& mimeTypes = TQStringList(),
00103 bool inlineAttachment = false );
00107 void addAttendees( const TQStringList &attendees );
00108
00109 signals:
00110 void deleteAttendee( Incidence * );
00111
00112 void editCategories();
00113 void updateCategoryConfig();
00114 void dialogClose( Incidence * );
00115 void editCanceled( Incidence * );
00116
00117 void deleteIncidenceSignal( Incidence * );
00118 void signalAddAttachments( const TQStringList &attachments,
00119 const TQStringList& mimeTypes = TQStringList(),
00120 bool inlineAttachment = false );
00121
00122
00123 protected slots:
00124 void slotApply();
00125 void slotOk();
00126 void slotCancel();
00127 void openURL( const KURL &url );
00128
00129 virtual void slotManageTemplates();
00130
00131 virtual void slotSaveTemplate( const TQString & ) = 0;
00132 virtual void slotLoadTemplate( const TQString& );
00133 virtual void slotTemplatesChanged( const TQStringList& );
00134
00135 protected:
00136 virtual TQString type() { return TQString::null; }
00137 virtual TQStringList& templates() const = 0;
00138 virtual void loadTemplate( CalendarLocal& ) = 0;
00139
00140 void setupAttendeesTab();
00141 void setupDesignerTabs( const TQString &type );
00142
00143 void saveAsTemplate( Incidence *, const TQString &name );
00144
00145 void readDesignerFields( Incidence *i );
00146 void writeDesignerFields( Incidence *i );
00147
00148 TQWidget *addDesignerTab( const TQString &uifile );
00149
00150 void setupEmbeddedURLPage( const TQString &label, const TQString &url,
00151 const TQString &mimetype );
00152 void createEmbeddedURLPages( Incidence *i );
00153
00157 virtual bool processInput() { return false; }
00158
00159 virtual void processCancel() {}
00160
00161 void cancelRemovedAttendees( Incidence *incidence );
00162
00163 Calendar *mCalendar;
00164
00165 KOEditorDetails *mDetails;
00166 KOAttendeeEditor *mAttendeeEditor;
00167 KOrg::IncidenceChangerBase *mChanger;
00168
00169 TQPtrList<KPIM::DesignerFields> mDesignerFields;
00170 TQMap<TQWidget*, KPIM::DesignerFields*> mDesignerFieldForWidget;
00171 TQPtrList<TQWidget> mEmbeddedURLPages;
00172 TQPtrList<TQWidget> mAttachedDesignerFields;
00173 ResourceCalendar *mResource;
00174 TQString mSubResource;
00175 bool mIsCounter;
00176 bool mIsCreateTask;
00177
00178 Incidence *mRecurIncidence;
00179 Incidence *mRecurIncidenceAfterDissoc;
00180
00181 };
00182
00183 #endif
00184
00185
|