summaryrefslogtreecommitdiffabout
path: root/korganizer/calendarview.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/calendarview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp54
1 files changed, 52 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 3dac20b..1009956 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -231,3 +231,4 @@ CalendarView::CalendarView( Calendar *calendar,
mTodoEditor = 0;
- init();}
+ init();
+}
@@ -235,2 +236,5 @@ void CalendarView::init()
{
+
+ setFocusPolicy ( WheelFocus );
+ mViewerCallerIsSearchDialog = false;
mBlockShowDates = false;
@@ -2622,2 +2626,3 @@ void CalendarView::cloneIncidence(Incidence * orgInc )
}
+ setActiveWindow();
}
@@ -2679,2 +2684,4 @@ void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay)
}
+ mEventEditor->exec();
+ setActiveWindow();
}
@@ -2715,2 +2722,4 @@ void CalendarView::newTodoDateTime( QDateTime dt, bool allday )
}
+ mTodoEditor->exec();
+ setActiveWindow();
}
@@ -2732,3 +2741,5 @@ void CalendarView::newSubTodo(Todo *parentEvent)
showTodoEditor();
- mTodoEditor->newTodo(QDateTime(),parentEvent,true);
+ mTodoEditor->newTodo(QDateTime(),parentEvent,true);
+ mTodoEditor->exec();
+ setActiveWindow();
}
@@ -2755,2 +2766,5 @@ void CalendarView::editEvent( Event *event )
mEventEditor->editEvent( event , mFlagEditDescription);
+ mEventEditor->exec();
+ setActiveWindow();
+
}
@@ -2773,2 +2787,4 @@ void CalendarView::editTodo( Todo *todo )
mTodoEditor->editTodo( todo ,mFlagEditDescription);
+ mTodoEditor->exec();
+ setActiveWindow();
@@ -2786,2 +2802,4 @@ KOEventViewerDialog* CalendarView::getEventViewerDialog()
viewManager(), SLOT( showAgendaView( bool ) ) );
+ connect( mEventViewerDialog, SIGNAL(signalViewerClosed()),
+ this, SLOT( slotViewerClosed() ) );
connect( mEventViewerDialog, SIGNAL( todoCompleted(Todo *) ),
@@ -3740,2 +3758,3 @@ void CalendarView::showIncidence()
{
+ mViewerCallerIsSearchDialog = false;
Incidence *incidence = currentSelection();
@@ -3775,2 +3794,9 @@ void CalendarView::showIncidence(Incidence *incidence)
{
+ mViewerCallerIsSearchDialog = false;
+ //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() );
+ if ( sender() && mDialogManager->getSearchDialog() ) {
+ if ( sender () == mDialogManager->getSearchDialog()->listview() ) {
+ mViewerCallerIsSearchDialog = true;
+ }
+ }
if ( incidence ) {
@@ -3924 +3950,25 @@ void CalendarView::undo_delete()
}
+
+void CalendarView::slotViewerClosed()
+{
+ QTimer::singleShot( 50, this, SLOT ( resetFocus() ) );
+}
+
+void CalendarView::resetFocus()
+{
+ if ( mViewerCallerIsSearchDialog ) {
+ if ( mDialogManager->getSearchDialog()->isVisible() ){
+ mDialogManager->getSearchDialog()->raise();
+ mDialogManager->getSearchDialog()->setActiveWindow();
+ mDialogManager->getSearchDialog()->listview()->resetFocus();
+ } else
+ mViewerCallerIsSearchDialog = false;
+ }
+ if ( !mViewerCallerIsSearchDialog ) {
+ //mViewManager->currentView()->setFocus();
+ //qDebug("sssssssssssssssset focus ");
+ setActiveWindow();
+ //setFocus();
+ }
+ mViewerCallerIsSearchDialog = false;
+}