koeditorgeneraltodo.h
00001 /* 00002 This file is part of KOrganizer. 00003 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 00004 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com> 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 00020 As a special exception, permission is given to link this program 00021 with any edition of TQt, and distribute the resulting executable, 00022 without including the source code for TQt in the source distribution. 00023 */ 00024 #ifndef _KOEDITORGENERALTODO_H 00025 #define _KOEDITORGENERALTODO_H 00026 00027 #include "koeditorgeneral.h" 00028 #include "koglobals.h" 00029 00030 #include <tqdatetime.h> 00031 00032 class KRestrictedLine; 00033 00034 class KDateEdit; 00035 class KTimeEdit; 00036 00037 namespace KCal { 00038 class Todo; 00039 } 00040 using namespace KCal; 00041 00042 class KOEditorGeneralTodo : public KOEditorGeneral 00043 { 00044 Q_OBJECT 00045 00046 public: 00047 KOEditorGeneralTodo (TQObject* parent=0,const char* name=0); 00048 virtual ~KOEditorGeneralTodo(); 00049 00050 void initTime(TQWidget *, TQBoxLayout *); 00051 void iniStatus(TQWidget *, TQBoxLayout *); 00052 void initCompletion(TQWidget *, TQBoxLayout *); 00053 void initPriority(TQWidget *, TQBoxLayout *); 00054 00055 void finishSetup(); 00056 00058 void setDefaults( const TQDateTime &due, bool allDay ); 00060 void readTodo( Todo *todo, Calendar *calendar, const TQDate &date ); 00062 void writeTodo(Todo *); 00063 00065 bool validateInput(); 00066 00067 void updateRecurrenceSummary( Todo *todo ); 00068 00070 void modified( Todo *todo, KOGlobals::HowChanged modification ); 00071 00072 signals: 00073 void dueDateEditToggle( bool ); 00074 void dateTimeStrChanged( const TQString & ); 00075 void signalDateTimeChanged( const TQDateTime &, const TQDateTime & ); 00076 void editRecurrence(); 00077 00078 protected slots: 00079 void completedChanged( int ); 00080 void completedChanged(); 00081 void dateChanged(); 00082 void startDateModified(); 00083 00084 void enableDueEdit( bool enable ); 00085 void enableStartEdit( bool enable ); 00086 void enableTimeEdits( bool enable ); 00087 00088 protected: 00089 void setCompletedDate(); 00090 00091 private: 00092 bool mAlreadyComplete; 00093 bool mStartDateModified; 00094 00095 KDateEdit *mStartDateEdit; 00096 KTimeEdit *mStartTimeEdit; 00097 TQCheckBox *mTimeButton; 00098 TQCheckBox *mDueCheck; 00099 KDateEdit *mDueDateEdit; 00100 KTimeEdit *mDueTimeEdit; 00101 TQCheckBox *mCompletedToggle; 00102 TQComboBox *mCompletedCombo; 00103 TQLabel *mCompletedLabel; 00104 TQLabel *mPriorityLabel; 00105 TQComboBox *mPriorityCombo; 00106 00107 KDateEdit *mCompletionDateEdit; 00108 KTimeEdit *mCompletionTimeEdit; 00109 00110 TQCheckBox *mStartCheck; 00111 00112 TQDateTime mCompletedDateTime; 00113 }; 00114 00115 00116 #endif