-rw-r--r-- | korganizer/kotodoview.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 8c1953d..14e8b5c 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -289,96 +289,97 @@ void KOTodoListView::keyPressEvent ( QKeyEvent * e ) | |||
289 | e->ignore(); | 289 | e->ignore(); |
290 | } | 290 | } |
291 | void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) | 291 | void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) |
292 | { | 292 | { |
293 | QListView::contentsMouseReleaseEvent(e); | 293 | QListView::contentsMouseReleaseEvent(e); |
294 | mMousePressed = false; | 294 | mMousePressed = false; |
295 | } | 295 | } |
296 | 296 | ||
297 | void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) | 297 | void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) |
298 | { | 298 | { |
299 | if (!e) return; | 299 | if (!e) return; |
300 | 300 | ||
301 | QPoint vp = contentsToViewport(e->pos()); | 301 | QPoint vp = contentsToViewport(e->pos()); |
302 | 302 | ||
303 | QListViewItem *item = itemAt(vp); | 303 | QListViewItem *item = itemAt(vp); |
304 | 304 | ||
305 | emit double_Clicked(item); | 305 | emit double_Clicked(item); |
306 | if (!item) return; | 306 | if (!item) return; |
307 | 307 | ||
308 | emit doubleClicked(item,vp,0); | 308 | emit doubleClicked(item,vp,0); |
309 | } | 309 | } |
310 | 310 | ||
311 | ///////////////////////////////////////////////////////////////////////////// | 311 | ///////////////////////////////////////////////////////////////////////////// |
312 | 312 | ||
313 | KOQuickTodo::KOQuickTodo(QWidget *parent) : | 313 | KOQuickTodo::KOQuickTodo(QWidget *parent) : |
314 | QLineEdit(parent) | 314 | QLineEdit(parent) |
315 | { | 315 | { |
316 | setText(i18n("Click to add a new Todo")); | 316 | setText(i18n("Click to add a new Todo")); |
317 | } | 317 | } |
318 | 318 | ||
319 | void KOQuickTodo::focusInEvent(QFocusEvent *ev) | 319 | void KOQuickTodo::focusInEvent(QFocusEvent *ev) |
320 | { | 320 | { |
321 | if ( text()==i18n("Click to add a new Todo") ) | 321 | if ( text()==i18n("Click to add a new Todo") ) |
322 | setText(""); | 322 | setText(""); |
323 | QLineEdit::focusInEvent(ev); | 323 | QLineEdit::focusInEvent(ev); |
324 | } | 324 | } |
325 | 325 | ||
326 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) | 326 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) |
327 | { | 327 | { |
328 | setText(i18n("Click to add a new Todo")); | 328 | setText(i18n("Click to add a new Todo")); |
329 | QLineEdit::focusOutEvent(ev); | 329 | QLineEdit::focusOutEvent(ev); |
330 | } | 330 | } |
331 | 331 | ||
332 | ///////////////////////////////////////////////////////////////////////////// | 332 | ///////////////////////////////////////////////////////////////////////////// |
333 | 333 | ||
334 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | 334 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : |
335 | KOrg::BaseView(calendar,parent,name) | 335 | KOrg::BaseView(calendar,parent,name) |
336 | { | 336 | { |
337 | isFlatDisplay = false; | ||
337 | mNavigator = 0; | 338 | mNavigator = 0; |
338 | QBoxLayout *topLayout = new QVBoxLayout(this); | 339 | QBoxLayout *topLayout = new QVBoxLayout(this); |
339 | mName = QString ( name ); | 340 | mName = QString ( name ); |
340 | mBlockUpdate = false; | 341 | mBlockUpdate = false; |
341 | mQuickAdd = new KOQuickTodo(this); | 342 | mQuickAdd = new KOQuickTodo(this); |
342 | topLayout->addWidget(mQuickAdd); | 343 | topLayout->addWidget(mQuickAdd); |
343 | 344 | ||
344 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); | 345 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); |
345 | 346 | ||
346 | mTodoListView = new KOTodoListView(calendar,this, name ); | 347 | mTodoListView = new KOTodoListView(calendar,this, name ); |
347 | topLayout->addWidget(mTodoListView); | 348 | topLayout->addWidget(mTodoListView); |
348 | //mTodoListView->header()->setMaximumHeight(30); | 349 | //mTodoListView->header()->setMaximumHeight(30); |
349 | mTodoListView->setRootIsDecorated(true); | 350 | mTodoListView->setRootIsDecorated(true); |
350 | mTodoListView->setAllColumnsShowFocus(true); | 351 | mTodoListView->setAllColumnsShowFocus(true); |
351 | 352 | ||
352 | mTodoListView->setShowSortIndicator(true); | 353 | mTodoListView->setShowSortIndicator(true); |
353 | 354 | ||
354 | mTodoListView->addColumn(i18n("Todo")); | 355 | mTodoListView->addColumn(i18n("Todo")); |
355 | mTodoListView->addColumn(i18n("Prio")); | 356 | mTodoListView->addColumn(i18n("Prio")); |
356 | mTodoListView->setColumnAlignment(1,AlignHCenter); | 357 | mTodoListView->setColumnAlignment(1,AlignHCenter); |
357 | mTodoListView->addColumn(i18n("Complete")); | 358 | mTodoListView->addColumn(i18n("Complete")); |
358 | mTodoListView->setColumnAlignment(2,AlignCenter); | 359 | mTodoListView->setColumnAlignment(2,AlignCenter); |
359 | 360 | ||
360 | mTodoListView->addColumn(i18n("Due Date")); | 361 | mTodoListView->addColumn(i18n("Due Date")); |
361 | mTodoListView->setColumnAlignment(3,AlignLeft); | 362 | mTodoListView->setColumnAlignment(3,AlignLeft); |
362 | mTodoListView->addColumn(i18n("Due Time")); | 363 | mTodoListView->addColumn(i18n("Due Time")); |
363 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 364 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
364 | 365 | ||
365 | mTodoListView->addColumn(i18n("Start Date")); | 366 | mTodoListView->addColumn(i18n("Start Date")); |
366 | mTodoListView->setColumnAlignment(5,AlignLeft); | 367 | mTodoListView->setColumnAlignment(5,AlignLeft); |
367 | mTodoListView->addColumn(i18n("Start Time")); | 368 | mTodoListView->addColumn(i18n("Start Time")); |
368 | mTodoListView->setColumnAlignment(6,AlignHCenter); | 369 | mTodoListView->setColumnAlignment(6,AlignHCenter); |
369 | 370 | ||
370 | mTodoListView->addColumn(i18n("Cancelled")); | 371 | mTodoListView->addColumn(i18n("Cancelled")); |
371 | mTodoListView->addColumn(i18n("Categories")); | 372 | mTodoListView->addColumn(i18n("Categories")); |
372 | #if 0 | 373 | #if 0 |
373 | mTodoListView->addColumn(i18n("Sort Id")); | 374 | mTodoListView->addColumn(i18n("Sort Id")); |
374 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 375 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
375 | #endif | 376 | #endif |
376 | 377 | ||
377 | mTodoListView->setMinimumHeight( 60 ); | 378 | mTodoListView->setMinimumHeight( 60 ); |
378 | mTodoListView->setItemsRenameable( true ); | 379 | mTodoListView->setItemsRenameable( true ); |
379 | mTodoListView->setRenameable( 0 ); | 380 | mTodoListView->setRenameable( 0 ); |
380 | mTodoListView->setColumnWidth( 0, 120 ); | 381 | mTodoListView->setColumnWidth( 0, 120 ); |
381 | mTodoListView->setColumnWidthMode(0, QListView::Manual); | 382 | mTodoListView->setColumnWidthMode(0, QListView::Manual); |
382 | mTodoListView->setColumnWidthMode(1, QListView::Manual); | 383 | mTodoListView->setColumnWidthMode(1, QListView::Manual); |
383 | mTodoListView->setColumnWidthMode(2, QListView::Manual); | 384 | mTodoListView->setColumnWidthMode(2, QListView::Manual); |
384 | mTodoListView->setColumnWidthMode(3, QListView::Manual); | 385 | mTodoListView->setColumnWidthMode(3, QListView::Manual); |
@@ -907,107 +908,115 @@ void KOTodoView::changedCategories(int index) | |||
907 | void KOTodoView::itemDoubleClicked(QListViewItem *item) | 908 | void KOTodoView::itemDoubleClicked(QListViewItem *item) |
908 | { | 909 | { |
909 | if ( pendingSubtodo != 0 ) { | 910 | if ( pendingSubtodo != 0 ) { |
910 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 911 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
911 | } | 912 | } |
912 | pendingSubtodo = 0; | 913 | pendingSubtodo = 0; |
913 | if (!item) { | 914 | if (!item) { |
914 | newTodo(); | 915 | newTodo(); |
915 | return; | 916 | return; |
916 | } | 917 | } |
917 | if ( KOPrefs::instance()->mEditOnDoubleClick ) | 918 | if ( KOPrefs::instance()->mEditOnDoubleClick ) |
918 | editItem( item ); | 919 | editItem( item ); |
919 | else | 920 | else |
920 | showItem( item , QPoint(), 0 ); | 921 | showItem( item , QPoint(), 0 ); |
921 | } | 922 | } |
922 | void KOTodoView::itemClicked(QListViewItem *item) | 923 | void KOTodoView::itemClicked(QListViewItem *item) |
923 | { | 924 | { |
924 | 925 | ||
925 | if (!item) { | 926 | if (!item) { |
926 | if ( pendingSubtodo != 0 ) { | 927 | if ( pendingSubtodo != 0 ) { |
927 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 928 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
928 | } | 929 | } |
929 | pendingSubtodo = 0; | 930 | pendingSubtodo = 0; |
930 | return; | 931 | return; |
931 | } | 932 | } |
932 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 933 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
933 | if ( pendingSubtodo != 0 ) { | 934 | if ( pendingSubtodo != 0 ) { |
934 | bool allowReparent = true; | 935 | bool allowReparent = true; |
935 | QListViewItem *par = item; | 936 | QListViewItem *par = item; |
936 | while ( par ) { | 937 | while ( par ) { |
937 | if ( par == pendingSubtodo ) { | 938 | if ( par == pendingSubtodo ) { |
938 | allowReparent = false; | 939 | allowReparent = false; |
939 | break; | 940 | break; |
940 | } | 941 | } |
941 | par = par->parent(); | 942 | par = par->parent(); |
942 | } | 943 | } |
943 | if ( !allowReparent ) { | 944 | if ( !allowReparent ) { |
944 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); | 945 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); |
945 | qDebug("Recursive reparenting not possible "); | 946 | qDebug("Recursive reparenting not possible "); |
946 | pendingSubtodo = 0; | 947 | pendingSubtodo = 0; |
947 | } else { | 948 | } else { |
948 | Todo* newParent = todoItem->todo(); | 949 | Todo* newParent = todoItem->todo(); |
949 | Todo* newSub = pendingSubtodo->todo(); | 950 | Todo* newSub = pendingSubtodo->todo(); |
950 | pendingSubtodo = 0; | 951 | pendingSubtodo = 0; |
951 | emit reparentTodoSignal( newParent,newSub ); | 952 | emit reparentTodoSignal( newParent,newSub ); |
952 | return; | 953 | return; |
953 | } | 954 | } |
954 | } | 955 | } |
955 | int completed = todoItem->todo()->isCompleted(); // Completed or not? | 956 | #if 0 |
956 | 957 | // handled by the item itself | |
958 | bool completed = todoItem->todo()->isCompleted(); // Completed or not? | ||
959 | qDebug("com %d ",completed ); | ||
960 | qDebug("itemclicked "); | ||
957 | if (todoItem->isOn()) { | 961 | if (todoItem->isOn()) { |
962 | qDebug("on "); | ||
958 | if (!completed) { | 963 | if (!completed) { |
964 | qDebug("set true "); | ||
959 | todoItem->todo()->setCompleted(QDateTime::currentDateTime()); | 965 | todoItem->todo()->setCompleted(QDateTime::currentDateTime()); |
960 | } | 966 | } |
961 | } else { | 967 | } else { |
968 | qDebug("not on "); | ||
962 | if (completed) { | 969 | if (completed) { |
970 | qDebug("set false "); | ||
963 | todoItem->todo()->setCompleted(false); | 971 | todoItem->todo()->setCompleted(false); |
964 | } | 972 | } |
965 | } | 973 | } |
974 | #endif | ||
966 | } | 975 | } |
967 | 976 | ||
968 | void KOTodoView::setDocumentId( const QString &id ) | 977 | void KOTodoView::setDocumentId( const QString &id ) |
969 | { | 978 | { |
970 | kdDebug() << "KOTodoView::setDocumentId()" << endl; | 979 | kdDebug() << "KOTodoView::setDocumentId()" << endl; |
971 | 980 | ||
972 | mDocPrefs->setDoc( id ); | 981 | mDocPrefs->setDoc( id ); |
973 | } | 982 | } |
974 | 983 | ||
975 | void KOTodoView::itemStateChanged( QListViewItem *item ) | 984 | void KOTodoView::itemStateChanged( QListViewItem *item ) |
976 | { | 985 | { |
977 | if (!item) return; | 986 | if (!item) return; |
978 | 987 | ||
979 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 988 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
980 | 989 | ||
981 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; | 990 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; |
982 | 991 | ||
983 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); | 992 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); |
984 | } | 993 | } |
985 | 994 | ||
986 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const | 995 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const |
987 | { | 996 | { |
988 | mTodoListView->saveLayout(config,group); | 997 | mTodoListView->saveLayout(config,group); |
989 | } | 998 | } |
990 | 999 | ||
991 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) | 1000 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) |
992 | { | 1001 | { |
993 | mTodoListView->restoreLayout(config,group); | 1002 | mTodoListView->restoreLayout(config,group); |
994 | } | 1003 | } |
995 | 1004 | ||
996 | void KOTodoView::processSelectionChange() | 1005 | void KOTodoView::processSelectionChange() |
997 | { | 1006 | { |
998 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; | 1007 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; |
999 | 1008 | ||
1000 | KOTodoViewItem *item = | 1009 | KOTodoViewItem *item = |
1001 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); | 1010 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); |
1002 | 1011 | ||
1003 | if ( !item ) { | 1012 | if ( !item ) { |
1004 | emit incidenceSelected( 0 ); | 1013 | emit incidenceSelected( 0 ); |
1005 | } else { | 1014 | } else { |
1006 | emit incidenceSelected( item->todo() ); | 1015 | emit incidenceSelected( item->todo() ); |
1007 | } | 1016 | } |
1008 | } | 1017 | } |
1009 | 1018 | ||
1010 | void KOTodoView::modified(bool b) | 1019 | void KOTodoView::modified(bool b) |
1011 | { | 1020 | { |
1012 | emit isModified(b); | 1021 | emit isModified(b); |
1013 | } | 1022 | } |