00001
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 KODIALOGMANAGER_H
00026 #define KODIALOGMANAGER_H
00027
00028 #include <tqobject.h>
00029 #include <tqptrlist.h>
00030
00031 namespace KCal{class CalFilter; }
00032 class CalendarView;
00033 class KCMultiDialog;
00034 class TDEConfigureDialog;
00035 namespace KPIM { class CategoryEditDialog; }
00036 class KOIncidenceEditor;
00037 class KOEventEditor;
00038 class KOTodoEditor;
00039 class KOJournalEditor;
00040 class SearchDialog;
00041 class ArchiveDialog;
00042 class FilterEditDialog;
00043 namespace KOrg { class AgendaView; }
00044
00045 using namespace KCal;
00046
00051 class KODialogManager : public TQObject
00052 {
00053 Q_OBJECT
00054
00055 public:
00056 KODialogManager( CalendarView * );
00057 virtual ~KODialogManager();
00058
00060 KOIncidenceEditor *getEditor( Incidence * );
00062 KOEventEditor *getEventEditor();
00064 KOTodoEditor *getTodoEditor();
00066 KOJournalEditor *getJournalEditor();
00067 void connectEditor( KOIncidenceEditor*editor );
00068
00069 void updateSearchDialog();
00070
00071 void connectTypeAhead( KOEventEditor *editor, KOrg::AgendaView *agenda );
00072
00073 static void errorSaveIncidence( TQWidget *parent, Incidence *incidence );
00074
00075 public slots:
00076 void showOptionsDialog();
00077 void showCategoryEditDialog();
00078 void showSearchDialog();
00079 void showArchiveDialog();
00080 void showFilterEditDialog(TQPtrList<CalFilter> *filters);
00081
00082 private:
00083 class DialogManagerVisitor;
00084 class EditorDialogVisitor;
00085
00086 CalendarView *mMainView;
00087
00088 KCMultiDialog *mOptionsDialog;
00089
00090 KPIM::CategoryEditDialog *mCategoryEditDialog;
00091 SearchDialog *mSearchDialog;
00092 ArchiveDialog *mArchiveDialog;
00093 FilterEditDialog *mFilterEditDialog;
00094 };
00095
00096 #endif