kojournaleditor.h
00001 /* 00002 This file is part of KOrganizer. 00003 00004 Copyright (c) 1997, 1998 Preston Brown <pbrown@kde.org> 00005 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 00006 Copyright (c) 2004 Reinhold Kainhofer <reinhold@kainhofer.com> 00007 00008 This program is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 2 of the License, or 00011 (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this program; if not, write to the Free Software 00020 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00021 00022 As a special exception, permission is given to link this program 00023 with any edition of TQt, and distribute the resulting executable, 00024 without including the source code for TQt in the source distribution. 00025 */ 00026 #ifndef KOJOURNALEDITOR_H 00027 #define KOJOURNALEDITOR_H 00028 00029 #include "koincidenceeditor.h" 00030 00031 #include <tqdatetime.h> 00032 00033 class TQDateTime; 00034 namespace KCal { 00035 class Calendar; 00036 class Journal; 00037 class Incidence; 00038 } 00039 using namespace KCal; 00040 00041 class KOEditorGeneralJournal; 00042 00046 class KOJournalEditor : public KOIncidenceEditor 00047 { 00048 Q_OBJECT 00049 00050 public: 00054 KOJournalEditor( Calendar *calendar, TQWidget *parent ); 00055 virtual ~KOJournalEditor(); 00056 00057 void init(); 00058 00059 void reload(); 00060 00064 void newJournal(); 00065 00071 void setTexts( const TQString &summary, const TQString &description = TQString() ); 00073 void editIncidence(Incidence *, const TQDate &date, Calendar *); 00074 00076 void setDate( const TQDate &date ); 00078 void readJournal( Journal *, const TQDate &date ); 00080 void writeJournal( Journal * ); 00081 00082 int msgItemDelete(); 00084 bool validateInput(); 00087 bool processInput(); 00088 00090 void modified(); 00091 00092 protected slots: 00093 void loadDefaults(); 00094 void deleteJournal(); 00095 00096 void slotSaveTemplate( const TQString & ); 00097 00098 protected: 00099 TQString type() { return "Journal"; } 00100 void setupGeneral(); 00101 // int msgItemDelete(); 00102 00103 void loadTemplate( /*const*/ CalendarLocal& ); 00104 TQStringList& templates() const; 00105 private: 00106 Journal *mJournal; 00107 KOEditorGeneralJournal *mGeneral; 00108 }; 00109 00110 #endif