-rw-r--r-- | korganizer/calendarview.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 5a2482e..17f1659 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -562,192 +562,199 @@ void CalendarView::init() | |||
562 | SLOT( editTodo( Todo * ) ) ); | 562 | SLOT( editTodo( Todo * ) ) ); |
563 | connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), | 563 | connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), |
564 | SLOT( showTodo( Todo *) ) ); | 564 | SLOT( showTodo( Todo *) ) ); |
565 | connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), | 565 | connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), |
566 | SLOT( deleteTodo( Todo *) ) ); | 566 | SLOT( deleteTodo( Todo *) ) ); |
567 | connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); | 567 | connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); |
568 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), | 568 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), |
569 | SLOT( purgeCompleted() ) ); | 569 | SLOT( purgeCompleted() ) ); |
570 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), | 570 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), |
571 | SIGNAL( todoModified( Todo *, int ) ) ); | 571 | SIGNAL( todoModified( Todo *, int ) ) ); |
572 | 572 | ||
573 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), | 573 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), |
574 | this, SLOT ( cloneIncidence( Incidence * ) ) ); | 574 | this, SLOT ( cloneIncidence( Incidence * ) ) ); |
575 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), | 575 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), |
576 | this, SLOT (cancelIncidence( Incidence * ) ) ); | 576 | this, SLOT (cancelIncidence( Incidence * ) ) ); |
577 | 577 | ||
578 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), | 578 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), |
579 | this, SLOT ( moveIncidence( Incidence * ) ) ); | 579 | this, SLOT ( moveIncidence( Incidence * ) ) ); |
580 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), | 580 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), |
581 | this, SLOT ( beamIncidence( Incidence * ) ) ); | 581 | this, SLOT ( beamIncidence( Incidence * ) ) ); |
582 | 582 | ||
583 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), | 583 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), |
584 | this, SLOT ( todo_unsub( Todo * ) ) ); | 584 | this, SLOT ( todo_unsub( Todo * ) ) ); |
585 | 585 | ||
586 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), | 586 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), |
587 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); | 587 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); |
588 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, | 588 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, |
589 | SLOT( updateTodo( Todo *, int ) ) ); | 589 | SLOT( updateTodo( Todo *, int ) ) ); |
590 | connect( this, SIGNAL( todoModified( Todo *, int )), this, | 590 | connect( this, SIGNAL( todoModified( Todo *, int )), this, |
591 | SLOT( changeTodoDisplay( Todo *, int ) ) ); | 591 | SLOT( changeTodoDisplay( Todo *, int ) ) ); |
592 | 592 | ||
593 | 593 | ||
594 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); | 594 | connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); |
595 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); | 595 | connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); |
596 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); | 596 | connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); |
597 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); | 597 | connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); |
598 | 598 | ||
599 | 599 | ||
600 | 600 | ||
601 | 601 | ||
602 | 602 | ||
603 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), | 603 | connect(QApplication::clipboard(),SIGNAL(dataChanged()), |
604 | SLOT(checkClipboard())); | 604 | SLOT(checkClipboard())); |
605 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), | 605 | connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), |
606 | SLOT( processTodoListSelection( Incidence * ) ) ); | 606 | SLOT( processTodoListSelection( Incidence * ) ) ); |
607 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); | 607 | connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); |
608 | 608 | ||
609 | // kdDebug() << "CalendarView::CalendarView() done" << endl; | 609 | // kdDebug() << "CalendarView::CalendarView() done" << endl; |
610 | 610 | ||
611 | mDateFrame = new QVBox(0,0,WType_Popup); | 611 | mDateFrame = new QVBox(0,0,WType_Popup); |
612 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); | 612 | //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); |
613 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); | 613 | mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); |
614 | mDateFrame->setLineWidth(3); | 614 | mDateFrame->setLineWidth(3); |
615 | mDateFrame->hide(); | 615 | mDateFrame->hide(); |
616 | mDateFrame->setCaption( i18n( "Pick a date to display")); | 616 | mDateFrame->setCaption( i18n( "Pick a date to display")); |
617 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); | 617 | mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); |
618 | 618 | ||
619 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); | 619 | connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); |
620 | 620 | ||
621 | mEventEditor = mDialogManager->getEventEditor(); | 621 | mEventEditor = mDialogManager->getEventEditor(); |
622 | mTodoEditor = mDialogManager->getTodoEditor(); | 622 | mTodoEditor = mDialogManager->getTodoEditor(); |
623 | 623 | ||
624 | mFlagEditDescription = false; | 624 | mFlagEditDescription = false; |
625 | 625 | ||
626 | mSuspendTimer = new QTimer( this ); | 626 | mSuspendTimer = new QTimer( this ); |
627 | mAlarmTimer = new QTimer( this ); | 627 | mAlarmTimer = new QTimer( this ); |
628 | mRecheckAlarmTimer = new QTimer( this ); | 628 | mRecheckAlarmTimer = new QTimer( this ); |
629 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); | 629 | connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); |
630 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); | 630 | connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); |
631 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); | 631 | connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); |
632 | mAlarmDialog = new AlarmDialog( this ); | 632 | mAlarmDialog = new AlarmDialog( this ); |
633 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); | 633 | connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); |
634 | mAlarmDialog->setServerNotification( false ); | 634 | mAlarmDialog->setServerNotification( false ); |
635 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); | 635 | mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); |
636 | 636 | ||
637 | 637 | ||
638 | #ifndef DESKTOP_VERSION | 638 | #ifndef DESKTOP_VERSION |
639 | //US listen for arriving address resultsets | 639 | //US listen for arriving address resultsets |
640 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), | 640 | connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), |
641 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); | 641 | this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); |
642 | #endif | 642 | #endif |
643 | mDateNavigator->setCalendar( mCalendar ); | 643 | mDateNavigator->setCalendar( mCalendar ); |
644 | } | 644 | } |
645 | 645 | ||
646 | 646 | ||
647 | CalendarView::~CalendarView() | 647 | CalendarView::~CalendarView() |
648 | { | 648 | { |
649 | // kdDebug() << "~CalendarView()" << endl; | 649 | // kdDebug() << "~CalendarView()" << endl; |
650 | //qDebug("CalendarView::~CalendarView() "); | 650 | //qDebug("CalendarView::~CalendarView() "); |
651 | delete mDialogManager; | 651 | delete mDialogManager; |
652 | delete mViewManager; | 652 | delete mViewManager; |
653 | delete mStorage; | 653 | delete mStorage; |
654 | delete mDateFrame ; | 654 | delete mDateFrame ; |
655 | delete mEventViewerDialog; | 655 | delete mEventViewerDialog; |
656 | //kdDebug() << "~CalendarView() done" << endl; | 656 | //kdDebug() << "~CalendarView() done" << endl; |
657 | } | 657 | } |
658 | |||
659 | void CalendarView::slotResetFocus() | ||
660 | { | ||
661 | qDebug(" CalendarView::slotResetFocus() %x", qApp->focusWidget()); | ||
662 | |||
663 | } | ||
664 | |||
658 | void CalendarView::nextConflict( bool all, bool allday ) | 665 | void CalendarView::nextConflict( bool all, bool allday ) |
659 | { | 666 | { |
660 | 667 | ||
661 | QPtrList<Event> testlist = mCalendar->events(); | 668 | QPtrList<Event> testlist = mCalendar->events(); |
662 | Event * test = testlist.first(); | 669 | Event * test = testlist.first(); |
663 | while ( test ) { | 670 | while ( test ) { |
664 | test->setTagged( false ); | 671 | test->setTagged( false ); |
665 | test = testlist.next(); | 672 | test = testlist.next(); |
666 | } | 673 | } |
667 | QTime st ( 0,0,0); | 674 | QTime st ( 0,0,0); |
668 | if ( mViewManager->currentView() == mViewManager->agendaView() ) | 675 | if ( mViewManager->currentView() == mViewManager->agendaView() ) |
669 | st = mViewManager->agendaView()->agenda()->getEndTime(); | 676 | st = mViewManager->agendaView()->agenda()->getEndTime(); |
670 | //qDebug("time %s ", st.toString().latin1()); | 677 | //qDebug("time %s ", st.toString().latin1()); |
671 | QDateTime startDT = QDateTime (mNavigator->selectedDates().first(),st); | 678 | QDateTime startDT = QDateTime (mNavigator->selectedDates().first(),st); |
672 | QDateTime conflict; | 679 | QDateTime conflict; |
673 | QDateTime retVal; | 680 | QDateTime retVal; |
674 | bool found = false; | 681 | bool found = false; |
675 | Event * cE = 0; | 682 | Event * cE = 0; |
676 | Event * cE2 = 0; | 683 | Event * cE2 = 0; |
677 | QPtrList<Event> testlist2 = testlist; | 684 | QPtrList<Event> testlist2 = testlist; |
678 | test = testlist.first(); | 685 | test = testlist.first(); |
679 | bool skip = false; | 686 | bool skip = false; |
680 | topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); | 687 | topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); |
681 | while ( test ) { | 688 | while ( test ) { |
682 | qApp->processEvents(); | 689 | qApp->processEvents(); |
683 | skip = false; | 690 | skip = false; |
684 | if ( !all ) skip = ( allday != test->doesFloat() ); | 691 | if ( !all ) skip = ( allday != test->doesFloat() ); |
685 | if ( !skip ) { | 692 | if ( !skip ) { |
686 | Event * test2 = testlist2.first(); | 693 | Event * test2 = testlist2.first(); |
687 | while ( test2 ) { | 694 | while ( test2 ) { |
688 | skip = false; | 695 | skip = false; |
689 | if ( !all ) skip = ( allday != test2->doesFloat() ); | 696 | if ( !all ) skip = ( allday != test2->doesFloat() ); |
690 | if ( !skip ) { | 697 | if ( !skip ) { |
691 | if ( !test2->isTagged() ) { | 698 | if ( !test2->isTagged() ) { |
692 | if ( test->isOverlapping ( test2, &retVal, &startDT ) ) { | 699 | if ( test->isOverlapping ( test2, &retVal, &startDT ) ) { |
693 | //qDebug("overlap "); | 700 | //qDebug("overlap "); |
694 | if ( ! found ) { | 701 | if ( ! found ) { |
695 | if ( retVal >= startDT ) { | 702 | if ( retVal >= startDT ) { |
696 | conflict = retVal; | 703 | conflict = retVal; |
697 | cE = test; | 704 | cE = test; |
698 | cE2 = test2; | 705 | cE2 = test2; |
699 | found = true; | 706 | found = true; |
700 | } | 707 | } |
701 | } else { | 708 | } else { |
702 | if ( retVal >= startDT && retVal < conflict ) { | 709 | if ( retVal >= startDT && retVal < conflict ) { |
703 | conflict = retVal; | 710 | conflict = retVal; |
704 | cE = test; | 711 | cE = test; |
705 | cE2 = test2; | 712 | cE2 = test2; |
706 | } | 713 | } |
707 | } | 714 | } |
708 | } | 715 | } |
709 | } | 716 | } |
710 | } | 717 | } |
711 | test2 = testlist2.next(); | 718 | test2 = testlist2.next(); |
712 | } | 719 | } |
713 | } | 720 | } |
714 | test->setTagged( true ); | 721 | test->setTagged( true ); |
715 | test = testlist.next(); | 722 | test = testlist.next(); |
716 | } | 723 | } |
717 | if ( found ) { | 724 | if ( found ) { |
718 | if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) | 725 | if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) |
719 | mViewManager->showDayView(); | 726 | mViewManager->showDayView(); |
720 | mNavigator->slotDaySelect( conflict.date() ); | 727 | mNavigator->slotDaySelect( conflict.date() ); |
721 | int hour = conflict.time().hour(); | 728 | int hour = conflict.time().hour(); |
722 | mViewManager->agendaView()->setStartHour( hour ); | 729 | mViewManager->agendaView()->setStartHour( hour ); |
723 | topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( cE->summary().left( 20 ) ).arg( cE2->summary().left( 20 ) ) ); | 730 | topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( cE->summary().left( 20 ) ).arg( cE2->summary().left( 20 ) ) ); |
724 | return; | 731 | return; |
725 | } | 732 | } |
726 | 733 | ||
727 | topLevelWidget()->setCaption( i18n("No conflict found") ); | 734 | topLevelWidget()->setCaption( i18n("No conflict found") ); |
728 | qDebug("No conflict found "); | 735 | qDebug("No conflict found "); |
729 | return; | 736 | return; |
730 | } | 737 | } |
731 | 738 | ||
732 | void CalendarView::conflictAll() | 739 | void CalendarView::conflictAll() |
733 | { | 740 | { |
734 | nextConflict ( true, true ); | 741 | nextConflict ( true, true ); |
735 | } | 742 | } |
736 | void CalendarView::conflictAllday() | 743 | void CalendarView::conflictAllday() |
737 | { | 744 | { |
738 | nextConflict ( false, true ); | 745 | nextConflict ( false, true ); |
739 | } | 746 | } |
740 | void CalendarView::conflictNotAll() | 747 | void CalendarView::conflictNotAll() |
741 | { | 748 | { |
742 | nextConflict ( false, false ); | 749 | nextConflict ( false, false ); |
743 | } | 750 | } |
744 | 751 | ||
745 | void CalendarView::setCalReadOnly( int id, bool readO ) | 752 | void CalendarView::setCalReadOnly( int id, bool readO ) |
746 | { | 753 | { |
747 | if ( readO ) { | 754 | if ( readO ) { |
748 | emit save(); | 755 | emit save(); |
749 | } | 756 | } |
750 | mCalendar->setReadOnly( id, readO ); | 757 | mCalendar->setReadOnly( id, readO ); |
751 | } | 758 | } |
752 | void CalendarView::setScrollBarStep(int val ) | 759 | void CalendarView::setScrollBarStep(int val ) |
753 | { | 760 | { |