-rw-r--r-- | korganizer/journalentry.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp index 7f6f221..5269af7 100644 --- a/korganizer/journalentry.cpp +++ b/korganizer/journalentry.cpp @@ -134,4 +134,8 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) : topLayout->addWidget(mEditor); mEditor->installEventFilter(this); + installEventFilter(this); + mTitle->installEventFilter(this); + setFocusPolicy (QWidget::NoFocus); + connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); @@ -312,10 +316,18 @@ bool JournalEntry::eventFilter( QObject *o, QEvent *e ) { // kdDebug() << "JournalEntry::event received " << e->type() << endl; - + if ( isVisible() ) { + mEditor->setFocusPolicy (QWidget::StrongFocus); + mTitle->setFocusPolicy (QWidget::StrongFocus); + } else { + mEditor->setFocusPolicy (QWidget::NoFocus); + mTitle->setFocusPolicy (QWidget::NoFocus); + } if ( e->type() == QEvent::FocusOut ) { writeJournal(); } if ( e->type() == QEvent::KeyPress ) { - QKeyEvent * k = (QKeyEvent *) e; + QKeyEvent * k = (QKeyEvent *) e; + if ( !isVisible() ) + return true; if ( k->state() == Qt::ControlButton ) { k->ignore(); |