summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp54
-rw-r--r--korganizer/calendarview.h3
-rw-r--r--korganizer/koeventviewer.h2
-rw-r--r--korganizer/koeventviewerdialog.cpp21
-rw-r--r--korganizer/koeventviewerdialog.h10
-rw-r--r--korganizer/kolistview.cpp8
-rw-r--r--korganizer/kolistview.h1
-rw-r--r--korganizer/kotodoview.cpp22
-rw-r--r--korganizer/mainwindow.cpp1
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
234void CalendarView::init() 235void 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}
2681void CalendarView::todoAdded(Todo * t) 2688void 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}
2757void CalendarView::editJournal( Journal *jour ) 2771void 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)
3739void CalendarView::showIncidence() 3757void 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()
3774void CalendarView::showIncidence(Incidence *incidence) 3793void 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
3952void CalendarView::slotViewerClosed()
3953{
3954 QTimer::singleShot( 50, this, SLOT ( resetFocus() ) );
3955}
3956
3957void 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)
190void KOEventViewerDialog::editIncidence() 191void 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()
204void KOEventViewerDialog::showIncidence() 206void 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}
269void KOEventViewerDialog::hideEvent ( QHideEvent * e )
270{
271 KDialogBase::hideEvent ( e );
272 QTimer::singleShot( 1, this, SLOT (slotViewerClosed() ) );
273}
274
275void 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();
59private slots: 60private 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 787void KOListView::resetFocus()
788{
789 mListView->setFocus();
790}
788void KOListView::updateView() 791void 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}
292MainWindow::~MainWindow() 291MainWindow::~MainWindow()