-rw-r--r-- | korganizer/calendarview.cpp | 54 | ||||
-rw-r--r-- | korganizer/calendarview.h | 3 | ||||
-rw-r--r-- | korganizer/koeventviewer.h | 2 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.cpp | 21 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.h | 10 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 8 | ||||
-rw-r--r-- | korganizer/kolistview.h | 1 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 22 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 1 |
9 files changed, 111 insertions, 11 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 3dac20b..1009956 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -230,8 +230,12 @@ CalendarView::CalendarView( Calendar *calendar, | |||
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(); |
@@ -2621,4 +2625,5 @@ void CalendarView::cloneIncidence(Incidence * orgInc ) | |||
2621 | } | 2625 | } |
2622 | } | 2626 | } |
2627 | setActiveWindow(); | ||
2623 | } | 2628 | } |
2624 | 2629 | ||
@@ -2678,4 +2683,6 @@ void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay) | |||
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) |
@@ -2714,4 +2721,6 @@ void CalendarView::newTodoDateTime( QDateTime dt, bool allday ) | |||
2714 | mTodoEditor->setSecrecy( filter->getSecrecy() ); | 2721 | mTodoEditor->setSecrecy( filter->getSecrecy() ); |
2715 | } | 2722 | } |
2723 | mTodoEditor->exec(); | ||
2724 | setActiveWindow(); | ||
2716 | } | 2725 | } |
2717 | 2726 | ||
@@ -2731,5 +2740,7 @@ void CalendarView::newSubTodo(Todo *parentEvent) | |||
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 | ||
@@ -2754,4 +2765,7 @@ void CalendarView::editEvent( Event *event ) | |||
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 ) |
@@ -2772,4 +2786,6 @@ void CalendarView::editTodo( Todo *todo ) | |||
2772 | showTodoEditor(); | 2786 | showTodoEditor(); |
2773 | mTodoEditor->editTodo( todo ,mFlagEditDescription); | 2787 | mTodoEditor->editTodo( todo ,mFlagEditDescription); |
2788 | mTodoEditor->exec(); | ||
2789 | setActiveWindow(); | ||
2774 | 2790 | ||
2775 | } | 2791 | } |
@@ -2785,4 +2801,6 @@ KOEventViewerDialog* CalendarView::getEventViewerDialog() | |||
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 *) ) ); |
@@ -3739,4 +3757,5 @@ void CalendarView::dialogClosing(Incidence *in) | |||
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(); |
@@ -3774,4 +3793,11 @@ void CalendarView::deleteIncidence() | |||
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; |
@@ -3923,2 +3949,26 @@ void CalendarView::undo_delete() | |||
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 | } | ||
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index e626ea3..664d700 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -457,4 +457,6 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
457 | void undo_delete(); | 457 | void undo_delete(); |
458 | protected slots: | 458 | protected slots: |
459 | void resetFocus(); | ||
460 | void slotViewerClosed(); | ||
459 | void timerAlarm(); | 461 | void timerAlarm(); |
460 | void suspendAlarm(); | 462 | void suspendAlarm(); |
@@ -496,4 +498,5 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
496 | 498 | ||
497 | private: | 499 | private: |
500 | bool mViewerCallerIsSearchDialog; | ||
498 | bool mBlockShowDates; | 501 | bool mBlockShowDates; |
499 | KSyncManager* mSyncManager; | 502 | KSyncManager* mSyncManager; |
diff --git a/korganizer/koeventviewer.h b/korganizer/koeventviewer.h index d8142ca..2d4a08e 100644 --- a/korganizer/koeventviewer.h +++ b/korganizer/koeventviewer.h | |||
@@ -71,5 +71,5 @@ class KOEventViewer : public QTextBrowser { | |||
71 | Incidence* mCurrentIncidence; | 71 | Incidence* mCurrentIncidence; |
72 | signals: | 72 | signals: |
73 | void launchaddressbook(QString uid); | 73 | void launchaddressbook(QString uid); |
74 | }; | 74 | }; |
75 | 75 | ||
diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp index 23e62d3..8bada3b 100644 --- a/korganizer/koeventviewerdialog.cpp +++ b/korganizer/koeventviewerdialog.cpp | |||
@@ -21,4 +21,5 @@ | |||
21 | 21 | ||
22 | #include <libkcal/event.h> | 22 | #include <libkcal/event.h> |
23 | #include <qtimer.h> | ||
23 | #include <qpushbutton.h> | 24 | #include <qpushbutton.h> |
24 | 25 | ||
@@ -40,5 +41,5 @@ KOEventViewerDialog::KOEventViewerDialog(QWidget *parent,const char *name) | |||
40 | i18n("Event Viewer"),Ok|User1|Close,Close, false, i18n("Agenda")) | 41 | i18n("Event Viewer"),Ok|User1|Close,Close, false, i18n("Agenda")) |
41 | { | 42 | { |
42 | 43 | sendSignalViewerClosed = true; | |
43 | mEventViewer = new KOEventViewer(this); | 44 | mEventViewer = new KOEventViewer(this); |
44 | mEventViewer->setFont( KOPrefs::instance()->mEventViewFont ); | 45 | mEventViewer->setFont( KOPrefs::instance()->mEventViewFont ); |
@@ -190,4 +191,5 @@ void KOEventViewerDialog::addText(QString text) | |||
190 | void KOEventViewerDialog::editIncidence() | 191 | void KOEventViewerDialog::editIncidence() |
191 | { | 192 | { |
193 | sendSignalViewerClosed = false; | ||
192 | if ( mSyncMode ) { | 194 | if ( mSyncMode ) { |
193 | mSyncResult = 2; | 195 | mSyncResult = 2; |
@@ -204,5 +206,5 @@ void KOEventViewerDialog::editIncidence() | |||
204 | void KOEventViewerDialog::showIncidence() | 206 | void KOEventViewerDialog::showIncidence() |
205 | { | 207 | { |
206 | 208 | sendSignalViewerClosed = false; | |
207 | if ( mSyncMode ) { | 209 | if ( mSyncMode ) { |
208 | mSyncResult = 1; | 210 | mSyncResult = 1; |
@@ -265,2 +267,17 @@ void KOEventViewerDialog::keyPressEvent ( QKeyEvent * e ) | |||
265 | 267 | ||
266 | } | 268 | } |
269 | void KOEventViewerDialog::hideEvent ( QHideEvent * e ) | ||
270 | { | ||
271 | KDialogBase::hideEvent ( e ); | ||
272 | QTimer::singleShot( 1, this, SLOT (slotViewerClosed() ) ); | ||
273 | } | ||
274 | |||
275 | void KOEventViewerDialog::slotViewerClosed() | ||
276 | { | ||
277 | if ( sendSignalViewerClosed ) { | ||
278 | //qDebug("KOEventViewerDialog::hideEvent "); | ||
279 | emit signalViewerClosed(); | ||
280 | } | ||
281 | sendSignalViewerClosed = true; | ||
282 | } | ||
283 | |||
diff --git a/korganizer/koeventviewerdialog.h b/korganizer/koeventviewerdialog.h index b6b4103..36431ad 100644 --- a/korganizer/koeventviewerdialog.h +++ b/korganizer/koeventviewerdialog.h | |||
@@ -56,10 +56,14 @@ class KOEventViewerDialog : public KDialogBase { | |||
56 | void jumpToTime( const QDate &); | 56 | void jumpToTime( const QDate &); |
57 | void showAgendaView( bool ); | 57 | void showAgendaView( bool ); |
58 | void todoCompleted(Todo*); | 58 | void todoCompleted(Todo*); |
59 | void signalViewerClosed(); | ||
59 | private slots: | 60 | private slots: |
61 | void slotViewerClosed(); | ||
60 | void editIncidence(); | 62 | void editIncidence(); |
61 | void showIncidence(); | 63 | void showIncidence(); |
62 | 64 | protected: | |
65 | void hideEvent ( QHideEvent * e ); | ||
63 | private: | 66 | private: |
67 | bool sendSignalViewerClosed; | ||
64 | bool mSyncMode; | 68 | bool mSyncMode; |
65 | int mSyncResult; | 69 | int mSyncResult; |
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 4a6e17d..6acee75 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -785,5 +785,8 @@ void KOListView::hideDates() | |||
785 | showDates(false); | 785 | showDates(false); |
786 | } | 786 | } |
787 | 787 | void KOListView::resetFocus() | |
788 | { | ||
789 | mListView->setFocus(); | ||
790 | } | ||
788 | void KOListView::updateView() | 791 | void KOListView::updateView() |
789 | { | 792 | { |
@@ -1076,9 +1079,10 @@ void KOListViewListView::keyPressEvent ( QKeyEvent *e) | |||
1076 | KOListViewItem* ci = (KOListViewItem*)( cn ); | 1079 | KOListViewItem* ci = (KOListViewItem*)( cn ); |
1077 | if ( ci ){ | 1080 | if ( ci ){ |
1078 | emit showIncidence( ci->data()); | 1081 | //emit showIncidence( ci->data()); |
1079 | cn = cn->nextSibling(); | 1082 | cn = cn->nextSibling(); |
1080 | if ( cn ) { | 1083 | if ( cn ) { |
1081 | setCurrentItem ( cn ); | 1084 | setCurrentItem ( cn ); |
1082 | ensureItemVisible ( cn ); | 1085 | ensureItemVisible ( cn ); |
1086 | emit showIncidence( ci->data()); | ||
1083 | } | 1087 | } |
1084 | } | 1088 | } |
diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index bd5bd12..c86449d 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h | |||
@@ -255,4 +255,5 @@ class KOListView : public KOEventView | |||
255 | int count(); | 255 | int count(); |
256 | QString getWhatsThisText(QPoint p); | 256 | QString getWhatsThisText(QPoint p); |
257 | void resetFocus(); | ||
257 | signals: | 258 | signals: |
258 | void signalNewEvent(); | 259 | void signalNewEvent(); |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 3483e95..5e8ea27 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -606,4 +606,9 @@ void KOTodoView::updateView() | |||
606 | // kdDebug() << "KOTodoView::updateView()" << endl; | 606 | // kdDebug() << "KOTodoView::updateView()" << endl; |
607 | QFont fo = KOPrefs::instance()->mTodoViewFont; | 607 | QFont fo = KOPrefs::instance()->mTodoViewFont; |
608 | Incidence* oldInc = 0; | ||
609 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | ||
610 | if (mActiveItem) | ||
611 | oldInc = mActiveItem->todo(); | ||
612 | |||
608 | mTodoListView->clear(); | 613 | mTodoListView->clear(); |
609 | if ( mName == "todolistsmall" ) { | 614 | if ( mName == "todolistsmall" ) { |
@@ -687,4 +692,21 @@ void KOTodoView::updateView() | |||
687 | mTodoListView->blockSignals( false ); | 692 | mTodoListView->blockSignals( false ); |
688 | mTodoListView->setFocus(); | 693 | mTodoListView->setFocus(); |
694 | if ( mTodoListView->firstChild () ) { | ||
695 | if ( oldInc ) { | ||
696 | KOTodoViewItem* item = (KOTodoViewItem*)mTodoListView->firstChild (); | ||
697 | while ( item ) { | ||
698 | if ( item->todo() == oldInc ) { | ||
699 | mTodoListView->setCurrentItem( item ); | ||
700 | mTodoListView->ensureItemVisible( item ); | ||
701 | break; | ||
702 | } | ||
703 | item = (KOTodoViewItem*)item->itemBelow(); | ||
704 | } | ||
705 | if ( ! item ) | ||
706 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); | ||
707 | } else { | ||
708 | mTodoListView->setCurrentItem( mTodoListView->firstChild () ); | ||
709 | } | ||
710 | } | ||
689 | processSelectionChange(); | 711 | processSelectionChange(); |
690 | } | 712 | } |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 4f2cccf..2de7f28 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -288,5 +288,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | |||
288 | mBRdisabled = false; | 288 | mBRdisabled = false; |
289 | //toggleBeamReceive(); | 289 | //toggleBeamReceive(); |
290 | setFocusPolicy ( WheelFocus ); | ||
291 | } | 290 | } |
292 | MainWindow::~MainWindow() | 291 | MainWindow::~MainWindow() |