korganizer
journalentry.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef JOURNALENTRY_H
00025 #define JOURNALENTRY_H
00026
00027
00028
00029 #include <libkcal/resourcecalendar.h>
00030 #include <tqvbox.h>
00031
00032 class TQLabel;
00033 class KActiveLabel;
00034 class TQCheckBox;
00035 class TQGridLayout;
00036 class KLineEdit;
00037 class KTextEdit;
00038 class KTimeEdit;
00039 class TQButton;
00040 namespace KOrg {
00041 class IncidenceChangerBase;
00042 }
00043 using namespace KOrg;
00044 namespace KCal {
00045 class Calendar;
00046 class Journal;
00047 }
00048 using namespace KCal;
00049
00050 class JournalEntry : public TQWidget {
00051 Q_OBJECT
00052 public:
00053 typedef ListBase<JournalEntry> List;
00054
00055 JournalEntry( Journal* j, TQWidget *parent );
00056 virtual ~JournalEntry();
00057
00058 void setJournal(Journal *);
00059 Journal *journal() const { return mJournal; }
00060
00061 TQDate date() const { return mDate; }
00062
00063 void clear();
00064 void readJournal( Journal *j );
00065
00066 bool isReadOnly() const { return mReadOnly; }
00067 void setReadOnly( bool readonly );
00068
00069 protected slots:
00070 void setDirty();
00071 void deleteItem();
00072 void editItem();
00073 void printItem();
00074 void timeCheckBoxToggled(bool on);
00075 public slots:
00076 void setIncidenceChanger( IncidenceChangerBase *changer ) { mChanger = changer; }
00077 void setDate(const TQDate &);
00078 void flushEntry();
00079
00080 signals:
00081 void deleteIncidence( Incidence * );
00082 void editIncidence( Incidence *, const TQDate& );
00083
00084 protected:
00085 void clearFields();
00086 bool eventFilter( TQObject *o, TQEvent *e );
00087
00088 void writeJournal();
00089
00090 private:
00091 void writeJournalPrivate( Journal *j );
00092
00093 Journal *mJournal;
00094 TQDate mDate;
00095 bool mReadOnly;
00096
00097 TQLabel *mTitleLabel;
00098 KLineEdit *mTitleEdit;
00099 KTextEdit *mEditor;
00100 TQCheckBox *mTimeCheck;
00101 KTimeEdit *mTimeEdit;
00102 TQButton *mDeleteButton;
00103 TQButton *mEditButton;
00104 TQButton *mPrintButton;
00105
00106 TQGridLayout *mLayout;
00107
00108 bool mDirty;
00109 bool mWriteInProgress;
00110 IncidenceChangerBase *mChanger;
00111 };
00112
00113
00114 class JournalDateEntry : public TQVBox {
00115 Q_OBJECT
00116 public:
00117 typedef ListBase<JournalDateEntry> List;
00118
00119 JournalDateEntry( Calendar *, TQWidget *parent );
00120 virtual ~JournalDateEntry();
00121
00122 void addJournal( Journal * );
00123 Journal::List journals() const;
00124
00125 void setDate( const TQDate & );
00126 TQDate date() const { return mDate; }
00127
00128 void clear();
00129
00130
00131 signals:
00132 void setIncidenceChangerSignal( IncidenceChangerBase *changer );
00133 void setDateSignal( const TQDate & );
00134 void flushEntries();
00135 void editIncidence( Incidence *, const TQDate& );
00136 void deleteIncidence( Incidence * );
00137 void newJournal( ResourceCalendar *, const TQString &, const TQDate & );
00138
00139 public slots:
00140 void emitNewJournal();
00141 void setIncidenceChanger( IncidenceChangerBase *changer );
00142 void journalEdited( Journal* );
00143 void journalDeleted( Journal* );
00144
00145 private:
00146 Calendar *mCalendar;
00147 TQDate mDate;
00148 TQMap<Journal*,JournalEntry*> mEntries;
00149
00150 KActiveLabel *mTitle;
00151 TQWidget *mAddBar;
00152 IncidenceChangerBase *mChanger;
00153 };
00154
00155
00156 #endif
|