summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-02-13 11:55:52 (UTC)
committer zautrix <zautrix>2005-02-13 11:55:52 (UTC)
commit0a33f91e166747406ca2ccb5819881feeecfdb40 (patch) (unidiff)
treee9130a16aaa6365e106d6733c3e1adeca01f72ac /korganizer
parent00ec9899a4727a4c9100d320935dde7da4803801 (diff)
downloadkdepimpi-0a33f91e166747406ca2ccb5819881feeecfdb40.zip
kdepimpi-0a33f91e166747406ca2ccb5819881feeecfdb40.tar.gz
kdepimpi-0a33f91e166747406ca2ccb5819881feeecfdb40.tar.bz2
todo recurchanges
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koeditorgeneraltodo.cpp2
-rw-r--r--korganizer/koeditorgeneraltodo.h1
-rw-r--r--korganizer/koeditorrecurrence.cpp20
-rw-r--r--korganizer/koeditorrecurrence.h4
-rw-r--r--korganizer/kotodoeditor.cpp43
-rw-r--r--korganizer/kotodoeditor.h4
6 files changed, 66 insertions, 8 deletions
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index 6370b54..a9d1ed3 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -364,16 +364,17 @@ void KOEditorGeneralTodo::enableDueEdit(bool enable)
364 mTimeButton->setChecked(false); 364 mTimeButton->setChecked(false);
365 } 365 }
366 366
367 if (enable) { 367 if (enable) {
368 mDueTimeEdit->setEnabled( mTimeButton->isChecked() ); 368 mDueTimeEdit->setEnabled( mTimeButton->isChecked() );
369 } else { 369 } else {
370 mDueTimeEdit->setEnabled( false ); 370 mDueTimeEdit->setEnabled( false );
371 } 371 }
372 emit datesChecked();
372} 373}
373 374
374void KOEditorGeneralTodo::enableStartEdit( bool enable ) 375void KOEditorGeneralTodo::enableStartEdit( bool enable )
375{ 376{
376 mStartDateEdit->setEnabled( enable ); 377 mStartDateEdit->setEnabled( enable );
377 378
378 if(mDueCheck->isChecked() || mStartCheck->isChecked()) { 379 if(mDueCheck->isChecked() || mStartCheck->isChecked()) {
379 mTimeButton->setEnabled(true); 380 mTimeButton->setEnabled(true);
@@ -383,16 +384,17 @@ void KOEditorGeneralTodo::enableStartEdit( bool enable )
383 mTimeButton->setChecked(false); 384 mTimeButton->setChecked(false);
384 } 385 }
385 386
386 if (enable) { 387 if (enable) {
387 mStartTimeEdit->setEnabled( mTimeButton->isChecked() ); 388 mStartTimeEdit->setEnabled( mTimeButton->isChecked() );
388 } else { 389 } else {
389 mStartTimeEdit->setEnabled( false ); 390 mStartTimeEdit->setEnabled( false );
390 } 391 }
392 emit datesChecked();
391} 393}
392 394
393void KOEditorGeneralTodo::enableTimeEdits(bool enable) 395void KOEditorGeneralTodo::enableTimeEdits(bool enable)
394{ 396{
395 if(mStartCheck->isChecked()) { 397 if(mStartCheck->isChecked()) {
396 mStartTimeEdit->setEnabled( enable ); 398 mStartTimeEdit->setEnabled( enable );
397 } 399 }
398 if(mDueCheck->isChecked()) { 400 if(mDueCheck->isChecked()) {
diff --git a/korganizer/koeditorgeneraltodo.h b/korganizer/koeditorgeneraltodo.h
index 98f43dd..b198539 100644
--- a/korganizer/koeditorgeneraltodo.h
+++ b/korganizer/koeditorgeneraltodo.h
@@ -67,16 +67,17 @@ class KOEditorGeneralTodo : public KOEditorGeneral
67 /** Check if the input is valid. */ 67 /** Check if the input is valid. */
68 bool validateInput(); 68 bool validateInput();
69 69
70 /** The todo has been modified externally */ 70 /** The todo has been modified externally */
71 void modified (Todo*, int); 71 void modified (Todo*, int);
72 72
73 signals: 73 signals:
74 void openCategoryDialog(); 74 void openCategoryDialog();
75 void datesChecked();
75 76
76 protected slots: 77 protected slots:
77 void completedChanged(int); 78 void completedChanged(int);
78 79
79 void enableDueEdit( bool enable ); 80 void enableDueEdit( bool enable );
80 void enableStartEdit( bool enable ); 81 void enableStartEdit( bool enable );
81 void enableTimeEdits( bool enable ); 82 void enableTimeEdits( bool enable );
82 void showAlarm(); 83 void showAlarm();
diff --git a/korganizer/koeditorrecurrence.cpp b/korganizer/koeditorrecurrence.cpp
index 4209e10..bedc75a 100644
--- a/korganizer/koeditorrecurrence.cpp
+++ b/korganizer/koeditorrecurrence.cpp
@@ -37,16 +37,17 @@
37#include <kdialog.h> 37#include <kdialog.h>
38#include <kglobal.h> 38#include <kglobal.h>
39#include <klocale.h> 39#include <klocale.h>
40#include <kiconloader.h> 40#include <kiconloader.h>
41#include <kdebug.h> 41#include <kdebug.h>
42#include <knumvalidator.h> 42#include <knumvalidator.h>
43 43
44#include <libkcal/event.h> 44#include <libkcal/event.h>
45#include <libkcal/todo.h>
45 46
46#include <libkdepim/kdateedit.h> 47#include <libkdepim/kdateedit.h>
47 48
48#include "koprefs.h" 49#include "koprefs.h"
49 50
50#include "koeditorrecurrence.h" 51#include "koeditorrecurrence.h"
51 52
52/////////////////////////// RecurBase /////////////////////////////// 53/////////////////////////// RecurBase ///////////////////////////////
@@ -900,40 +901,47 @@ void KOEditorRecurrence::setDefaults( QDateTime from, QDateTime to, bool )
900 mMonthly->setFrequency( 1 ); 901 mMonthly->setFrequency( 1 );
901 mMonthly->setByPos((from.date().day()/7), from.date().dayOfWeek()-1 ); 902 mMonthly->setByPos((from.date().day()/7), from.date().dayOfWeek()-1 );
902 mMonthly->setByDay( from.date().day()-1 ); 903 mMonthly->setByDay( from.date().day()-1 );
903 mYearly->setFrequency( 1 ); 904 mYearly->setFrequency( 1 );
904 mYearly->setByDay( from.date().dayOfYear() ); 905 mYearly->setByDay( from.date().dayOfYear() );
905 mYearly->setByMonth( from.date().month(), from.date().day() ); 906 mYearly->setByMonth( from.date().month(), from.date().day() );
906} 907}
907 908
908void KOEditorRecurrence::readEvent(Event *event) 909void KOEditorRecurrence::readEvent(Incidence *event)
909{ 910{
910 setDefaults( event->dtStart(), event->dtEnd(), true ); 911
912 QDateTime dtEnd;
913 if ( event->type() == "Event" )
914 dtEnd = ((Event*)event)->dtEnd();
915 else
916 dtEnd = ((Todo*)event)->dtDue();
917
918 setDefaults( event->dtStart(), dtEnd, true );
911 QBitArray rDays( 7 ); 919 QBitArray rDays( 7 );
912 QPtrList<Recurrence::rMonthPos> rmp; 920 QPtrList<Recurrence::rMonthPos> rmp;
913 QPtrList<int> rmd; 921 QPtrList<int> rmd;
914 int day = 0; 922 int day = 0;
915 int count = 0; 923 int count = 0;
916 int month = 0; 924 int month = 0;
917 setDateTimes( event->dtStart(), event->dtEnd() ); 925 setDateTimes( event->dtStart(), dtEnd );
918 926
919 Recurrence *r = event->recurrence(); 927 Recurrence *r = event->recurrence();
920 int f = r->frequency(); 928 int f = r->frequency();
921 929
922 int recurs = r->doesRecur(); 930 int recurs = r->doesRecur();
923 931
924 mEnabledCheck->setChecked( recurs ); 932 mEnabledCheck->setChecked( recurs );
925 setEnabled( recurs ); 933 setEnabled( recurs );
926 934
927 int recurrenceType = RecurrenceChooser::Weekly; 935 int recurrenceType = RecurrenceChooser::Weekly;
928 936
929 switch ( recurs ) { 937 switch ( recurs ) {
930 case Recurrence::rNone: 938 case Recurrence::rNone:
931 setDefaults( event->dtStart(), event->dtEnd(), true ); 939 setDefaults( event->dtStart(), dtEnd, true );
932 break; 940 break;
933 case Recurrence::rDaily: 941 case Recurrence::rDaily:
934 recurrenceType = RecurrenceChooser::Daily; 942 recurrenceType = RecurrenceChooser::Daily;
935 mDaily->setFrequency( f ); 943 mDaily->setFrequency( f );
936 break; 944 break;
937 case Recurrence::rWeekly: 945 case Recurrence::rWeekly:
938 recurrenceType = RecurrenceChooser::Weekly; 946 recurrenceType = RecurrenceChooser::Weekly;
939 mWeekly->setFrequency( f ); 947 mWeekly->setFrequency( f );
@@ -995,17 +1003,17 @@ void KOEditorRecurrence::readEvent(Event *event)
995 break; 1003 break;
996 case Recurrence::rYearlyDay: 1004 case Recurrence::rYearlyDay:
997 qDebug("Recurrence::rYearlyDay: "); 1005 qDebug("Recurrence::rYearlyDay: ");
998 recurrenceType = RecurrenceChooser::Yearly; 1006 recurrenceType = RecurrenceChooser::Yearly;
999 mYearly->setByDay( event->dtStart().date().dayOfYear() ); 1007 mYearly->setByDay( event->dtStart().date().dayOfYear() );
1000 mYearly->setFrequency( f ); 1008 mYearly->setFrequency( f );
1001 break; 1009 break;
1002 default: 1010 default:
1003 setDefaults( event->dtStart(), event->dtEnd(), true ); 1011 setDefaults( event->dtStart(), dtEnd, true );
1004 break; 1012 break;
1005 } 1013 }
1006 1014
1007 mRecurrenceChooser->setType( recurrenceType ); 1015 mRecurrenceChooser->setType( recurrenceType );
1008 showCurrentRule( recurrenceType ); 1016 showCurrentRule( recurrenceType );
1009 1017
1010 mRecurrenceRange->setDateTimes( event->dtStart() ); 1018 mRecurrenceRange->setDateTimes( event->dtStart() );
1011 1019
@@ -1019,17 +1027,17 @@ void KOEditorRecurrence::readEvent(Event *event)
1019 mRecurrenceRange->setEndDate( r->endDate() ); 1027 mRecurrenceRange->setEndDate( r->endDate() );
1020 } else 1028 } else
1021 mRecurrenceRange->setEndDate( event->dtStart().date() ); 1029 mRecurrenceRange->setEndDate( event->dtStart().date() );
1022 } 1030 }
1023 1031
1024 mExceptions->setDates( event->exDates() ); 1032 mExceptions->setDates( event->exDates() );
1025} 1033}
1026 1034
1027void KOEditorRecurrence::writeEvent( Event *event ) 1035void KOEditorRecurrence::writeEvent( Incidence *event )
1028{ 1036{
1029 Recurrence *r = event->recurrence(); 1037 Recurrence *r = event->recurrence();
1030 1038
1031 // clear out any old settings; 1039 // clear out any old settings;
1032 r->unsetRecurs(); 1040 r->unsetRecurs();
1033 1041
1034 if ( mEnabledCheck->isChecked() ) { 1042 if ( mEnabledCheck->isChecked() ) {
1035 int duration = mRecurrenceRange->duration(); 1043 int duration = mRecurrenceRange->duration();
diff --git a/korganizer/koeditorrecurrence.h b/korganizer/koeditorrecurrence.h
index 2b59085..a15afcb 100644
--- a/korganizer/koeditorrecurrence.h
+++ b/korganizer/koeditorrecurrence.h
@@ -269,19 +269,19 @@ class KOEditorRecurrence : public QWidget
269 KOEditorRecurrence ( QWidget *parent = 0, const char *name = 0 ); 269 KOEditorRecurrence ( QWidget *parent = 0, const char *name = 0 );
270 virtual ~KOEditorRecurrence(); 270 virtual ~KOEditorRecurrence();
271 271
272 enum { Daily, Weekly, Monthly, Yearly }; 272 enum { Daily, Weekly, Monthly, Yearly };
273 273
274 /** Set widgets to default values */ 274 /** Set widgets to default values */
275 void setDefaults( QDateTime from, QDateTime to, bool allday ); 275 void setDefaults( QDateTime from, QDateTime to, bool allday );
276 /** Read event object and setup widgets accordingly */ 276 /** Read event object and setup widgets accordingly */
277 void readEvent( Event * ); 277 void readEvent( Incidence * );
278 /** Write event settings to event object */ 278 /** Write event settings to event object */
279 void writeEvent( Event * ); 279 void writeEvent( Incidence * );
280 280
281 /** Check if the input is valid. */ 281 /** Check if the input is valid. */
282 bool validateInput(); 282 bool validateInput();
283 283
284 public slots: 284 public slots:
285 void setEnabled( bool ); 285 void setEnabled( bool );
286 void setDateTimes( QDateTime start, QDateTime end ); 286 void setDateTimes( QDateTime start, QDateTime end );
287 void setDateTimeStr( const QString & ); 287 void setDateTimeStr( const QString & );
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp
index 70dfbd1..069dda8 100644
--- a/korganizer/kotodoeditor.cpp
+++ b/korganizer/kotodoeditor.cpp
@@ -25,29 +25,31 @@
25#include <qtooltip.h> 25#include <qtooltip.h>
26#include <qframe.h> 26#include <qframe.h>
27#include <qpixmap.h> 27#include <qpixmap.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qhbox.h> 29#include <qhbox.h>
30#include <qdir.h> 30#include <qdir.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qapplication.h> 32#include <qapplication.h>
33#include <qtabwidget.h>
33 34
34#include <kiconloader.h> 35#include <kiconloader.h>
35#include <klocale.h> 36#include <klocale.h>
36#include <kfiledialog.h> 37#include <kfiledialog.h>
37#include <kstandarddirs.h> 38#include <kstandarddirs.h>
38#include <kmessagebox.h> 39#include <kmessagebox.h>
39 40
40#include <libkdepim/categoryselectdialog.h> 41#include <libkdepim/categoryselectdialog.h>
41#include <libkcal/calendarlocal.h> 42#include <libkcal/calendarlocal.h>
42#include <libkcal/calendarresources.h> 43#include <libkcal/calendarresources.h>
43#include <libkcal/resourcecalendar.h> 44#include <libkcal/resourcecalendar.h>
44#include <libkcal/icalformat.h> 45#include <libkcal/icalformat.h>
45#include <kresources/resourceselectdialog.h> 46#include <kresources/resourceselectdialog.h>
47#include <libkdepim/kdateedit.h>
46 48
47#include "koprefs.h" 49#include "koprefs.h"
48#include "kolocationbox.h" 50#include "kolocationbox.h"
49 51
50#include "kotodoeditor.h" 52#include "kotodoeditor.h"
51extern int globalFlagBlockAgenda; 53extern int globalFlagBlockAgenda;
52 54
53KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : 55KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) :
@@ -63,17 +65,28 @@ KOTodoEditor::~KOTodoEditor()
63{ 65{
64 emit dialogClose( mTodo ); 66 emit dialogClose( mTodo );
65} 67}
66 68
67void KOTodoEditor::init() 69void KOTodoEditor::init()
68{ 70{
69 setupGeneral(); 71 setupGeneral();
70 setupAttendeesTab(); 72 setupAttendeesTab();
73 setupRecurrence();
74 connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence()));
71} 75}
76void KOTodoEditor::setupRecurrence()
77{
78 QFrame *topFrame = addPage( i18n("Recurrence") );
79 QBoxLayout *topLayout = new QVBoxLayout( topFrame );
80
81 mRecurrence = new KOEditorRecurrence( topFrame );
82 topLayout->addWidget( mRecurrence );
83}
84
72void KOTodoEditor::setCategories( QString s ) 85void KOTodoEditor::setCategories( QString s )
73{ 86{
74 mGeneral->setCategories(s); 87 mGeneral->setCategories(s);
75} 88}
76void KOTodoEditor::setSecrecy( int sec ) 89void KOTodoEditor::setSecrecy( int sec )
77{ 90{
78 mGeneral->setSecrecy( sec ); 91 mGeneral->setSecrecy( sec );
79} 92}
@@ -189,16 +202,17 @@ void KOTodoEditor::editTodo(Todo *todo, bool editDescription)
189 readTodo(mTodo); 202 readTodo(mTodo);
190 if ( editDescription ) { 203 if ( editDescription ) {
191 showPage( 1 ); 204 showPage( 1 );
192 mGeneral->setFocusOn( 1 ); 205 mGeneral->setFocusOn( 1 );
193 } else { 206 } else {
194 showPage( 0 ); 207 showPage( 0 );
195 mGeneral->setFocusOn( 2 ); 208 mGeneral->setFocusOn( 2 );
196 } 209 }
210 checkRecurrence();
197} 211}
198 212
199void KOTodoEditor::newTodo(QDateTime due,Todo *relatedTodo,bool allDay) 213void KOTodoEditor::newTodo(QDateTime due,Todo *relatedTodo,bool allDay)
200{ 214{
201 //init(); 215 //init();
202 216
203 mTodo = 0; 217 mTodo = 0;
204 setDefaults(due,relatedTodo,allDay); 218 setDefaults(due,relatedTodo,allDay);
@@ -282,18 +296,43 @@ void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay)
282 mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": "); 296 mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": ");
283 int len = mRelatedTodo->summary().length(); 297 int len = mRelatedTodo->summary().length();
284 mGeneral->mSummaryEdit->lineEdit()->setFocus(); 298 mGeneral->mSummaryEdit->lineEdit()->setFocus();
285 mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 ); 299 mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 );
286 mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 ); 300 mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 );
287 301
288 } else 302 } else
289 mGeneral->setFocusOn( 2 ); 303 mGeneral->setFocusOn( 2 );
304 tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false );
305 mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 ),true);
290} 306}
307void KOTodoEditor::checkRecurrence()
308{
309 if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) {
310 tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), true );
291 311
312 if ( mTodo )
313 mRecurrence->readEvent( mTodo );
314 else {
315 bool time = mGeneral->mTimeButton->isChecked();
316 QDateTime from,to;
317 if ( time ) {
318 to = QDateTime( mGeneral->mDueDateEdit->date(), mGeneral->mDueTimeEdit->getTime() ) ;
319 from = QDateTime( mGeneral->mStartDateEdit->date(),mGeneral->mStartTimeEdit->getTime( )) ;
320 } else {
321 to = QDateTime( mGeneral->mDueDateEdit->date(), QTime( 0,0,0) ) ;
322 from = QDateTime( mGeneral->mStartDateEdit->date(),QTime( 0,0,0) ) ;
323 }
324 mRecurrence->setDefaults(from,to,!time);
325 }
326 } else {
327 tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false );
328 mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 ),true);
329 }
330}
292void KOTodoEditor::readTodo(Todo *todo) 331void KOTodoEditor::readTodo(Todo *todo)
293{ 332{
294 mGeneral->readTodo(todo); 333 mGeneral->readTodo(todo);
295 mDetails->readEvent(todo); 334 mDetails->readEvent(todo);
296 mRelatedTodo = 0;//todo->relatedTo(); 335 mRelatedTodo = 0;//todo->relatedTo();
297 // categories 336 // categories
298 // mCategoryDialog->setSelected(todo->categories()); 337 // mCategoryDialog->setSelected(todo->categories());
299 338
@@ -304,16 +343,20 @@ void KOTodoEditor::writeTodo(Todo *event)
304{ 343{
305 mGeneral->writeTodo(event); 344 mGeneral->writeTodo(event);
306 mDetails->writeEvent(event); 345 mDetails->writeEvent(event);
307 346
308 // set related event, i.e. parent to-do in this case. 347 // set related event, i.e. parent to-do in this case.
309 if (mRelatedTodo) { 348 if (mRelatedTodo) {
310 event->setRelatedTo(mRelatedTodo); 349 event->setRelatedTo(mRelatedTodo);
311 } 350 }
351 if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) {
352 mRecurrence->writeEvent(event);
353 } else
354 event->recurrence()->unsetRecurs();
312} 355}
313 356
314bool KOTodoEditor::validateInput() 357bool KOTodoEditor::validateInput()
315{ 358{
316 if (!mGeneral->validateInput()) return false; 359 if (!mGeneral->validateInput()) return false;
317 if (!mDetails->validateInput()) return false; 360 if (!mDetails->validateInput()) return false;
318 return true; 361 return true;
319} 362}
diff --git a/korganizer/kotodoeditor.h b/korganizer/kotodoeditor.h
index 2657bd8..1b5e3b4 100644
--- a/korganizer/kotodoeditor.h
+++ b/korganizer/kotodoeditor.h
@@ -24,16 +24,17 @@
24#ifndef _KOTODOEDITOR_H 24#ifndef _KOTODOEDITOR_H
25#define _KOTODOEDITOR_H 25#define _KOTODOEDITOR_H
26 26
27#include <libkcal/calendar.h> 27#include <libkcal/calendar.h>
28 28
29#include "koeditorgeneraltodo.h" 29#include "koeditorgeneraltodo.h"
30#include "koeditordetails.h" 30#include "koeditordetails.h"
31#include "koincidenceeditor.h" 31#include "koincidenceeditor.h"
32#include "koeditorrecurrence.h"
32 33
33class QDateTime; 34class QDateTime;
34 35
35/** 36/**
36 This class provides a dialog for editing a Todo. 37 This class provides a dialog for editing a Todo.
37*/ 38*/
38class KOTodoEditor : public KOIncidenceEditor 39class KOTodoEditor : public KOIncidenceEditor
39{ 40{
@@ -77,26 +78,29 @@ class KOTodoEditor : public KOIncidenceEditor
77 void todoChanged(Todo *); 78 void todoChanged(Todo *);
78 void todoAdded(Todo *); 79 void todoAdded(Todo *);
79 void todoToBeDeleted(Todo *); 80 void todoToBeDeleted(Todo *);
80 void todoDeleted(); 81 void todoDeleted();
81 82
82 protected slots: 83 protected slots:
83 void loadDefaults(); 84 void loadDefaults();
84 void deleteTodo(); 85 void deleteTodo();
86 void checkRecurrence();
85 87
86 void slotLoadTemplate(); 88 void slotLoadTemplate();
87 void slotSaveTemplate(); 89 void slotSaveTemplate();
88 void saveTemplate( const QString & ); 90 void saveTemplate( const QString & );
89 91
90 protected: 92 protected:
91 void setupGeneral(); 93 void setupGeneral();
92 int msgItemDelete(); 94 int msgItemDelete();
95 void setupRecurrence();
93 96
94 private: 97 private:
95 Todo *mTodo; 98 Todo *mTodo;
96 99
97 Incidence *mRelatedTodo; 100 Incidence *mRelatedTodo;
98 101
99 KOEditorGeneralTodo *mGeneral; 102 KOEditorGeneralTodo *mGeneral;
103 KOEditorRecurrence *mRecurrence;
100}; 104};
101 105
102#endif 106#endif