-rw-r--r-- | korganizer/calendarview.cpp | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 3dac20b..1009956 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -228,12 +228,16 @@ CalendarView::CalendarView( Calendar *calendar, | |||
228 | { | 228 | { |
229 | 229 | ||
230 | mEventEditor = 0; | 230 | mEventEditor = 0; |
231 | mTodoEditor = 0; | 231 | mTodoEditor = 0; |
232 | init();} | 232 | init(); |
233 | } | ||
233 | 234 | ||
234 | void CalendarView::init() | 235 | void CalendarView::init() |
235 | { | 236 | { |
237 | |||
238 | setFocusPolicy ( WheelFocus ); | ||
239 | mViewerCallerIsSearchDialog = false; | ||
236 | mBlockShowDates = false; | 240 | mBlockShowDates = false; |
237 | beamDialog = new KOBeamPrefs(); | 241 | beamDialog = new KOBeamPrefs(); |
238 | mDatePickerMode = 0; | 242 | mDatePickerMode = 0; |
239 | mCurrentSyncDevice = ""; | 243 | mCurrentSyncDevice = ""; |
@@ -2619,8 +2623,9 @@ void CalendarView::cloneIncidence(Incidence * orgInc ) | |||
2619 | } else { | 2623 | } else { |
2620 | delete e; | 2624 | delete e; |
2621 | } | 2625 | } |
2622 | } | 2626 | } |
2627 | setActiveWindow(); | ||
2623 | } | 2628 | } |
2624 | 2629 | ||
2625 | void CalendarView::newEvent() | 2630 | void CalendarView::newEvent() |
2626 | { | 2631 | { |
@@ -2676,8 +2681,10 @@ void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay) | |||
2676 | } | 2681 | } |
2677 | if ( filter ) | 2682 | if ( filter ) |
2678 | mEventEditor->setSecrecy( filter->getSecrecy() ); | 2683 | mEventEditor->setSecrecy( filter->getSecrecy() ); |
2679 | } | 2684 | } |
2685 | mEventEditor->exec(); | ||
2686 | setActiveWindow(); | ||
2680 | } | 2687 | } |
2681 | void CalendarView::todoAdded(Todo * t) | 2688 | void CalendarView::todoAdded(Todo * t) |
2682 | { | 2689 | { |
2683 | 2690 | ||
@@ -2712,8 +2719,10 @@ void CalendarView::newTodoDateTime( QDateTime dt, bool allday ) | |||
2712 | } | 2719 | } |
2713 | if ( filter ) | 2720 | if ( filter ) |
2714 | mTodoEditor->setSecrecy( filter->getSecrecy() ); | 2721 | mTodoEditor->setSecrecy( filter->getSecrecy() ); |
2715 | } | 2722 | } |
2723 | mTodoEditor->exec(); | ||
2724 | setActiveWindow(); | ||
2716 | } | 2725 | } |
2717 | 2726 | ||
2718 | void CalendarView::newTodo() | 2727 | void CalendarView::newTodo() |
2719 | { | 2728 | { |
@@ -2730,8 +2739,10 @@ void CalendarView::newSubTodo(Todo *parentEvent) | |||
2730 | { | 2739 | { |
2731 | 2740 | ||
2732 | showTodoEditor(); | 2741 | showTodoEditor(); |
2733 | mTodoEditor->newTodo(QDateTime(),parentEvent,true); | 2742 | mTodoEditor->newTodo(QDateTime(),parentEvent,true); |
2743 | mTodoEditor->exec(); | ||
2744 | setActiveWindow(); | ||
2734 | } | 2745 | } |
2735 | 2746 | ||
2736 | void CalendarView::newFloatingEvent() | 2747 | void CalendarView::newFloatingEvent() |
2737 | { | 2748 | { |
@@ -2752,8 +2763,11 @@ void CalendarView::editEvent( Event *event ) | |||
2752 | return; | 2763 | return; |
2753 | } | 2764 | } |
2754 | showEventEditor(); | 2765 | showEventEditor(); |
2755 | mEventEditor->editEvent( event , mFlagEditDescription); | 2766 | mEventEditor->editEvent( event , mFlagEditDescription); |
2767 | mEventEditor->exec(); | ||
2768 | setActiveWindow(); | ||
2769 | |||
2756 | } | 2770 | } |
2757 | void CalendarView::editJournal( Journal *jour ) | 2771 | void CalendarView::editJournal( Journal *jour ) |
2758 | { | 2772 | { |
2759 | if ( !jour ) return; | 2773 | if ( !jour ) return; |
@@ -2770,8 +2784,10 @@ void CalendarView::editTodo( Todo *todo ) | |||
2770 | return; | 2784 | return; |
2771 | } | 2785 | } |
2772 | showTodoEditor(); | 2786 | showTodoEditor(); |
2773 | mTodoEditor->editTodo( todo ,mFlagEditDescription); | 2787 | mTodoEditor->editTodo( todo ,mFlagEditDescription); |
2788 | mTodoEditor->exec(); | ||
2789 | setActiveWindow(); | ||
2774 | 2790 | ||
2775 | } | 2791 | } |
2776 | 2792 | ||
2777 | KOEventViewerDialog* CalendarView::getEventViewerDialog() | 2793 | KOEventViewerDialog* CalendarView::getEventViewerDialog() |
@@ -2783,8 +2799,10 @@ KOEventViewerDialog* CalendarView::getEventViewerDialog() | |||
2783 | connect( mEventViewerDialog, SIGNAL(jumpToTime( const QDate &)), | 2799 | connect( mEventViewerDialog, SIGNAL(jumpToTime( const QDate &)), |
2784 | dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); | 2800 | dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); |
2785 | connect( mEventViewerDialog, SIGNAL(showAgendaView( bool ) ), | 2801 | connect( mEventViewerDialog, SIGNAL(showAgendaView( bool ) ), |
2786 | viewManager(), SLOT( showAgendaView( bool ) ) ); | 2802 | viewManager(), SLOT( showAgendaView( bool ) ) ); |
2803 | connect( mEventViewerDialog, SIGNAL(signalViewerClosed()), | ||
2804 | this, SLOT( slotViewerClosed() ) ); | ||
2787 | connect( mEventViewerDialog, SIGNAL( todoCompleted(Todo *) ), | 2805 | connect( mEventViewerDialog, SIGNAL( todoCompleted(Todo *) ), |
2788 | this, SLOT( todoChanged(Todo *) ) ); | 2806 | this, SLOT( todoChanged(Todo *) ) ); |
2789 | mEventViewerDialog->resize( 640, 480 ); | 2807 | mEventViewerDialog->resize( 640, 480 ); |
2790 | 2808 | ||
@@ -3737,8 +3755,9 @@ void CalendarView::dialogClosing(Incidence *in) | |||
3737 | } | 3755 | } |
3738 | 3756 | ||
3739 | void CalendarView::showIncidence() | 3757 | void CalendarView::showIncidence() |
3740 | { | 3758 | { |
3759 | mViewerCallerIsSearchDialog = false; | ||
3741 | Incidence *incidence = currentSelection(); | 3760 | Incidence *incidence = currentSelection(); |
3742 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); | 3761 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); |
3743 | if ( incidence ) { | 3762 | if ( incidence ) { |
3744 | ShowIncidenceVisitor v; | 3763 | ShowIncidenceVisitor v; |
@@ -3772,8 +3791,15 @@ void CalendarView::deleteIncidence() | |||
3772 | } | 3791 | } |
3773 | 3792 | ||
3774 | void CalendarView::showIncidence(Incidence *incidence) | 3793 | void CalendarView::showIncidence(Incidence *incidence) |
3775 | { | 3794 | { |
3795 | mViewerCallerIsSearchDialog = false; | ||
3796 | //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() ); | ||
3797 | if ( sender() && mDialogManager->getSearchDialog() ) { | ||
3798 | if ( sender () == mDialogManager->getSearchDialog()->listview() ) { | ||
3799 | mViewerCallerIsSearchDialog = true; | ||
3800 | } | ||
3801 | } | ||
3776 | if ( incidence ) { | 3802 | if ( incidence ) { |
3777 | ShowIncidenceVisitor v; | 3803 | ShowIncidenceVisitor v; |
3778 | v.act( incidence, this ); | 3804 | v.act( incidence, this ); |
3779 | } | 3805 | } |
@@ -3921,4 +3947,28 @@ void CalendarView::undo_delete() | |||
3921 | mCalendar->undoDeleteIncidence(); | 3947 | mCalendar->undoDeleteIncidence(); |
3922 | updateView(); | 3948 | updateView(); |
3923 | } | 3949 | } |
3924 | } | 3950 | } |
3951 | |||
3952 | void CalendarView::slotViewerClosed() | ||
3953 | { | ||
3954 | QTimer::singleShot( 50, this, SLOT ( resetFocus() ) ); | ||
3955 | } | ||
3956 | |||
3957 | void CalendarView::resetFocus() | ||
3958 | { | ||
3959 | if ( mViewerCallerIsSearchDialog ) { | ||
3960 | if ( mDialogManager->getSearchDialog()->isVisible() ){ | ||
3961 | mDialogManager->getSearchDialog()->raise(); | ||
3962 | mDialogManager->getSearchDialog()->setActiveWindow(); | ||
3963 | mDialogManager->getSearchDialog()->listview()->resetFocus(); | ||
3964 | } else | ||
3965 | mViewerCallerIsSearchDialog = false; | ||
3966 | } | ||
3967 | if ( !mViewerCallerIsSearchDialog ) { | ||
3968 | //mViewManager->currentView()->setFocus(); | ||
3969 | //qDebug("sssssssssssssssset focus "); | ||
3970 | setActiveWindow(); | ||
3971 | //setFocus(); | ||
3972 | } | ||
3973 | mViewerCallerIsSearchDialog = false; | ||
3974 | } | ||