summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp2
-rw-r--r--korganizer/koagendaview.cpp3
-rw-r--r--korganizer/koeditorgeneraltodo.h1
-rw-r--r--korganizer/kotodoeditor.cpp12
4 files changed, 13 insertions, 5 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 7c41cab..0aef929 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -1460,25 +1460,25 @@ void KOAgenda::updateTodo( Todo * todo, int days, bool remove)
1460 QDateTime dt; 1460 QDateTime dt;
1461 if ( todo->hasCompletedDate() ) 1461 if ( todo->hasCompletedDate() )
1462 dt = todo->completed(); 1462 dt = todo->completed();
1463 else 1463 else
1464 dt = todo->dtDue(); 1464 dt = todo->dtDue();
1465 if ( overdue ) { 1465 if ( overdue ) {
1466 currentDate = QDate::currentDate(); 1466 currentDate = QDate::currentDate();
1467 days += todo->dtDue().date().daysTo( currentDate ); 1467 days += todo->dtDue().date().daysTo( currentDate );
1468 } 1468 }
1469 else 1469 else
1470 currentDate = dt.date(); 1470 currentDate = dt.date();
1471 1471
1472 if ( todo->doesFloat() || overdue ) { 1472 if (( todo->doesFloat() || overdue) && !todo->hasCompletedDate() ) {
1473 if ( ! mAllDayMode ) return; 1473 if ( ! mAllDayMode ) return;
1474 // aldayagenda 1474 // aldayagenda
1475 globalFlagBlockAgendaItemPaint = 1; 1475 globalFlagBlockAgendaItemPaint = 1;
1476 item = insertAllDayItem(todo, currentDate,days, days); 1476 item = insertAllDayItem(todo, currentDate,days, days);
1477 item->show(); 1477 item->show();
1478 1478
1479 } 1479 }
1480 else { 1480 else {
1481 if ( mAllDayMode ) return; 1481 if ( mAllDayMode ) return;
1482 // mAgenda 1482 // mAgenda
1483 globalFlagBlockAgendaItemPaint = 1; 1483 globalFlagBlockAgendaItemPaint = 1;
1484 int endY = timeToY(dt.time()) - 1; 1484 int endY = timeToY(dt.time()) - 1;
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 42a6f7c..8b79788 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -1498,25 +1498,24 @@ void KOAgendaView::scrollOneHourDown()
1498{ 1498{
1499 mAgenda->scrollBy ( 0, mAgenda->contentsHeight () / 24 ); 1499 mAgenda->scrollBy ( 0, mAgenda->contentsHeight () / 24 );
1500} 1500}
1501 1501
1502void KOAgendaView::setStartHour( int h ) 1502void KOAgendaView::setStartHour( int h )
1503{ 1503{
1504 mAgenda->setStartHour( h ); 1504 mAgenda->setStartHour( h );
1505 1505
1506} 1506}
1507 1507
1508void KOAgendaView::updateTodo( Todo * t, int ) 1508void KOAgendaView::updateTodo( Todo * t, int )
1509{ 1509{
1510
1511 bool remove = false; 1510 bool remove = false;
1512 bool removeAD = false; 1511 bool removeAD = false;
1513 QDate da; 1512 QDate da;
1514 if ( t->hasCompletedDate() ) 1513 if ( t->hasCompletedDate() )
1515 da = t->completed().date(); 1514 da = t->completed().date();
1516 else 1515 else
1517 da = t->dtDue().date(); 1516 da = t->dtDue().date();
1518 if ( ! t->hasDueDate() && !t->hasCompletedDate() ) { 1517 if ( ! t->hasDueDate() && !t->hasCompletedDate() ) {
1519 remove = true; 1518 remove = true;
1520 removeAD = true; 1519 removeAD = true;
1521 } 1520 }
1522 else { 1521 else {
@@ -1531,19 +1530,19 @@ void KOAgendaView::updateTodo( Todo * t, int )
1531 1530
1532 if ( da < mSelectedDates.first() || 1531 if ( da < mSelectedDates.first() ||
1533 da > mSelectedDates.last() ) { 1532 da > mSelectedDates.last() ) {
1534 remove = true; 1533 remove = true;
1535 removeAD = true; 1534 removeAD = true;
1536 } else { 1535 } else {
1537 remove = t->doesFloat() && !t->hasCompletedDate(); 1536 remove = t->doesFloat() && !t->hasCompletedDate();
1538 removeAD = !remove; 1537 removeAD = !remove;
1539 } 1538 }
1540 } 1539 }
1541 } 1540 }
1542 int days = mSelectedDates.first().daysTo( da ); 1541 int days = mSelectedDates.first().daysTo( da );
1543 // qDebug("daysto %d ", days ); 1542 //qDebug("daysto %d %d %d", days, remove,removeAD );
1544 mAgenda->updateTodo( t , days, remove); 1543 mAgenda->updateTodo( t , days, remove);
1545 if ( KOPrefs::instance()->mShowTodoInAgenda ) 1544 if ( KOPrefs::instance()->mShowTodoInAgenda )
1546 mAllDayAgenda->updateTodo( t , days, removeAD); 1545 mAllDayAgenda->updateTodo( t , days, removeAD);
1547 //qDebug("KOAgendaView::updateTodo( Todo *, int ) "); 1546 //qDebug("KOAgendaView::updateTodo( Todo *, int ) ");
1548 1547
1549} 1548}
diff --git a/korganizer/koeditorgeneraltodo.h b/korganizer/koeditorgeneraltodo.h
index f6c30f8..5f1c3cc 100644
--- a/korganizer/koeditorgeneraltodo.h
+++ b/korganizer/koeditorgeneraltodo.h
@@ -76,24 +76,25 @@ class KOEditorGeneralTodo : public KOEditorGeneral
76 protected slots: 76 protected slots:
77 void completedChanged(int); 77 void completedChanged(int);
78 78
79 void enableDueEdit( bool enable ); 79 void enableDueEdit( bool enable );
80 void enableStartEdit( bool enable ); 80 void enableStartEdit( bool enable );
81 void enableTimeEdits( bool enable ); 81 void enableTimeEdits( bool enable );
82 void showAlarm(); 82 void showAlarm();
83 83
84 protected: 84 protected:
85 void setCompletedDate(); 85 void setCompletedDate();
86 86
87 private: 87 private:
88 friend class KOTodoEditor;
88 KDateEdit *mStartDateEdit; 89 KDateEdit *mStartDateEdit;
89 KOTimeEdit *mStartTimeEdit; 90 KOTimeEdit *mStartTimeEdit;
90 QCheckBox *mTimeButton; 91 QCheckBox *mTimeButton;
91 QCheckBox *mDueCheck; 92 QCheckBox *mDueCheck;
92 KDateEdit *mDueDateEdit; 93 KDateEdit *mDueDateEdit;
93 KOTimeEdit *mDueTimeEdit; 94 KOTimeEdit *mDueTimeEdit;
94 QComboBox *mCompletedCombo; 95 QComboBox *mCompletedCombo;
95 QLabel *mCompletedLabel; 96 QLabel *mCompletedLabel;
96 QLabel *mPriorityLabel; 97 QLabel *mPriorityLabel;
97 QComboBox *mPriorityCombo; 98 QComboBox *mPriorityCombo;
98 99
99 QCheckBox *mStartCheck; 100 QCheckBox *mStartCheck;
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp
index 16c19a4..ec5c2d1 100644
--- a/korganizer/kotodoeditor.cpp
+++ b/korganizer/kotodoeditor.cpp
@@ -36,24 +36,25 @@
36#include <kfiledialog.h> 36#include <kfiledialog.h>
37#include <kstandarddirs.h> 37#include <kstandarddirs.h>
38#include <kmessagebox.h> 38#include <kmessagebox.h>
39 39
40#include <libkdepim/categoryselectdialog.h> 40#include <libkdepim/categoryselectdialog.h>
41#include <libkcal/calendarlocal.h> 41#include <libkcal/calendarlocal.h>
42#include <libkcal/calendarresources.h> 42#include <libkcal/calendarresources.h>
43#include <libkcal/resourcecalendar.h> 43#include <libkcal/resourcecalendar.h>
44#include <libkcal/icalformat.h> 44#include <libkcal/icalformat.h>
45#include <kresources/resourceselectdialog.h> 45#include <kresources/resourceselectdialog.h>
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48#include "kolocationbox.h"
48 49
49#include "kotodoeditor.h" 50#include "kotodoeditor.h"
50extern int globalFlagBlockAgenda; 51extern int globalFlagBlockAgenda;
51 52
52KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : 53KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) :
53 KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) 54 KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent )
54{ 55{
55 mTodo = 0; 56 mTodo = 0;
56 mRelatedTodo = 0; 57 mRelatedTodo = 0;
57 findButton(User1)->hide(); 58 findButton(User1)->hide();
58 init(); 59 init();
59} 60}
@@ -267,27 +268,34 @@ void KOTodoEditor::deleteTodo()
267} 268}
268 269
269void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay) 270void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay)
270{ 271{
271 mRelatedTodo = relatedEvent; 272 mRelatedTodo = relatedEvent;
272 273
273 mGeneral->setDefaults(due,allDay); 274 mGeneral->setDefaults(due,allDay);
274 mDetails->setDefaults(); 275 mDetails->setDefaults();
275 showPage( 0 ); 276 showPage( 0 );
276 if ( mRelatedTodo ) { 277 if ( mRelatedTodo ) {
277 mGeneral->setCategories (mRelatedTodo->categoriesStr ()); 278 mGeneral->setCategories (mRelatedTodo->categoriesStr ());
278 mGeneral->setSecrecy (mRelatedTodo->secrecy ()); 279 mGeneral->setSecrecy (mRelatedTodo->secrecy ());
280 if ( mRelatedTodo->priority() < 3 )
281 mGeneral->mPriorityCombo->setCurrentItem(mRelatedTodo->priority()-1);
282 mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": ");
283 int len = mRelatedTodo->summary().length();
284 mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 );
285 mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 );
286 mGeneral->mSummaryEdit->lineEdit()->setFocus();
279 287
280 } 288 } else
281 mGeneral->setFocusOn( 2 ); 289 mGeneral->setFocusOn( 2 );
282} 290}
283 291
284void KOTodoEditor::readTodo(Todo *todo) 292void KOTodoEditor::readTodo(Todo *todo)
285{ 293{
286 mGeneral->readTodo(todo); 294 mGeneral->readTodo(todo);
287 mDetails->readEvent(todo); 295 mDetails->readEvent(todo);
288 mRelatedTodo = 0;//todo->relatedTo(); 296 mRelatedTodo = 0;//todo->relatedTo();
289 // categories 297 // categories
290 // mCategoryDialog->setSelected(todo->categories()); 298 // mCategoryDialog->setSelected(todo->categories());
291 299
292 // We should handle read-only events here. 300 // We should handle read-only events here.
293} 301}