koeventeditor.h
00001 /* 00002 This file is part of KOrganizer. 00003 00004 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org> 00005 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 00021 As a special exception, permission is given to link this program 00022 with any edition of TQt, and distribute the resulting executable, 00023 without including the source code for TQt in the source distribution. 00024 */ 00025 #ifndef KOEVENTEDITOR_H 00026 #define KOEVENTEDITOR_H 00027 00028 #include "koincidenceeditor.h" 00029 00030 class KOEditorGeneralEvent; 00031 class KOEditorRecurrence; 00032 class KOEditorRecurrenceDialog; 00033 class KOEditorFreeBusy; 00034 00035 class SaveTemplateDialog; 00036 00037 class KOEditorFreeBusy; 00038 00039 namespace KCal { 00040 class Calendar; 00041 class Event; 00042 } 00043 using namespace KCal; 00044 00048 class KOEventEditor : public KOIncidenceEditor 00049 { 00050 Q_OBJECT 00051 00052 public: 00056 KOEventEditor( Calendar *calendar, TQWidget *parent ); 00057 virtual ~KOEventEditor(void); 00058 00059 void init(); 00061 void modified(); 00062 void reload(); 00063 00067 void newEvent(); 00068 00074 void setTexts( const TQString &summary, const TQString &description = TQString() ); 00078 void editIncidence( Incidence *incidence, const TQDate &date, Calendar *calendar ); 00079 00083 void setDates( const TQDateTime &from, const TQDateTime &to, bool allDay ); 00084 00089 void readEvent( Event *event, Calendar *calendar, const TQDate &date, bool tmpl = false ); 00093 void writeEvent( Event * ); 00094 00095 TQObject *typeAheadReceiver() const; 00096 00097 void selectInvitationCounterProposal( bool enable ); 00098 00099 signals: 00100 void focusReceivedSignal(); 00101 00102 protected slots: 00103 void loadDefaults(); 00104 void deleteEvent(); 00105 00106 void slotSaveTemplate( const TQString & ); 00107 void updateRecurrenceSummary(); 00108 00109 protected: 00110 TQString type() { return "Event"; } 00111 void setupGeneral(); 00112 void setupRecurrence(); 00113 void setupFreeBusy(); 00114 00116 bool validateInput(); 00119 bool processInput(); 00120 void processCancel(); 00121 int msgItemDelete(); 00122 void loadTemplate( /*const*/ CalendarLocal& ); 00123 TQStringList& templates() const; 00124 00125 private: 00126 Event *mEvent; 00127 Calendar* mCalendar; 00128 00129 KOEditorGeneralEvent *mGeneral; 00130 KOEditorRecurrenceDialog *mRecurrenceDialog; 00131 KOEditorRecurrence *mRecurrence; 00132 KOEditorFreeBusy *mFreeBusy; 00133 }; 00134 00135 #endif