-rw-r--r-- | korganizer/calendarview.cpp | 2 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.cpp | 20 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.h | 1 | ||||
-rw-r--r-- | korganizer/koviewmanager.h | 2 |
4 files changed, 22 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 363dc32..378c7d4 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -2717,24 +2717,26 @@ void CalendarView::editTodo( Todo *todo ) } KOEventViewerDialog* CalendarView::getEventViewerDialog() { if ( !mEventViewerDialog ) { mEventViewerDialog = new KOEventViewerDialog(this); connect( mEventViewerDialog, SIGNAL( editIncidence( Incidence* )), this, SLOT(editIncidence( Incidence* ) ) ); connect( this, SIGNAL(configChanged()), mEventViewerDialog, SLOT(updateConfig())); connect( mEventViewerDialog, SIGNAL(jumpToTime( const QDate &)), dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); connect( mEventViewerDialog, SIGNAL(showAgendaView( bool ) ), viewManager(), SLOT( showAgendaView( bool ) ) ); + connect( mEventViewerDialog, SIGNAL( todoCompleted(Todo *) ), + this, SLOT( todoChanged(Todo *) ) ); mEventViewerDialog->resize( 640, 480 ); } return mEventViewerDialog; } void CalendarView::showEvent(Event *event) { getEventViewerDialog()->setEvent(event); getEventViewerDialog()->showMe(); } void CalendarView::showTodo(Todo *event) diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp index 68c0e1a..772fd95 100644 --- a/korganizer/koeventviewerdialog.cpp +++ b/korganizer/koeventviewerdialog.cpp @@ -140,38 +140,47 @@ void KOEventViewerDialog::addIncidence(Incidence *in) else if ( in->type() =="Journal" ) mEventViewer->setJournal( (Journal*) in, false ); if ( mSyncMode ) { findButton( User1 )->setFocus(); setCaption(i18n("Conflict! Please choose entry")); } } void KOEventViewerDialog::addEvent(Event *event) { mEventViewer->addEvent(event); mIncidence = event; - findButton( Close )->setFocus(); + findButton( Close )->setFocus(); + if ( !mSyncMode ) { + findButton( User1 )->setText( i18n("Agenda")); + } } void KOEventViewerDialog::setTodo(Todo *event) { mEventViewer->setTodo(event); mIncidence = (Incidence*)event; - findButton( Close )->setFocus(); + findButton( Close )->setFocus(); + if ( !mSyncMode ) { + findButton( User1 )->setText( i18n("Set complete")); + } } void KOEventViewerDialog::setJournal(Journal *j) { mEventViewer->setJournal(j); mIncidence = (Incidence*)j; findButton( Close )->setFocus(); + if ( !mSyncMode ) { + findButton( User1 )->setText( i18n("Agenda")); + } } void KOEventViewerDialog::addText(QString text) { mEventViewer->addText(text); findButton( Close )->setFocus(); } void KOEventViewerDialog::editIncidence() { if ( mSyncMode ) { mSyncResult = 2; accept(); @@ -190,31 +199,38 @@ void KOEventViewerDialog::showIncidence() if ( mSyncMode ) { mSyncResult = 1; accept(); return; } if ( mIncidence ){ #ifndef DESKTOP_VERSION hide(); #endif QDate date; if ( mIncidence->type() == "Todo" ) { + /* if ( ((Todo*)mIncidence)->hasDueDate() ) date = ((Todo*)mIncidence)->dtDue().date(); else { globalFlagBlockAgenda = 2; emit showAgendaView( false ); return; } + */ + ((Todo*)mIncidence)->setCompleted( true ); + hide(); + emit todoCompleted(((Todo*)mIncidence)); + return; + } else date = mIncidence->dtStart().date(); globalFlagBlockAgenda = 1; emit showAgendaView( false ); globalFlagBlockAgenda = 2; emit jumpToTime( date ); } } void KOEventViewerDialog::keyPressEvent ( QKeyEvent * e ) { switch ( e->key() ) { diff --git a/korganizer/koeventviewerdialog.h b/korganizer/koeventviewerdialog.h index 21cb3ee..b6b4103 100644 --- a/korganizer/koeventviewerdialog.h +++ b/korganizer/koeventviewerdialog.h @@ -46,24 +46,25 @@ class KOEventViewerDialog : public KDialogBase { void addIncidence(Incidence *inc); void addText(QString text); void showMe(); void setSyncMode( bool ); void setColorMode( int m ); int executeS( bool ); public slots: void updateConfig(); signals: void editIncidence( Incidence* ); void jumpToTime( const QDate &); void showAgendaView( bool ); + void todoCompleted(Todo*); private slots: void editIncidence(); void showIncidence(); private: bool mSyncMode; int mSyncResult; KOEventViewer *mEventViewer; Incidence* mIncidence; void keyPressEvent ( QKeyEvent * e ); }; diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h index 6f76e2c..3c251fb 100644 --- a/korganizer/koviewmanager.h +++ b/korganizer/koviewmanager.h @@ -57,39 +57,39 @@ class KOViewManager : public QObject void readSettings(KConfig *config); void writeSettings(KConfig *config); bool showsNextDays(); /** Read which view was shown last from config file */ void readCurrentView(KConfig *); /** Write which view is currently shown to config file */ void writeCurrentView(KConfig *); KOrg::BaseView *currentView(); void setDocumentId( const QString & ); - void updateView(); void updateView( const QDate &start, const QDate &end ); void raiseCurrentView( bool fullScreen = false ); void addView(KOrg::BaseView *); Incidence *currentSelection(); QDate currentSelectionDate(); KOAgendaView *agendaView() const { return mAgendaView; } signals: void printWNV(); public slots: + void updateView(); void showWhatsNextView(); void showListView(); void showAgendaView( bool fullScreen = false ); void showDayView(); void showWorkWeekView(); void showWeekView(); void showNextXView(); void showMonthView(); void showTodoView(); void showJournalView(); void showTimeSpanView(); |