author | zautrix <zautrix> | 2005-04-08 11:36:36 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-08 11:36:36 (UTC) |
commit | ba04f6a4b6b651dcff11ca17103cba42330e52be (patch) (unidiff) | |
tree | c8c02a1327abbd87cf5f019399e8e7bf1940a2bc | |
parent | 59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef (diff) | |
download | kdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.zip kdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.tar.gz kdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.tar.bz2 |
fix
-rw-r--r-- | korganizer/kotodoview.cpp | 21 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 2 |
2 files changed, 17 insertions, 6 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 395325c..935a5f5 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -542,424 +542,435 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | |||
542 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, | 542 | connect( mTodoListView, SIGNAL( rightButtonClicked ( QListViewItem *, |
543 | const QPoint &,int ) ), | 543 | const QPoint &,int ) ), |
544 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 544 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
545 | */ | 545 | */ |
546 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, | 546 | connect( mTodoListView, SIGNAL( contextRequest ( QListViewItem *, |
547 | const QPoint &,int ) ), | 547 | const QPoint &,int ) ), |
548 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); | 548 | SLOT( popupMenu( QListViewItem *, const QPoint & ,int) ) ); |
549 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), | 549 | connect( mTodoListView, SIGNAL( clicked( QListViewItem * ) ), |
550 | SLOT( itemClicked( QListViewItem * ) ) ); | 550 | SLOT( itemClicked( QListViewItem * ) ) ); |
551 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), | 551 | connect( mTodoListView, SIGNAL( double_Clicked( QListViewItem * ) ), |
552 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); | 552 | SLOT( itemDoubleClicked( QListViewItem * ) ) ); |
553 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 553 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
554 | SLOT( updateView() ) ); | 554 | SLOT( updateView() ) ); |
555 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), | 555 | connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ), |
556 | SLOT( todoModified(Todo *, int) ) ); | 556 | SLOT( todoModified(Todo *, int) ) ); |
557 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), | 557 | connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), |
558 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 558 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
559 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), | 559 | connect( mTodoListView, SIGNAL( collapsed( QListViewItem * ) ), |
560 | SLOT( itemStateChanged( QListViewItem * ) ) ); | 560 | SLOT( itemStateChanged( QListViewItem * ) ) ); |
561 | connect( mTodoListView, SIGNAL( paintNeeded() ), | 561 | connect( mTodoListView, SIGNAL( paintNeeded() ), |
562 | SLOT( paintNeeded()) ); | 562 | SLOT( paintNeeded()) ); |
563 | 563 | ||
564 | #if 0 | 564 | #if 0 |
565 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), | 565 | connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), |
566 | SLOT(selectionChanged(QListViewItem *))); | 566 | SLOT(selectionChanged(QListViewItem *))); |
567 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), | 567 | connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), |
568 | SLOT(selectionChanged(QListViewItem *))); | 568 | SLOT(selectionChanged(QListViewItem *))); |
569 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), | 569 | connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), |
570 | SLOT(selectionChanged(QListViewItem *))); | 570 | SLOT(selectionChanged(QListViewItem *))); |
571 | #endif | 571 | #endif |
572 | 572 | ||
573 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); | 573 | connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); |
574 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); | 574 | connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); |
575 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); | 575 | connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); |
576 | 576 | ||
577 | connect( mTodoListView, SIGNAL(selectionChanged() ), | 577 | connect( mTodoListView, SIGNAL(selectionChanged() ), |
578 | SLOT( processSelectionChange() ) ); | 578 | SLOT( processSelectionChange() ) ); |
579 | connect( mQuickAdd, SIGNAL( returnPressed () ), | 579 | connect( mQuickAdd, SIGNAL( returnPressed () ), |
580 | SLOT( addQuickTodo() ) ); | 580 | SLOT( addQuickTodo() ) ); |
581 | 581 | ||
582 | } | 582 | } |
583 | 583 | ||
584 | KOTodoView::~KOTodoView() | 584 | KOTodoView::~KOTodoView() |
585 | { | 585 | { |
586 | // delete mKOTodoViewWhatsThis; | 586 | // delete mKOTodoViewWhatsThis; |
587 | delete mDocPrefs; | 587 | delete mDocPrefs; |
588 | } | 588 | } |
589 | QString KOTodoView::getWhatsThisText(QPoint p) | 589 | QString KOTodoView::getWhatsThisText(QPoint p) |
590 | { | 590 | { |
591 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); | 591 | KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); |
592 | if ( item ) | 592 | if ( item ) |
593 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), | 593 | return KIncidenceFormatter::instance()->getFormattedText( item->todo(), |
594 | KOPrefs::instance()->mWTshowDetails, | 594 | KOPrefs::instance()->mWTshowDetails, |
595 | KOPrefs::instance()->mWTshowCreated, | 595 | KOPrefs::instance()->mWTshowCreated, |
596 | KOPrefs::instance()->mWTshowChanged); | 596 | KOPrefs::instance()->mWTshowChanged); |
597 | return i18n("That is the todo view" ); | 597 | return i18n("That is the todo view" ); |
598 | 598 | ||
599 | } | 599 | } |
600 | 600 | ||
601 | void KOTodoView::jumpToDate () | 601 | void KOTodoView::jumpToDate () |
602 | { | 602 | { |
603 | // if (mActiveItem) { | 603 | // if (mActiveItem) { |
604 | // mActiveItem->todo()); | 604 | // mActiveItem->todo()); |
605 | // if ( mActiveItem->todo()->hasDueDate() ) | 605 | // if ( mActiveItem->todo()->hasDueDate() ) |
606 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); | 606 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); |
607 | } | 607 | } |
608 | void KOTodoView::paintNeeded() | 608 | void KOTodoView::paintNeeded() |
609 | { | 609 | { |
610 | if ( mPendingUpdateBeforeRepaint ) { | 610 | if ( mPendingUpdateBeforeRepaint ) { |
611 | updateView(); | 611 | updateView(); |
612 | mPendingUpdateBeforeRepaint = false; | 612 | mPendingUpdateBeforeRepaint = false; |
613 | } | 613 | } |
614 | } | 614 | } |
615 | void KOTodoView::paintEvent(QPaintEvent * pevent) | 615 | void KOTodoView::paintEvent(QPaintEvent * pevent) |
616 | { | 616 | { |
617 | if ( mPendingUpdateBeforeRepaint ) { | 617 | if ( mPendingUpdateBeforeRepaint ) { |
618 | updateView(); | 618 | updateView(); |
619 | mPendingUpdateBeforeRepaint = false; | 619 | mPendingUpdateBeforeRepaint = false; |
620 | } | 620 | } |
621 | KOrg::BaseView::paintEvent( pevent); | 621 | KOrg::BaseView::paintEvent( pevent); |
622 | } | 622 | } |
623 | 623 | ||
624 | void KOTodoView::updateView() | 624 | void KOTodoView::updateView() |
625 | { | 625 | { |
626 | pendingSubtodo = 0; | 626 | pendingSubtodo = 0; |
627 | if ( mBlockUpdate ) { | 627 | if ( mBlockUpdate ) { |
628 | return; | 628 | return; |
629 | } | 629 | } |
630 | if ( !isVisible() ) { | 630 | if ( !isVisible() ) { |
631 | mPendingUpdateBeforeRepaint = true; | 631 | mPendingUpdateBeforeRepaint = true; |
632 | return; | 632 | return; |
633 | } | 633 | } |
634 | storeCurrentItem(); | 634 | storeCurrentItem(); |
635 | //qDebug("KOTodoView::updateView() %x", this); | 635 | //qDebug("KOTodoView::updateView() %x", this); |
636 | if ( isFlatDisplay ) { | 636 | if ( isFlatDisplay ) { |
637 | displayAllFlat(); | 637 | displayAllFlat(); |
638 | resetCurrentItem(); | 638 | resetCurrentItem(); |
639 | return; | 639 | return; |
640 | } | 640 | } |
641 | //qDebug("update "); | 641 | //qDebug("update "); |
642 | // kdDebug() << "KOTodoView::updateView()" << endl; | 642 | // kdDebug() << "KOTodoView::updateView()" << endl; |
643 | QFont fo = KOPrefs::instance()->mTodoViewFont; | 643 | QFont fo = KOPrefs::instance()->mTodoViewFont; |
644 | 644 | ||
645 | 645 | ||
646 | mTodoListView->clear(); | 646 | mTodoListView->clear(); |
647 | if ( mName == "todolistsmall" ) { | 647 | if ( mName == "todolistsmall" ) { |
648 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { | 648 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { |
649 | int ps = fo.pointSize() -2; | 649 | int ps = fo.pointSize() -2; |
650 | if ( ps > 12 ) | 650 | if ( ps > 12 ) |
651 | ps -= 2; | 651 | ps -= 2; |
652 | fo.setPointSize( ps ); | 652 | fo.setPointSize( ps ); |
653 | } | 653 | } |
654 | } | 654 | } |
655 | 655 | ||
656 | mTodoListView->setFont( fo ); | 656 | mTodoListView->setFont( fo ); |
657 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); | 657 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); |
658 | //mTodoListView->header()->setMaximumHeight(fm.height()); | 658 | //mTodoListView->header()->setMaximumHeight(fm.height()); |
659 | QPtrList<Todo> todoList = calendar()->todos(); | 659 | QPtrList<Todo> todoList = calendar()->todos(); |
660 | 660 | ||
661 | /* | 661 | /* |
662 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; | 662 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; |
663 | Event *t; | 663 | Event *t; |
664 | for(t = todoList.first(); t; t = todoList.next()) { | 664 | for(t = todoList.first(); t; t = todoList.next()) { |
665 | kdDebug() << " " << t->getSummary() << endl; | 665 | kdDebug() << " " << t->getSummary() << endl; |
666 | 666 | ||
667 | if (t->getRelatedTo()) { | 667 | if (t->getRelatedTo()) { |
668 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; | 668 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; |
669 | } | 669 | } |
670 | 670 | ||
671 | QPtrList<Event> l = t->getRelations(); | 671 | QPtrList<Event> l = t->getRelations(); |
672 | Event *c; | 672 | Event *c; |
673 | for(c=l.first();c;c=l.next()) { | 673 | for(c=l.first();c;c=l.next()) { |
674 | kdDebug() << " - relation: " << c->getSummary() << endl; | 674 | kdDebug() << " - relation: " << c->getSummary() << endl; |
675 | } | 675 | } |
676 | } | 676 | } |
677 | */ | 677 | */ |
678 | 678 | ||
679 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a | 679 | // Put for each Event a KOTodoViewItem in the list view. Don't rely on a |
680 | // specific order of events. That means that we have to generate parent items | 680 | // specific order of events. That means that we have to generate parent items |
681 | // recursively for proper hierarchical display of Todos. | 681 | // recursively for proper hierarchical display of Todos. |
682 | mTodoMap.clear(); | 682 | mTodoMap.clear(); |
683 | Todo *todo; | 683 | Todo *todo; |
684 | todo = todoList.first();// todo; todo = todoList.next()) { | 684 | todo = todoList.first();// todo; todo = todoList.next()) { |
685 | while ( todo ) { | 685 | while ( todo ) { |
686 | bool next = true; | 686 | bool next = true; |
687 | // qDebug("todo %s ", todo->summary().latin1()); | 687 | // qDebug("todo %s ", todo->summary().latin1()); |
688 | Incidence *incidence = todo->relatedTo(); | 688 | Incidence *incidence = todo->relatedTo(); |
689 | while ( incidence ) { | 689 | while ( incidence ) { |
690 | if ( incidence->type() == "Todo") { | 690 | if ( incidence->type() == "Todo") { |
691 | //qDebug("related %s ",incidence->summary().latin1() ); | 691 | //qDebug("related %s ",incidence->summary().latin1() ); |
692 | if ( !(todoList.contains ( ((Todo* )incidence ) ) )) { | 692 | if ( !(todoList.contains ( ((Todo* )incidence ) ) )) { |
693 | //qDebug("related not found "); | 693 | //qDebug("related not found "); |
694 | todoList.remove( ); | 694 | todoList.remove( ); |
695 | todo = todoList.current(); | 695 | todo = todoList.current(); |
696 | next = false; | 696 | next = false; |
697 | incidence = 0; | 697 | incidence = 0; |
698 | 698 | ||
699 | } else { | 699 | } else { |
700 | //qDebug("related found "); | 700 | //qDebug("related found "); |
701 | incidence = incidence->relatedTo(); | 701 | incidence = incidence->relatedTo(); |
702 | } | 702 | } |
703 | } else | 703 | } else |
704 | incidence = 0; | 704 | incidence = 0; |
705 | } | 705 | } |
706 | if ( next ) | 706 | if ( next ) |
707 | todo = todoList.next(); | 707 | todo = todoList.next(); |
708 | } | 708 | } |
709 | // qDebug("again .... "); | 709 | // qDebug("again .... "); |
710 | // for(todo = todoList.first(); todo; todo = todoList.next()) { | 710 | // for(todo = todoList.first(); todo; todo = todoList.next()) { |
711 | 711 | ||
712 | // qDebug("yytodo %s ", todo->summary().latin1()); | 712 | // qDebug("yytodo %s ", todo->summary().latin1()); |
713 | // } | 713 | // } |
714 | //qDebug("for "); | 714 | //qDebug("for "); |
715 | for(todo = todoList.first(); todo; todo = todoList.next()) { | 715 | for(todo = todoList.first(); todo; todo = todoList.next()) { |
716 | if (!mTodoMap.contains(todo) && checkTodo( todo ) ) | 716 | if (!mTodoMap.contains(todo) && checkTodo( todo ) ) |
717 | { | 717 | { |
718 | insertTodoItem(todo); | 718 | insertTodoItem(todo); |
719 | } | 719 | } |
720 | } | 720 | } |
721 | //qDebug("for end "); | 721 | //qDebug("for end "); |
722 | // Restore opened/closed state | 722 | // Restore opened/closed state |
723 | mTodoListView->blockSignals( true ); | 723 | mTodoListView->blockSignals( true ); |
724 | if( mDocPrefs ) restoreItemState( mTodoListView->firstChild() ); | 724 | if( mDocPrefs ) restoreItemState( mTodoListView->firstChild() ); |
725 | mTodoListView->blockSignals( false ); | 725 | mTodoListView->blockSignals( false ); |
726 | resetCurrentItem(); | 726 | resetCurrentItem(); |
727 | processSelectionChange(); | 727 | processSelectionChange(); |
728 | } | 728 | } |
729 | 729 | ||
730 | void KOTodoView::storeCurrentItem() | 730 | void KOTodoView::storeCurrentItem() |
731 | { | 731 | { |
732 | mCurItem = 0; | 732 | mCurItem = 0; |
733 | mCurItemRootParent = 0; | 733 | mCurItemRootParent = 0; |
734 | mCurItemParent = 0; | ||
734 | mCurItemAbove = 0; | 735 | mCurItemAbove = 0; |
735 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | 736 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); |
736 | if (mActiveItem) { | 737 | if (mActiveItem) { |
737 | mCurItem = mActiveItem->todo(); | 738 | mCurItem = mActiveItem->todo(); |
738 | KOTodoViewItem* activeItemAbove = (KOTodoViewItem*)mActiveItem->itemAbove (); | 739 | KOTodoViewItem* activeItemAbove = (KOTodoViewItem*)mActiveItem->itemAbove (); |
739 | if ( activeItemAbove ) | 740 | if ( activeItemAbove ) |
740 | mCurItemAbove = activeItemAbove->todo(); | 741 | mCurItemAbove = activeItemAbove->todo(); |
741 | mCurItemRootParent = mCurItem; | 742 | mCurItemRootParent = mCurItem; |
743 | mCurItemParent = mCurItemRootParent->relatedTo(); | ||
742 | while ( mCurItemRootParent->relatedTo() != 0 ) | 744 | while ( mCurItemRootParent->relatedTo() != 0 ) |
743 | mCurItemRootParent = mCurItemRootParent->relatedTo(); | 745 | mCurItemRootParent = mCurItemRootParent->relatedTo(); |
744 | } | 746 | } |
745 | mActiveItem = 0; | 747 | mActiveItem = 0; |
746 | } | 748 | } |
747 | 749 | ||
748 | void KOTodoView::resetCurrentItem() | 750 | void KOTodoView::resetCurrentItem() |
749 | { | 751 | { |
750 | mTodoListView->setFocus(); | 752 | mTodoListView->setFocus(); |
751 | KOTodoViewItem* foundItem = 0; | 753 | KOTodoViewItem* foundItem = 0; |
752 | KOTodoViewItem* foundItemRoot = 0; | 754 | KOTodoViewItem* foundItemRoot = 0; |
755 | KOTodoViewItem* foundItemParent = 0; | ||
753 | KOTodoViewItem* foundItemAbove = 0; | 756 | KOTodoViewItem* foundItemAbove = 0; |
754 | if ( mTodoListView->firstChild () ) { | 757 | if ( mTodoListView->firstChild () ) { |
755 | if ( mCurItem ) { | 758 | if ( mCurItem ) { |
756 | KOTodoViewItem* item = (KOTodoViewItem*)mTodoListView->firstChild (); | 759 | KOTodoViewItem* item = (KOTodoViewItem*)mTodoListView->firstChild (); |
757 | while ( item ) { | 760 | while ( item ) { |
758 | if ( item->todo() == mCurItem ) { | 761 | if ( item->todo() == mCurItem ) { |
759 | foundItem = item; | 762 | foundItem = item; |
760 | break; | 763 | break; |
761 | } else if ( item->todo() == mCurItemAbove ) { | 764 | } else if ( item->todo() == mCurItemAbove ) { |
762 | foundItemAbove = item; | 765 | foundItemAbove = item; |
763 | 766 | ||
764 | } else if ( item->todo() == mCurItemRootParent ) { | 767 | } |
768 | if ( item->todo() == mCurItemRootParent ) { | ||
765 | foundItemRoot = item; | 769 | foundItemRoot = item; |
766 | } | 770 | } |
771 | if ( item->todo() == mCurItemParent ) { | ||
772 | foundItemParent = item; | ||
773 | } | ||
767 | item = (KOTodoViewItem*)item->itemBelow(); | 774 | item = (KOTodoViewItem*)item->itemBelow(); |
768 | } | 775 | } |
769 | if ( ! foundItem ) { | 776 | if ( ! foundItem ) { |
770 | if ( foundItemRoot ) | 777 | if ( foundItemParent ) { |
771 | foundItem = foundItemRoot; | 778 | foundItem = foundItemParent; |
772 | else | 779 | } else { |
773 | foundItem = foundItemAbove; | 780 | if ( foundItemRoot ) |
781 | foundItem = foundItemRoot; | ||
782 | else | ||
783 | foundItem = foundItemAbove; | ||
784 | } | ||
774 | } | 785 | } |
775 | } | 786 | } |
776 | if ( foundItem ) { | 787 | if ( foundItem ) { |
777 | mTodoListView->setCurrentItem( foundItem ); | 788 | mTodoListView->setCurrentItem( foundItem ); |
778 | mTodoListView->ensureItemVisible( foundItem ); | 789 | mTodoListView->ensureItemVisible( foundItem ); |
779 | } else { | 790 | } else { |
780 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); | 791 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); |
781 | } | 792 | } |
782 | } | 793 | } |
783 | mTodoListView->setFocus(); | 794 | mTodoListView->setFocus(); |
784 | } | 795 | } |
785 | //Incidence * mCurItem, *mCurItemRootParent,*mCurItemAbove; | 796 | //Incidence * mCurItem, *mCurItemRootParent,*mCurItemAbove; |
786 | bool KOTodoView::checkTodo( Todo * todo ) | 797 | bool KOTodoView::checkTodo( Todo * todo ) |
787 | { | 798 | { |
788 | 799 | ||
789 | if ( !KOPrefs::instance()->mShowCompletedTodo && todo->isCompleted() ) | 800 | if ( !KOPrefs::instance()->mShowCompletedTodo && todo->isCompleted() ) |
790 | return false; | 801 | return false; |
791 | if ( !todo->isCompleted() ) { | 802 | if ( !todo->isCompleted() ) { |
792 | if ( todo->hasDueDate() && todo->dtDue().date() <= QDate::currentDate() ) | 803 | if ( todo->hasDueDate() && todo->dtDue().date() <= QDate::currentDate() ) |
793 | return true; | 804 | return true; |
794 | } | 805 | } |
795 | if ( KOPrefs::instance()->mHideNonStartedTodos && mNavigator ) { | 806 | if ( KOPrefs::instance()->mHideNonStartedTodos && mNavigator ) { |
796 | if ( todo->hasStartDate() ) | 807 | if ( todo->hasStartDate() ) |
797 | if ( mNavigator->selectedDates().last() < todo->dtStart().date() ) | 808 | if ( mNavigator->selectedDates().last() < todo->dtStart().date() ) |
798 | return false; | 809 | return false; |
799 | if ( todo->hasDueDate() ) | 810 | if ( todo->hasDueDate() ) |
800 | if ( mNavigator->selectedDates().first() > todo->dtDue().date() ) | 811 | if ( mNavigator->selectedDates().first() > todo->dtDue().date() ) |
801 | return false; | 812 | return false; |
802 | } | 813 | } |
803 | return true; | 814 | return true; |
804 | } | 815 | } |
805 | 816 | ||
806 | void KOTodoView::restoreItemState( QListViewItem *item ) | 817 | void KOTodoView::restoreItemState( QListViewItem *item ) |
807 | { | 818 | { |
808 | pendingSubtodo = 0; | 819 | pendingSubtodo = 0; |
809 | while( item ) { | 820 | while( item ) { |
810 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 821 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
811 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); | 822 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); |
812 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); | 823 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); |
813 | item = item->nextSibling(); | 824 | item = item->nextSibling(); |
814 | } | 825 | } |
815 | } | 826 | } |
816 | 827 | ||
817 | 828 | ||
818 | QMap<Todo *,KOTodoViewItem *>::ConstIterator | 829 | QMap<Todo *,KOTodoViewItem *>::ConstIterator |
819 | KOTodoView::insertTodoItem(Todo *todo) | 830 | KOTodoView::insertTodoItem(Todo *todo) |
820 | { | 831 | { |
821 | 832 | ||
822 | // kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; | 833 | // kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; |
823 | // TODO: Check, if dynmaic cast is necessary | 834 | // TODO: Check, if dynmaic cast is necessary |
824 | 835 | ||
825 | pendingSubtodo = 0; | 836 | pendingSubtodo = 0; |
826 | Incidence *incidence = todo->relatedTo(); | 837 | Incidence *incidence = todo->relatedTo(); |
827 | if (incidence && incidence->type() == "Todo") { | 838 | if (incidence && incidence->type() == "Todo") { |
828 | Todo *relatedTodo = static_cast<Todo *>(incidence); | 839 | Todo *relatedTodo = static_cast<Todo *>(incidence); |
829 | 840 | ||
830 | // kdDebug() << " has Related" << endl; | 841 | // kdDebug() << " has Related" << endl; |
831 | QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; | 842 | QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; |
832 | itemIterator = mTodoMap.find(relatedTodo); | 843 | itemIterator = mTodoMap.find(relatedTodo); |
833 | if (itemIterator == mTodoMap.end()) { | 844 | if (itemIterator == mTodoMap.end()) { |
834 | // kdDebug() << " related not yet in list" << endl; | 845 | // kdDebug() << " related not yet in list" << endl; |
835 | itemIterator = insertTodoItem (relatedTodo); | 846 | itemIterator = insertTodoItem (relatedTodo); |
836 | } | 847 | } |
837 | // isn't this pretty stupid? We give one Todo to the KOTodoViewItem | 848 | // isn't this pretty stupid? We give one Todo to the KOTodoViewItem |
838 | // and one into the map. Sure finding is more easy but why? -zecke | 849 | // and one into the map. Sure finding is more easy but why? -zecke |
839 | KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); | 850 | KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); |
840 | return mTodoMap.insert(todo,todoItem); | 851 | return mTodoMap.insert(todo,todoItem); |
841 | } else { | 852 | } else { |
842 | // kdDebug() << " no Related" << endl; | 853 | // kdDebug() << " no Related" << endl; |
843 | // see above -zecke | 854 | // see above -zecke |
844 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); | 855 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); |
845 | return mTodoMap.insert(todo,todoItem); | 856 | return mTodoMap.insert(todo,todoItem); |
846 | } | 857 | } |
847 | } | 858 | } |
848 | 859 | ||
849 | 860 | ||
850 | void KOTodoView::updateConfig() | 861 | void KOTodoView::updateConfig() |
851 | { | 862 | { |
852 | updateView(); | 863 | updateView(); |
853 | mTodoListView->repaintContents(); | 864 | mTodoListView->repaintContents(); |
854 | } | 865 | } |
855 | 866 | ||
856 | QPtrList<Incidence> KOTodoView::selectedIncidences() | 867 | QPtrList<Incidence> KOTodoView::selectedIncidences() |
857 | { | 868 | { |
858 | QPtrList<Incidence> selected; | 869 | QPtrList<Incidence> selected; |
859 | 870 | ||
860 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); | 871 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); |
861 | // if (!item) item = mActiveItem; | 872 | // if (!item) item = mActiveItem; |
862 | if (item) selected.append(item->todo()); | 873 | if (item) selected.append(item->todo()); |
863 | 874 | ||
864 | return selected; | 875 | return selected; |
865 | } | 876 | } |
866 | 877 | ||
867 | QPtrList<Todo> KOTodoView::selectedTodos() | 878 | QPtrList<Todo> KOTodoView::selectedTodos() |
868 | { | 879 | { |
869 | QPtrList<Todo> selected; | 880 | QPtrList<Todo> selected; |
870 | 881 | ||
871 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); | 882 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); |
872 | // if (!item) item = mActiveItem; | 883 | // if (!item) item = mActiveItem; |
873 | if (item) selected.append(item->todo()); | 884 | if (item) selected.append(item->todo()); |
874 | 885 | ||
875 | return selected; | 886 | return selected; |
876 | } | 887 | } |
877 | 888 | ||
878 | void KOTodoView::changeEventDisplay(Event *, int) | 889 | void KOTodoView::changeEventDisplay(Event *, int) |
879 | { | 890 | { |
880 | updateView(); | 891 | updateView(); |
881 | } | 892 | } |
882 | 893 | ||
883 | void KOTodoView::showDates(const QDate &, const QDate &) | 894 | void KOTodoView::showDates(const QDate &, const QDate &) |
884 | { | 895 | { |
885 | } | 896 | } |
886 | 897 | ||
887 | void KOTodoView::showEvents(QPtrList<Event>) | 898 | void KOTodoView::showEvents(QPtrList<Event>) |
888 | { | 899 | { |
889 | kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl; | 900 | kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl; |
890 | } | 901 | } |
891 | 902 | ||
892 | void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd, | 903 | void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd, |
893 | const QDate &td) | 904 | const QDate &td) |
894 | { | 905 | { |
895 | #ifndef KORG_NOPRINTER | 906 | #ifndef KORG_NOPRINTER |
896 | calPrinter->preview(CalPrinter::Todolist, fd, td); | 907 | calPrinter->preview(CalPrinter::Todolist, fd, td); |
897 | #endif | 908 | #endif |
898 | } | 909 | } |
899 | 910 | ||
900 | void KOTodoView::editItem(QListViewItem *item ) | 911 | void KOTodoView::editItem(QListViewItem *item ) |
901 | { | 912 | { |
902 | // qDebug("editItem(QListViewItem *item ) "); | 913 | // qDebug("editItem(QListViewItem *item ) "); |
903 | emit editTodoSignal(((KOTodoViewItem *)item)->todo()); | 914 | emit editTodoSignal(((KOTodoViewItem *)item)->todo()); |
904 | } | 915 | } |
905 | 916 | ||
906 | void KOTodoView::showItem(QListViewItem *item,const QPoint &,int) | 917 | void KOTodoView::showItem(QListViewItem *item,const QPoint &,int) |
907 | { | 918 | { |
908 | emit showTodoSignal(((KOTodoViewItem *)item)->todo()); | 919 | emit showTodoSignal(((KOTodoViewItem *)item)->todo()); |
909 | } | 920 | } |
910 | 921 | ||
911 | void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column) | 922 | void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column) |
912 | { | 923 | { |
913 | pendingSubtodo = 0; | 924 | pendingSubtodo = 0; |
914 | mActiveItem = (KOTodoViewItem *)item; | 925 | mActiveItem = (KOTodoViewItem *)item; |
915 | if (item) { | 926 | if (item) { |
916 | switch (column){ | 927 | switch (column){ |
917 | case 1: | 928 | case 1: |
918 | mPriorityPopupMenu->popup(QCursor::pos ()); break; | 929 | mPriorityPopupMenu->popup(QCursor::pos ()); break; |
919 | case 2: | 930 | case 2: |
920 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; | 931 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; |
921 | case 3: | 932 | case 3: |
922 | moveTodo(); | 933 | moveTodo(); |
923 | break; | 934 | break; |
924 | case 8: | 935 | case 8: |
925 | getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; | 936 | getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; |
926 | default: | 937 | default: |
927 | mItemPopupMenu->popup(QCursor::pos()); | 938 | mItemPopupMenu->popup(QCursor::pos()); |
928 | } | 939 | } |
929 | } else mPopupMenu->popup(QCursor::pos()); | 940 | } else mPopupMenu->popup(QCursor::pos()); |
930 | } | 941 | } |
931 | void KOTodoView::newTodo() | 942 | void KOTodoView::newTodo() |
932 | { | 943 | { |
933 | emit newTodoSignal(); | 944 | emit newTodoSignal(); |
934 | } | 945 | } |
935 | 946 | ||
936 | void KOTodoView::newSubTodo() | 947 | void KOTodoView::newSubTodo() |
937 | { | 948 | { |
938 | if (mActiveItem) { | 949 | if (mActiveItem) { |
939 | emit newSubTodoSignal(mActiveItem->todo()); | 950 | emit newSubTodoSignal(mActiveItem->todo()); |
940 | } | 951 | } |
941 | } | 952 | } |
942 | void KOTodoView::unparentTodo() | 953 | void KOTodoView::unparentTodo() |
943 | { | 954 | { |
944 | if (mActiveItem) { | 955 | if (mActiveItem) { |
945 | emit unparentTodoSignal(mActiveItem->todo()); | 956 | emit unparentTodoSignal(mActiveItem->todo()); |
946 | } | 957 | } |
947 | } | 958 | } |
948 | 959 | ||
949 | void KOTodoView::reparentTodo() | 960 | void KOTodoView::reparentTodo() |
950 | { | 961 | { |
951 | if (mActiveItem) { | 962 | if (mActiveItem) { |
952 | qDebug("KOTodoView::reparentTodo() "); | 963 | qDebug("KOTodoView::reparentTodo() "); |
953 | topLevelWidget()->setCaption(i18n("Click on new parent item")); | 964 | topLevelWidget()->setCaption(i18n("Click on new parent item")); |
954 | pendingSubtodo = mActiveItem; | 965 | pendingSubtodo = mActiveItem; |
955 | } | 966 | } |
956 | } | 967 | } |
957 | void KOTodoView::editTodo() | 968 | void KOTodoView::editTodo() |
958 | { | 969 | { |
959 | if (mActiveItem) { | 970 | if (mActiveItem) { |
960 | emit editTodoSignal(mActiveItem->todo()); | 971 | emit editTodoSignal(mActiveItem->todo()); |
961 | } | 972 | } |
962 | } | 973 | } |
963 | void KOTodoView::cloneTodo() | 974 | void KOTodoView::cloneTodo() |
964 | { | 975 | { |
965 | if (mActiveItem) { | 976 | if (mActiveItem) { |
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index 39976cf..d0788a9 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h | |||
@@ -68,196 +68,196 @@ class KOTodoListView : public KListView | |||
68 | void unparentTodoSignal(Todo *); | 68 | void unparentTodoSignal(Todo *); |
69 | void deleteTodo( Todo * ); | 69 | void deleteTodo( Todo * ); |
70 | protected: | 70 | protected: |
71 | void wheelEvent (QWheelEvent *e); | 71 | void wheelEvent (QWheelEvent *e); |
72 | void contentsDragEnterEvent(QDragEnterEvent *); | 72 | void contentsDragEnterEvent(QDragEnterEvent *); |
73 | void contentsDragMoveEvent(QDragMoveEvent *); | 73 | void contentsDragMoveEvent(QDragMoveEvent *); |
74 | void contentsDragLeaveEvent(QDragLeaveEvent *); | 74 | void contentsDragLeaveEvent(QDragLeaveEvent *); |
75 | void contentsDropEvent(QDropEvent *); | 75 | void contentsDropEvent(QDropEvent *); |
76 | 76 | ||
77 | void contentsMousePressEvent(QMouseEvent *); | 77 | void contentsMousePressEvent(QMouseEvent *); |
78 | void contentsMouseMoveEvent(QMouseEvent *); | 78 | void contentsMouseMoveEvent(QMouseEvent *); |
79 | void contentsMouseReleaseEvent(QMouseEvent *); | 79 | void contentsMouseReleaseEvent(QMouseEvent *); |
80 | void contentsMouseDoubleClickEvent(QMouseEvent *); | 80 | void contentsMouseDoubleClickEvent(QMouseEvent *); |
81 | 81 | ||
82 | private: | 82 | private: |
83 | void paintEvent(QPaintEvent * pevent); | 83 | void paintEvent(QPaintEvent * pevent); |
84 | bool internalDrop; | 84 | bool internalDrop; |
85 | QString mName; | 85 | QString mName; |
86 | Calendar *mCalendar; | 86 | Calendar *mCalendar; |
87 | QPoint mPressPos; | 87 | QPoint mPressPos; |
88 | bool mMousePressed; | 88 | bool mMousePressed; |
89 | QListViewItem *mOldCurrent; | 89 | QListViewItem *mOldCurrent; |
90 | bool mFlagKeyPressed; | 90 | bool mFlagKeyPressed; |
91 | void keyPressEvent ( QKeyEvent * ) ; | 91 | void keyPressEvent ( QKeyEvent * ) ; |
92 | void keyReleaseEvent ( QKeyEvent * ) ; | 92 | void keyReleaseEvent ( QKeyEvent * ) ; |
93 | }; | 93 | }; |
94 | 94 | ||
95 | 95 | ||
96 | /** | 96 | /** |
97 | This is the line-edit on top of the todoview for fast addition of new todos | 97 | This is the line-edit on top of the todoview for fast addition of new todos |
98 | */ | 98 | */ |
99 | class KOQuickTodo : public QLineEdit | 99 | class KOQuickTodo : public QLineEdit |
100 | { | 100 | { |
101 | public: | 101 | public: |
102 | KOQuickTodo(QWidget *parent=0); | 102 | KOQuickTodo(QWidget *parent=0); |
103 | protected: | 103 | protected: |
104 | void focusInEvent(QFocusEvent *ev); | 104 | void focusInEvent(QFocusEvent *ev); |
105 | void focusOutEvent(QFocusEvent *ev); | 105 | void focusOutEvent(QFocusEvent *ev); |
106 | }; | 106 | }; |
107 | 107 | ||
108 | 108 | ||
109 | /** | 109 | /** |
110 | This class provides a multi-column list view of todo events. | 110 | This class provides a multi-column list view of todo events. |
111 | 111 | ||
112 | @short multi-column list view of todo events. | 112 | @short multi-column list view of todo events. |
113 | @author Cornelius Schumacher <schumacher@kde.org> | 113 | @author Cornelius Schumacher <schumacher@kde.org> |
114 | */ | 114 | */ |
115 | class KOTodoView : public KOrg::BaseView | 115 | class KOTodoView : public KOrg::BaseView |
116 | { | 116 | { |
117 | Q_OBJECT | 117 | Q_OBJECT |
118 | public: | 118 | public: |
119 | KOTodoView(Calendar *, QWidget* parent=0, const char* name=0 ); | 119 | KOTodoView(Calendar *, QWidget* parent=0, const char* name=0 ); |
120 | ~KOTodoView(); | 120 | ~KOTodoView(); |
121 | 121 | ||
122 | QPtrList<Incidence> selectedIncidences(); | 122 | QPtrList<Incidence> selectedIncidences(); |
123 | QPtrList<Todo> selectedTodos(); | 123 | QPtrList<Todo> selectedTodos(); |
124 | 124 | ||
125 | DateList selectedDates() | 125 | DateList selectedDates() |
126 | {DateList q; | 126 | {DateList q; |
127 | return q;} | 127 | return q;} |
128 | 128 | ||
129 | /** Return number of shown dates. TodoView does not show dates, */ | 129 | /** Return number of shown dates. TodoView does not show dates, */ |
130 | int currentDateCount() { return 0; } | 130 | int currentDateCount() { return 0; } |
131 | 131 | ||
132 | void printPreview(CalPrinter *calPrinter, const QDate &fd, const QDate &td); | 132 | void printPreview(CalPrinter *calPrinter, const QDate &fd, const QDate &td); |
133 | 133 | ||
134 | void setDocumentId( const QString & ); | 134 | void setDocumentId( const QString & ); |
135 | 135 | ||
136 | void saveLayout(KConfig *config, const QString &group) const; | 136 | void saveLayout(KConfig *config, const QString &group) const; |
137 | void restoreLayout(KConfig *config, const QString &group); | 137 | void restoreLayout(KConfig *config, const QString &group); |
138 | /** Create a popup menu to set categories */ | 138 | /** Create a popup menu to set categories */ |
139 | QPopupMenu *getCategoryPopupMenu (KOTodoViewItem *todoItem); | 139 | QPopupMenu *getCategoryPopupMenu (KOTodoViewItem *todoItem); |
140 | void setNavigator( DateNavigator* nav ) {mNavigator = nav;} | 140 | void setNavigator( DateNavigator* nav ) {mNavigator = nav;} |
141 | QString getWhatsThisText(QPoint p); | 141 | QString getWhatsThisText(QPoint p); |
142 | 142 | ||
143 | public slots: | 143 | public slots: |
144 | void updateView(); | 144 | void updateView(); |
145 | void updateConfig(); | 145 | void updateConfig(); |
146 | 146 | ||
147 | void changeEventDisplay(Event *, int); | 147 | void changeEventDisplay(Event *, int); |
148 | 148 | ||
149 | void showDates(const QDate &start, const QDate &end); | 149 | void showDates(const QDate &start, const QDate &end); |
150 | void showEvents(QPtrList<Event> eventList); | 150 | void showEvents(QPtrList<Event> eventList); |
151 | 151 | ||
152 | void clearSelection(); | 152 | void clearSelection(); |
153 | void jumpToDate (); | 153 | void jumpToDate (); |
154 | 154 | ||
155 | void editItem(QListViewItem *item); | 155 | void editItem(QListViewItem *item); |
156 | void showItem(QListViewItem *item,const QPoint &,int); | 156 | void showItem(QListViewItem *item,const QPoint &,int); |
157 | void popupMenu(QListViewItem *item,const QPoint &,int); | 157 | void popupMenu(QListViewItem *item,const QPoint &,int); |
158 | void newTodo(); | 158 | void newTodo(); |
159 | void newSubTodo(); | 159 | void newSubTodo(); |
160 | void unparentTodo(); | 160 | void unparentTodo(); |
161 | void reparentTodo(); | 161 | void reparentTodo(); |
162 | void showTodo(); | 162 | void showTodo(); |
163 | void editTodo(); | 163 | void editTodo(); |
164 | void cloneTodo(); | 164 | void cloneTodo(); |
165 | void cancelTodo(); | 165 | void cancelTodo(); |
166 | void moveTodo(); | 166 | void moveTodo(); |
167 | void beamTodo(); | 167 | void beamTodo(); |
168 | void deleteTodo(); | 168 | void deleteTodo(); |
169 | 169 | ||
170 | void setNewPriority(int); | 170 | void setNewPriority(int); |
171 | void setNewPercentage(int); | 171 | void setNewPercentage(int); |
172 | void changedCategories(int); | 172 | void changedCategories(int); |
173 | 173 | ||
174 | void setAllOpen(); | 174 | void setAllOpen(); |
175 | void setAllClose(); | 175 | void setAllClose(); |
176 | void setAllFlat(); | 176 | void setAllFlat(); |
177 | void displayAllFlat(); | 177 | void displayAllFlat(); |
178 | 178 | ||
179 | void purgeCompleted(); | 179 | void purgeCompleted(); |
180 | void toggleCompleted(); | 180 | void toggleCompleted(); |
181 | void toggleRunning(); | 181 | void toggleRunning(); |
182 | void toggleQuickTodo(); | 182 | void toggleQuickTodo(); |
183 | void updateTodo( Todo *, int ); | 183 | void updateTodo( Todo *, int ); |
184 | 184 | ||
185 | void itemClicked(QListViewItem *); | 185 | void itemClicked(QListViewItem *); |
186 | void itemStateChanged(QListViewItem *); | 186 | void itemStateChanged(QListViewItem *); |
187 | void modified(bool); | 187 | void modified(bool); |
188 | void itemDoubleClicked(QListViewItem *item); | 188 | void itemDoubleClicked(QListViewItem *item); |
189 | 189 | ||
190 | signals: | 190 | signals: |
191 | void newTodoSignal(); | 191 | void newTodoSignal(); |
192 | void newSubTodoSignal(Todo *); | 192 | void newSubTodoSignal(Todo *); |
193 | void unparentTodoSignal(Todo *); | 193 | void unparentTodoSignal(Todo *); |
194 | void reparentTodoSignal( Todo *,Todo * ); | 194 | void reparentTodoSignal( Todo *,Todo * ); |
195 | void showTodoSignal(Todo *); | 195 | void showTodoSignal(Todo *); |
196 | 196 | ||
197 | void editTodoSignal(Todo *); | 197 | void editTodoSignal(Todo *); |
198 | void deleteTodoSignal(Todo *); | 198 | void deleteTodoSignal(Todo *); |
199 | void todoModifiedSignal (Todo *, int); | 199 | void todoModifiedSignal (Todo *, int); |
200 | 200 | ||
201 | void isModified(bool); | 201 | void isModified(bool); |
202 | void cloneTodoSignal( Incidence * ); | 202 | void cloneTodoSignal( Incidence * ); |
203 | void cancelTodoSignal( Incidence * ); | 203 | void cancelTodoSignal( Incidence * ); |
204 | void moveTodoSignal( Incidence * ); | 204 | void moveTodoSignal( Incidence * ); |
205 | void beamTodoSignal( Incidence * ); | 205 | void beamTodoSignal( Incidence * ); |
206 | void purgeCompletedSignal(); | 206 | void purgeCompletedSignal(); |
207 | 207 | ||
208 | protected slots: | 208 | protected slots: |
209 | void paintNeeded(); | 209 | void paintNeeded(); |
210 | void processSelectionChange(); | 210 | void processSelectionChange(); |
211 | void addQuickTodo(); | 211 | void addQuickTodo(); |
212 | void setTodoModified( Todo* ); | 212 | void setTodoModified( Todo* ); |
213 | void todoModified(Todo *, int ); | 213 | void todoModified(Todo *, int ); |
214 | 214 | ||
215 | private: | 215 | private: |
216 | /* | 216 | /* |
217 | * the TodoEditor approach is rather unscaling in the long | 217 | * the TodoEditor approach is rather unscaling in the long |
218 | * run. | 218 | * run. |
219 | * Korganizer keeps it in memory and we need to update | 219 | * Korganizer keeps it in memory and we need to update |
220 | * 1. make KOTodoViewItem a QObject again? | 220 | * 1. make KOTodoViewItem a QObject again? |
221 | * 2. add a public method for setting one todo modified? | 221 | * 2. add a public method for setting one todo modified? |
222 | * 3. add a private method for setting a todo modified + friend here? | 222 | * 3. add a private method for setting a todo modified + friend here? |
223 | * -- zecke 2002-07-08 | 223 | * -- zecke 2002-07-08 |
224 | */ | 224 | */ |
225 | KOTodoViewWhatsThis* mKOTodoViewWhatsThis; | 225 | KOTodoViewWhatsThis* mKOTodoViewWhatsThis; |
226 | friend class KOTodoListView; | 226 | friend class KOTodoListView; |
227 | void paintEvent(QPaintEvent * pevent); | 227 | void paintEvent(QPaintEvent * pevent); |
228 | bool mPendingUpdateBeforeRepaint; | 228 | bool mPendingUpdateBeforeRepaint; |
229 | friend class KOTodoViewItem; | 229 | friend class KOTodoViewItem; |
230 | QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo); | 230 | QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo); |
231 | void restoreItemState( QListViewItem * ); | 231 | void restoreItemState( QListViewItem * ); |
232 | 232 | ||
233 | bool checkTodo( Todo * ); | 233 | bool checkTodo( Todo * ); |
234 | bool isFlatDisplay; | 234 | bool isFlatDisplay; |
235 | void setOpen( QListViewItem*, bool setOpen); | 235 | void setOpen( QListViewItem*, bool setOpen); |
236 | KOTodoListView *mTodoListView; | 236 | KOTodoListView *mTodoListView; |
237 | QPopupMenu *mItemPopupMenu; | 237 | QPopupMenu *mItemPopupMenu; |
238 | QPopupMenu *mPopupMenu; | 238 | QPopupMenu *mPopupMenu; |
239 | QPopupMenu *mPriorityPopupMenu; | 239 | QPopupMenu *mPriorityPopupMenu; |
240 | QPopupMenu *mPercentageCompletedPopupMenu; | 240 | QPopupMenu *mPercentageCompletedPopupMenu; |
241 | QPopupMenu *mCategoryPopupMenu; | 241 | QPopupMenu *mCategoryPopupMenu; |
242 | 242 | ||
243 | QMap<int, int> mPercentage; | 243 | QMap<int, int> mPercentage; |
244 | QMap<int, int> mPriority; | 244 | QMap<int, int> mPriority; |
245 | QMap<int, QString> mCategory; | 245 | QMap<int, QString> mCategory; |
246 | KOTodoViewItem *mActiveItem; | 246 | KOTodoViewItem *mActiveItem; |
247 | 247 | ||
248 | QMap<Todo *,KOTodoViewItem *> mTodoMap; | 248 | QMap<Todo *,KOTodoViewItem *> mTodoMap; |
249 | QString mName; | 249 | QString mName; |
250 | 250 | ||
251 | DocPrefs *mDocPrefs; | 251 | DocPrefs *mDocPrefs; |
252 | QString mCurrentDoc; | 252 | QString mCurrentDoc; |
253 | KOQuickTodo *mQuickAdd; | 253 | KOQuickTodo *mQuickAdd; |
254 | bool mBlockUpdate; | 254 | bool mBlockUpdate; |
255 | void keyPressEvent ( QKeyEvent * ) ; | 255 | void keyPressEvent ( QKeyEvent * ) ; |
256 | KOTodoViewItem * pendingSubtodo; | 256 | KOTodoViewItem * pendingSubtodo; |
257 | DateNavigator* mNavigator; | 257 | DateNavigator* mNavigator; |
258 | void storeCurrentItem(); | 258 | void storeCurrentItem(); |
259 | void resetCurrentItem(); | 259 | void resetCurrentItem(); |
260 | Incidence * mCurItem, *mCurItemRootParent,*mCurItemAbove; | 260 | Incidence * mCurItem, *mCurItemRootParent, *mCurItemParent,*mCurItemAbove; |
261 | }; | 261 | }; |
262 | 262 | ||
263 | #endif | 263 | #endif |