korganizer

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   TQ_OBJECT
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