-rw-r--r-- | korganizer/kotodoview.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 2b01c23..e008625 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -361,385 +361,385 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | |||
361 | mNavigator = 0; | 361 | mNavigator = 0; |
362 | QBoxLayout *topLayout = new QVBoxLayout(this); | 362 | QBoxLayout *topLayout = new QVBoxLayout(this); |
363 | mName = QString ( name ); | 363 | mName = QString ( name ); |
364 | mBlockUpdate = false; | 364 | mBlockUpdate = false; |
365 | mQuickAdd = new KOQuickTodo(this); | 365 | mQuickAdd = new KOQuickTodo(this); |
366 | topLayout->addWidget(mQuickAdd); | 366 | topLayout->addWidget(mQuickAdd); |
367 | 367 | ||
368 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); | 368 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); |
369 | 369 | ||
370 | mTodoListView = new KOTodoListView(calendar,this, name ); | 370 | mTodoListView = new KOTodoListView(calendar,this, name ); |
371 | topLayout->addWidget(mTodoListView); | 371 | topLayout->addWidget(mTodoListView); |
372 | //mTodoListView->header()->setMaximumHeight(30); | 372 | //mTodoListView->header()->setMaximumHeight(30); |
373 | mTodoListView->setRootIsDecorated(true); | 373 | mTodoListView->setRootIsDecorated(true); |
374 | mTodoListView->setAllColumnsShowFocus(true); | 374 | mTodoListView->setAllColumnsShowFocus(true); |
375 | 375 | ||
376 | mTodoListView->setShowSortIndicator(true); | 376 | mTodoListView->setShowSortIndicator(true); |
377 | 377 | ||
378 | mTodoListView->addColumn(i18n("Todo")); | 378 | mTodoListView->addColumn(i18n("Todo")); |
379 | mTodoListView->addColumn(i18n("Prio")); | 379 | mTodoListView->addColumn(i18n("Prio")); |
380 | mTodoListView->setColumnAlignment(1,AlignHCenter); | 380 | mTodoListView->setColumnAlignment(1,AlignHCenter); |
381 | mTodoListView->addColumn(i18n("Complete")); | 381 | mTodoListView->addColumn(i18n("Complete")); |
382 | mTodoListView->setColumnAlignment(2,AlignCenter); | 382 | mTodoListView->setColumnAlignment(2,AlignCenter); |
383 | 383 | ||
384 | mTodoListView->addColumn(i18n("Due Date")); | 384 | mTodoListView->addColumn(i18n("Due Date")); |
385 | mTodoListView->setColumnAlignment(3,AlignLeft); | 385 | mTodoListView->setColumnAlignment(3,AlignLeft); |
386 | mTodoListView->addColumn(i18n("Due Time")); | 386 | mTodoListView->addColumn(i18n("Due Time")); |
387 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 387 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
388 | 388 | ||
389 | mTodoListView->addColumn(i18n("Start Date")); | 389 | mTodoListView->addColumn(i18n("Start Date")); |
390 | mTodoListView->setColumnAlignment(5,AlignLeft); | 390 | mTodoListView->setColumnAlignment(5,AlignLeft); |
391 | mTodoListView->addColumn(i18n("Start Time")); | 391 | mTodoListView->addColumn(i18n("Start Time")); |
392 | mTodoListView->setColumnAlignment(6,AlignHCenter); | 392 | mTodoListView->setColumnAlignment(6,AlignHCenter); |
393 | 393 | ||
394 | mTodoListView->addColumn(i18n("Cancelled")); | 394 | mTodoListView->addColumn(i18n("Cancelled")); |
395 | mTodoListView->addColumn(i18n("Categories")); | 395 | mTodoListView->addColumn(i18n("Categories")); |
396 | #if 0 | 396 | #if 0 |
397 | mTodoListView->addColumn(i18n("Sort Id")); | 397 | mTodoListView->addColumn(i18n("Sort Id")); |
398 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 398 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
399 | #endif | 399 | #endif |
400 | 400 | ||
401 | mTodoListView->setMinimumHeight( 60 ); | 401 | mTodoListView->setMinimumHeight( 60 ); |
402 | mTodoListView->setItemsRenameable( true ); | 402 | mTodoListView->setItemsRenameable( true ); |
403 | mTodoListView->setRenameable( 0 ); | 403 | mTodoListView->setRenameable( 0 ); |
404 | mTodoListView->setColumnWidth( 0, 120 ); | 404 | mTodoListView->setColumnWidth( 0, 120 ); |
405 | mTodoListView->setColumnWidthMode(0, QListView::Manual); | 405 | mTodoListView->setColumnWidthMode(0, QListView::Manual); |
406 | mTodoListView->setColumnWidthMode(1, QListView::Manual); | 406 | mTodoListView->setColumnWidthMode(1, QListView::Manual); |
407 | mTodoListView->setColumnWidthMode(2, QListView::Manual); | 407 | mTodoListView->setColumnWidthMode(2, QListView::Manual); |
408 | mTodoListView->setColumnWidthMode(3, QListView::Manual); | 408 | mTodoListView->setColumnWidthMode(3, QListView::Manual); |
409 | mTodoListView->setColumnWidthMode(4, QListView::Manual); | 409 | mTodoListView->setColumnWidthMode(4, QListView::Manual); |
410 | mTodoListView->setColumnWidthMode(5, QListView::Manual); | 410 | mTodoListView->setColumnWidthMode(5, QListView::Manual); |
411 | mTodoListView->setColumnWidthMode(6, QListView::Manual); | 411 | mTodoListView->setColumnWidthMode(6, QListView::Manual); |
412 | mTodoListView->setColumnWidthMode(7, QListView::Manual); | 412 | mTodoListView->setColumnWidthMode(7, QListView::Manual); |
413 | mTodoListView->setColumnWidthMode(8, QListView::Manual); | 413 | mTodoListView->setColumnWidthMode(8, QListView::Manual); |
414 | 414 | ||
415 | 415 | ||
416 | mKOTodoViewWhatsThis = new KOTodoViewWhatsThis(mTodoListView->viewport(),this); | 416 | mKOTodoViewWhatsThis = new KOTodoViewWhatsThis(mTodoListView->viewport(),this); |
417 | 417 | ||
418 | mPriorityPopupMenu = new QPopupMenu(this); | 418 | mPriorityPopupMenu = new QPopupMenu(this); |
419 | for (int i = 1; i <= 5; i++) { | 419 | for (int i = 1; i <= 5; i++) { |
420 | QString label = QString ("%1").arg (i); | 420 | QString label = QString ("%1").arg (i); |
421 | mPriority[mPriorityPopupMenu->insertItem (label)] = i; | 421 | mPriority[mPriorityPopupMenu->insertItem (label)] = i; |
422 | } | 422 | } |
423 | connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); | 423 | connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); |
424 | 424 | ||
425 | mPercentageCompletedPopupMenu = new QPopupMenu(this); | 425 | mPercentageCompletedPopupMenu = new QPopupMenu(this); |
426 | for (int i = 0; i <= 100; i+=20) { | 426 | for (int i = 0; i <= 100; i+=20) { |
427 | QString label = QString ("%1 %").arg (i); | 427 | QString label = QString ("%1 %").arg (i); |
428 | mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; | 428 | mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; |
429 | } | 429 | } |
430 | connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); | 430 | connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); |
431 | 431 | ||
432 | 432 | ||
433 | 433 | ||
434 | mItemPopupMenu = new QPopupMenu(this); | 434 | mItemPopupMenu = new QPopupMenu(this); |
435 | mItemPopupMenu->insertItem(i18n("Show..."), this, | 435 | mItemPopupMenu->insertItem(i18n("Show..."), this, |
436 | SLOT (showTodo())); | 436 | SLOT (showTodo())); |
437 | mItemPopupMenu->insertItem(i18n("Edit..."), this, | 437 | mItemPopupMenu->insertItem(i18n("Edit..."), this, |
438 | SLOT (editTodo())); | 438 | SLOT (editTodo())); |
439 | mItemPopupMenu->insertItem( i18n("Delete"), this, | 439 | mItemPopupMenu->insertItem( i18n("Delete"), this, |
440 | SLOT (deleteTodo())); | 440 | SLOT (deleteTodo())); |
441 | mItemPopupMenu->insertItem( i18n("Clone..."), this, | 441 | mItemPopupMenu->insertItem( i18n("Clone..."), this, |
442 | SLOT (cloneTodo())); | 442 | SLOT (cloneTodo())); |
443 | mItemPopupMenu->insertItem( i18n("Move..."), this, | 443 | mItemPopupMenu->insertItem( i18n("Move..."), this, |
444 | SLOT (moveTodo())); | 444 | SLOT (moveTodo())); |
445 | mItemPopupMenu->insertItem( i18n("Beam..."), this, | 445 | mItemPopupMenu->insertItem( i18n("Beam..."), this, |
446 | SLOT (beamTodo())); | 446 | SLOT (beamTodo())); |
447 | mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, | 447 | mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, |
448 | SLOT (cancelTodo())); | 448 | SLOT (cancelTodo())); |
449 | mItemPopupMenu->insertSeparator(); | 449 | mItemPopupMenu->insertSeparator(); |
450 | 450 | ||
451 | mItemPopupMenu->insertItem( i18n("New Todo..."), this, | 451 | mItemPopupMenu->insertItem( i18n("New Todo..."), this, |
452 | SLOT (newTodo())); | 452 | SLOT (newTodo())); |
453 | mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, | 453 | mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, |
454 | SLOT (newSubTodo())); | 454 | SLOT (newSubTodo())); |
455 | mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, | 455 | mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, |
456 | SLOT (unparentTodo()),0,21); | 456 | SLOT (unparentTodo()),0,21); |
457 | mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, | 457 | mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, |
458 | SLOT (reparentTodo()),0,22); | 458 | SLOT (reparentTodo()),0,22); |
459 | mItemPopupMenu->insertSeparator(); | 459 | mItemPopupMenu->insertSeparator(); |
460 | #if 0 | 460 | #if 0 |
461 | mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"), | 461 | mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"), |
462 | this, SLOT( purgeCompleted() ) ); | 462 | this, SLOT( purgeCompleted() ) ); |
463 | mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), | 463 | mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), |
464 | this, SLOT( toggleCompleted() ),0, 33 ); | 464 | this, SLOT( toggleCompleted() ),0, 33 ); |
465 | mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), | 465 | mItemPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), |
466 | this, SLOT( toggleQuickTodo() ),0, 34 ); | 466 | this, SLOT( toggleQuickTodo() ),0, 34 ); |
467 | mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), | 467 | mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), |
468 | this, SLOT( toggleRunning() ),0, 35 ); | 468 | this, SLOT( toggleRunning() ),0, 35 ); |
469 | 469 | ||
470 | #endif | 470 | #endif |
471 | mPopupMenu = new QPopupMenu(this); | 471 | mPopupMenu = new QPopupMenu(this); |
472 | mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, | 472 | mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, |
473 | SLOT (newTodo()),0,1); | 473 | SLOT (newTodo()),0,1); |
474 | mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed"), | 474 | mPopupMenu->insertItem(i18n("delete completed To-Dos","Purge Completed"), |
475 | this, SLOT(purgeCompleted()),0,2); | 475 | this, SLOT(purgeCompleted()),0,2); |
476 | mPopupMenu->insertItem(i18n("Show Completed"), | 476 | mPopupMenu->insertItem(i18n("Show Completed"), |
477 | this, SLOT( toggleCompleted() ),0,3 ); | 477 | this, SLOT( toggleCompleted() ),0,3 ); |
478 | mPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), | 478 | mPopupMenu->insertItem(i18n("toggle quick todo","Show Quick Todo"), |
479 | this, SLOT( toggleQuickTodo() ),0,4 ); | 479 | this, SLOT( toggleQuickTodo() ),0,4 ); |
480 | mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), | 480 | mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), |
481 | this, SLOT( toggleRunning() ),0,5 ); | 481 | this, SLOT( toggleRunning() ),0,5 ); |
482 | mPopupMenu->insertItem(i18n(" set all open","Display all opened"), | 482 | mPopupMenu->insertItem(i18n(" set all open","Display all opened"), |
483 | this, SLOT( setAllOpen() ),0,6 ); | 483 | this, SLOT( setAllOpen() ),0,6 ); |
484 | mPopupMenu->insertItem(i18n(" set all close","Display all closed"), | 484 | mPopupMenu->insertItem(i18n(" set all close","Display all closed"), |
485 | this, SLOT( setAllClose() ),0,7 ); | 485 | this, SLOT( setAllClose() ),0,7 ); |
486 | mPopupMenu->insertItem(i18n(" set all flat","Display all flat"), | 486 | mPopupMenu->insertItem(i18n(" set all flat","Display all flat"), |
487 | this, SLOT( setAllFlat() ),0,8 ); | 487 | this, SLOT( setAllFlat() ),0,8 ); |
488 | mDocPrefs = new DocPrefs( name ); | 488 | mDocPrefs = new DocPrefs( name ); |
489 | 489 | ||
490 | mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu ); | 490 | mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu ); |
491 | mPopupMenu->setCheckable( true ); | 491 | mPopupMenu->setCheckable( true ); |
492 | mItemPopupMenu->setCheckable( true ); | 492 | mItemPopupMenu->setCheckable( true ); |
493 | 493 | ||
494 | 494 | ||
495 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 495 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
496 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 496 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
497 | 497 | ||
498 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 498 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
499 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 499 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
500 | 500 | ||
501 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 501 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
502 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 502 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
503 | 503 | ||
504 | 504 | ||
505 | // Double clicking conflicts with opening/closing the subtree | 505 | // Double clicking conflicts with opening/closing the subtree |
506 | connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ), | 506 | connect( mTodoListView, SIGNAL( doubleClicked( QListViewItem *) ), |
507 | SLOT( editItem( QListViewItem *) ) ); | 507 | SLOT( editItem( QListViewItem *) ) ); |
508 | /* | 508 | /* |
509 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, | 509 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, |
510 | const QPoint &,int ) ), | 510 | const QPoint &,int ) ), |
511 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 511 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
512 | */ | 512 | */ |
513 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, | 513 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, |
514 | const QPoint &,int ) ), | 514 | const QPoint &,int ) ), |
515 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 515 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
516 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), | 516 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), |
517 | SLOT( itemClicked( QListViewItem * ) ) ); | 517 | SLOT( itemClicked( QListViewItem * ) ) ); |
518 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), | 518 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), |
519 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); | 519 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); |
520 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 520 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
521 | SLOT( updateView() ) ); | 521 | SLOT( updateView() ) ); |
522 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 522 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
523 | SLOT( todoModified(Todo *, int) ) ); | 523 | SLOT( todoModified(Todo *, int) ) ); |
524 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), | 524 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), |
525 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 525 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
526 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), | 526 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), |
527 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 527 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
528 | connect( mTodoListView, SIGNAL( paintNeeded() ), | 528 | connect( mTodoListView, SIGNAL( paintNeeded() ), |
529 | SLOT( paintNeeded()) ); | 529 | SLOT( paintNeeded()) ); |
530 | 530 | ||
531 | #if 0 | 531 | #if 0 |
532 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), | 532 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), |
533 | SLOT(selectionChanged(QListViewItem *))); | 533 | SLOT(selectionChanged(QListViewItem *))); |
534 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), | 534 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), |
535 | SLOT(selectionChanged(QListViewItem *))); | 535 | SLOT(selectionChanged(QListViewItem *))); |
536 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), | 536 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), |
537 | SLOT(selectionChanged(QListViewItem *))); | 537 | SLOT(selectionChanged(QListViewItem *))); |
538 | #endif | 538 | #endif |
539 | 539 | ||
540 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); | 540 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); |
541 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); | 541 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); |
542 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); | 542 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); |
543 | 543 | ||
544 | connect( mTodoListView, SIGNAL(selectionChanged() ), | 544 | connect( mTodoListView, SIGNAL(selectionChanged() ), |
545 | SLOT( processSelectionChange() ) ); | 545 | SLOT( processSelectionChange() ) ); |
546 | connect( mQuickAdd, SIGNAL( returnPressed () ), | 546 | connect( mQuickAdd, SIGNAL( returnPressed () ), |
547 | SLOT( addQuickTodo() ) ); | 547 | SLOT( addQuickTodo() ) ); |
548 | 548 | ||
549 | } | 549 | } |
550 | 550 | ||
551 | KOTodoView::~KOTodoView() | 551 | KOTodoView::~KOTodoView() |
552 | { | 552 | { |
553 | delete mKOTodoViewWhatsThis; | 553 | // delete mKOTodoViewWhatsThis; |
554 | delete mDocPrefs; | 554 | delete mDocPrefs; |
555 | } | 555 | } |
556 | QString KOTodoView::getWhatsThisText(QPoint p) | 556 | QString KOTodoView::getWhatsThisText(QPoint p) |
557 | { | 557 | { |
558 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); | 558 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); |
559 | if ( item ) | 559 | if ( item ) |
560 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), | 560 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), |
561 | KOPrefs::instance()->mWTshowDetails, | 561 | KOPrefs::instance()->mWTshowDetails, |
562 | KOPrefs::instance()->mWTshowCreated, | 562 | KOPrefs::instance()->mWTshowCreated, |
563 | KOPrefs::instance()->mWTshowChanged); | 563 | KOPrefs::instance()->mWTshowChanged); |
564 | return i18n("That is the todo view" ); | 564 | return i18n("That is the todo view" ); |
565 | 565 | ||
566 | } | 566 | } |
567 | 567 | ||
568 | void KOTodoView::jumpToDate () | 568 | void KOTodoView::jumpToDate () |
569 | { | 569 | { |
570 | // if (mActiveItem) { | 570 | // if (mActiveItem) { |
571 | // mActiveItem->todo()); | 571 | // mActiveItem->todo()); |
572 | // if ( mActiveItem->todo()->hasDueDate() ) | 572 | // if ( mActiveItem->todo()->hasDueDate() ) |
573 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); | 573 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); |
574 | } | 574 | } |
575 | void KOTodoView::paintNeeded() | 575 | void KOTodoView::paintNeeded() |
576 | { | 576 | { |
577 | if ( mPendingUpdateBeforeRepaint ) { | 577 | if ( mPendingUpdateBeforeRepaint ) { |
578 | updateView(); | 578 | updateView(); |
579 | mPendingUpdateBeforeRepaint = false; | 579 | mPendingUpdateBeforeRepaint = false; |
580 | } | 580 | } |
581 | } | 581 | } |
582 | void KOTodoView::paintEvent(QPaintEvent * pevent) | 582 | void KOTodoView::paintEvent(QPaintEvent * pevent) |
583 | { | 583 | { |
584 | if ( mPendingUpdateBeforeRepaint ) { | 584 | if ( mPendingUpdateBeforeRepaint ) { |
585 | updateView(); | 585 | updateView(); |
586 | mPendingUpdateBeforeRepaint = false; | 586 | mPendingUpdateBeforeRepaint = false; |
587 | } | 587 | } |
588 | KOrg::BaseView::paintEvent( pevent); | 588 | KOrg::BaseView::paintEvent( pevent); |
589 | } | 589 | } |
590 | 590 | ||
591 | void KOTodoView::updateView() | 591 | void KOTodoView::updateView() |
592 | { | 592 | { |
593 | pendingSubtodo = 0; | 593 | pendingSubtodo = 0; |
594 | if ( mBlockUpdate ) { | 594 | if ( mBlockUpdate ) { |
595 | return; | 595 | return; |
596 | } | 596 | } |
597 | if ( !isVisible() ) { | 597 | if ( !isVisible() ) { |
598 | mPendingUpdateBeforeRepaint = true; | 598 | mPendingUpdateBeforeRepaint = true; |
599 | return; | 599 | return; |
600 | } | 600 | } |
601 | //qDebug("KOTodoView::updateView() %x", this); | 601 | //qDebug("KOTodoView::updateView() %x", this); |
602 | if ( isFlatDisplay ) { | 602 | if ( isFlatDisplay ) { |
603 | displayAllFlat(); | 603 | displayAllFlat(); |
604 | return; | 604 | return; |
605 | } | 605 | } |
606 | //qDebug("update "); | 606 | //qDebug("update "); |
607 | // kdDebug() << "KOTodoView::updateView()" << endl; | 607 | // kdDebug() << "KOTodoView::updateView()" << endl; |
608 | QFont fo = KOPrefs::instance()->mTodoViewFont; | 608 | QFont fo = KOPrefs::instance()->mTodoViewFont; |
609 | Incidence* oldInc = 0; | 609 | Incidence* oldInc = 0; |
610 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | 610 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); |
611 | if (mActiveItem) | 611 | if (mActiveItem) |
612 | oldInc = mActiveItem->todo(); | 612 | oldInc = mActiveItem->todo(); |
613 | 613 | ||
614 | mTodoListView->clear(); | 614 | mTodoListView->clear(); |
615 | if ( mName == "todolistsmall" ) { | 615 | if ( mName == "todolistsmall" ) { |
616 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { | 616 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { |
617 | int ps = fo.pointSize() -2; | 617 | int ps = fo.pointSize() -2; |
618 | if ( ps > 12 ) | 618 | if ( ps > 12 ) |
619 | ps -= 2; | 619 | ps -= 2; |
620 | fo.setPointSize( ps ); | 620 | fo.setPointSize( ps ); |
621 | } | 621 | } |
622 | } | 622 | } |
623 | 623 | ||
624 | mTodoListView->setFont( fo ); | 624 | mTodoListView->setFont( fo ); |
625 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); | 625 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); |
626 | //mTodoListView->header()->setMaximumHeight(fm.height()); | 626 | //mTodoListView->header()->setMaximumHeight(fm.height()); |
627 | QPtrList<Todo> todoList = calendar()->todos(); | 627 | QPtrList<Todo> todoList = calendar()->todos(); |
628 | 628 | ||
629 | /* | 629 | /* |
630 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; | 630 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; |
631 | Event *t; | 631 | Event *t; |
632 | for(t = todoList.first(); t; t = todoList.next()) { | 632 | for(t = todoList.first(); t; t = todoList.next()) { |
633 | kdDebug() << " " << t->getSummary() << endl; | 633 | kdDebug() << " " << t->getSummary() << endl; |
634 | 634 | ||
635 | if (t->getRelatedTo()) { | 635 | if (t->getRelatedTo()) { |
636 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; | 636 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; |
637 | } | 637 | } |
638 | 638 | ||
639 | QPtrList<Event> l = t->getRelations(); | 639 | QPtrList<Event> l = t->getRelations(); |
640 | Event *c; | 640 | Event *c; |
641 | for(c=l.first();c;c=l.next()) { | 641 | for(c=l.first();c;c=l.next()) { |
642 | kdDebug() << " - relation: " << c->getSummary() << endl; | 642 | kdDebug() << " - relation: " << c->getSummary() << endl; |
643 | } | 643 | } |
644 | } | 644 | } |
645 | */ | 645 | */ |
646 | 646 | ||
647 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a | 647 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a |
648 | // specific order of events. That means that we have to generate parent items | 648 | // specific order of events. That means that we have to generate parent items |
649 | // recursively for proper hierarchical display of Todos. | 649 | // recursively for proper hierarchical display of Todos. |
650 | mTodoMap.clear(); | 650 | mTodoMap.clear(); |
651 | Todo *todo; | 651 | Todo *todo; |
652 | todo = todoList.first();// todo; todo = todoList.next()) { | 652 | todo = todoList.first();// todo; todo = todoList.next()) { |
653 | while ( todo ) { | 653 | while ( todo ) { |
654 | bool next = true; | 654 | bool next = true; |
655 | // qDebug("todo %s ", todo->summary().latin1()); | 655 | // qDebug("todo %s ", todo->summary().latin1()); |
656 | Incidence *incidence = todo->relatedTo(); | 656 | Incidence *incidence = todo->relatedTo(); |
657 | while ( incidence ) { | 657 | while ( incidence ) { |
658 | if ( incidence->type() == "Todo") { | 658 | if ( incidence->type() == "Todo") { |
659 | //qDebug("related %s ",incidence->summary().latin1() ); | 659 | //qDebug("related %s ",incidence->summary().latin1() ); |
660 | if ( !(todoList.contains ( ((Todo* )incidence ) ) )) { | 660 | if ( !(todoList.contains ( ((Todo* )incidence ) ) )) { |
661 | //qDebug("related not found "); | 661 | //qDebug("related not found "); |
662 | todoList.remove( ); | 662 | todoList.remove( ); |
663 | todo = todoList.current(); | 663 | todo = todoList.current(); |
664 | next = false; | 664 | next = false; |
665 | incidence = 0; | 665 | incidence = 0; |
666 | 666 | ||
667 | } else { | 667 | } else { |
668 | //qDebug("related found "); | 668 | //qDebug("related found "); |
669 | incidence = incidence->relatedTo(); | 669 | incidence = incidence->relatedTo(); |
670 | } | 670 | } |
671 | } else | 671 | } else |
672 | incidence = 0; | 672 | incidence = 0; |
673 | } | 673 | } |
674 | if ( next ) | 674 | if ( next ) |
675 | todo = todoList.next(); | 675 | todo = todoList.next(); |
676 | } | 676 | } |
677 | // qDebug("again .... "); | 677 | // qDebug("again .... "); |
678 | // for(todo = todoList.first(); todo; todo = todoList.next()) { | 678 | // for(todo = todoList.first(); todo; todo = todoList.next()) { |
679 | 679 | ||
680 | // qDebug("yytodo %s ", todo->summary().latin1()); | 680 | // qDebug("yytodo %s ", todo->summary().latin1()); |
681 | // } | 681 | // } |
682 | //qDebug("for "); | 682 | //qDebug("for "); |
683 | for(todo = todoList.first(); todo; todo = todoList.next()) { | 683 | for(todo = todoList.first(); todo; todo = todoList.next()) { |
684 | if (!mTodoMap.contains(todo) && checkTodo( todo ) ) | 684 | if (!mTodoMap.contains(todo) && checkTodo( todo ) ) |
685 | { | 685 | { |
686 | insertTodoItem(todo); | 686 | insertTodoItem(todo); |
687 | } | 687 | } |
688 | } | 688 | } |
689 | //qDebug("for end "); | 689 | //qDebug("for end "); |
690 | // Restore opened/closed state | 690 | // Restore opened/closed state |
691 | mTodoListView->blockSignals( true ); | 691 | mTodoListView->blockSignals( true ); |
692 | if( mDocPrefs ) restoreItemState( mTodoListView->firstChild() ); | 692 | if( mDocPrefs ) restoreItemState( mTodoListView->firstChild() ); |
693 | mTodoListView->blockSignals( false ); | 693 | mTodoListView->blockSignals( false ); |
694 | mTodoListView->setFocus(); | 694 | mTodoListView->setFocus(); |
695 | if ( mTodoListView->firstChild () ) { | 695 | if ( mTodoListView->firstChild () ) { |
696 | if ( oldInc ) { | 696 | if ( oldInc ) { |
697 | KOTodoViewItem* item = (KOTodoViewItem*)mTodoListView->firstChild (); | 697 | KOTodoViewItem* item = (KOTodoViewItem*)mTodoListView->firstChild (); |
698 | while ( item ) { | 698 | while ( item ) { |
699 | if ( item->todo() == oldInc ) { | 699 | if ( item->todo() == oldInc ) { |
700 | mTodoListView->setCurrentItem( item ); | 700 | mTodoListView->setCurrentItem( item ); |
701 | mTodoListView->ensureItemVisible( item ); | 701 | mTodoListView->ensureItemVisible( item ); |
702 | break; | 702 | break; |
703 | } | 703 | } |
704 | item = (KOTodoViewItem*)item->itemBelow(); | 704 | item = (KOTodoViewItem*)item->itemBelow(); |
705 | } | 705 | } |
706 | if ( ! item ) | 706 | if ( ! item ) |
707 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); | 707 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); |
708 | } else { | 708 | } else { |
709 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); | 709 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); |
710 | } | 710 | } |
711 | } | 711 | } |
712 | processSelectionChange(); | 712 | processSelectionChange(); |
713 | } | 713 | } |
714 | 714 | ||
715 | bool KOTodoView::checkTodo( Todo * todo ) | 715 | bool KOTodoView::checkTodo( Todo * todo ) |
716 | { | 716 | { |
717 | 717 | ||
718 | if ( !KOPrefs::instance()->mShowCompletedTodo && todo->isCompleted() ) | 718 | if ( !KOPrefs::instance()->mShowCompletedTodo && todo->isCompleted() ) |
719 | return false; | 719 | return false; |
720 | if ( !todo->isCompleted() ) { | 720 | if ( !todo->isCompleted() ) { |
721 | if ( todo->hasDueDate() && todo->dtDue().date() <= QDate::currentDate() ) | 721 | if ( todo->hasDueDate() && todo->dtDue().date() <= QDate::currentDate() ) |
722 | return true; | 722 | return true; |
723 | } | 723 | } |
724 | if ( KOPrefs::instance()->mHideNonStartedTodos && mNavigator ) { | 724 | if ( KOPrefs::instance()->mHideNonStartedTodos && mNavigator ) { |
725 | if ( todo->hasStartDate() ) | 725 | if ( todo->hasStartDate() ) |
726 | if ( mNavigator->selectedDates().last() < todo->dtStart().date() ) | 726 | if ( mNavigator->selectedDates().last() < todo->dtStart().date() ) |
727 | return false; | 727 | return false; |
728 | if ( todo->hasDueDate() ) | 728 | if ( todo->hasDueDate() ) |
729 | if ( mNavigator->selectedDates().first() > todo->dtDue().date() ) | 729 | if ( mNavigator->selectedDates().first() > todo->dtDue().date() ) |
730 | return false; | 730 | return false; |
731 | } | 731 | } |
732 | return true; | 732 | return true; |
733 | } | 733 | } |
734 | 734 | ||
735 | void KOTodoView::restoreItemState( QListViewItem *item ) | 735 | void KOTodoView::restoreItemState( QListViewItem *item ) |
736 | { | 736 | { |
737 | pendingSubtodo = 0; | 737 | pendingSubtodo = 0; |
738 | while( item ) { | 738 | while( item ) { |
739 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 739 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
740 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); | 740 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); |
741 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); | 741 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); |
742 | item = item->nextSibling(); | 742 | item = item->nextSibling(); |
743 | } | 743 | } |
744 | } | 744 | } |
745 | 745 | ||