Diffstat (limited to 'core/pim/todo/textviewshow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/todo/textviewshow.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/core/pim/todo/textviewshow.cpp b/core/pim/todo/textviewshow.cpp index fe8a9c8..35ea74b 100644 --- a/core/pim/todo/textviewshow.cpp +++ b/core/pim/todo/textviewshow.cpp @@ -1,9 +1,8 @@ -#include "mainwindow.h" #include "textviewshow.h" using namespace Todo; TextViewShow::TextViewShow( QWidget* parent, MainWindow* win) : QTextView( parent ), TodoShow(win) { } @@ -15,18 +14,35 @@ QString TextViewShow::type()const { void TextViewShow::slotShow( const OTodo& ev ) { setText( ev.toRichText() ); } QWidget* TextViewShow::widget() { return this; } void TextViewShow::keyPressEvent( QKeyEvent* event ) { switch( event->key() ) { + case Qt::Key_Up: + if ( ( visibleHeight() < contentsHeight() ) && + ( verticalScrollBar()->value() > verticalScrollBar()->minValue() ) ) + scrollBy( 0, -(visibleHeight()-20) ); + else + showPrev(); + break; + case Qt::Key_Down: + if ( ( visibleHeight() < contentsHeight() ) && + ( verticalScrollBar()->value() < verticalScrollBar()->maxValue() ) ) + scrollBy( 0, visibleHeight()-20 ); + else + showNext(); + break; + case Qt::Key_Left: + case Qt::Key_Right: case Qt::Key_F33: case Qt::Key_Enter: case Qt::Key_Return: + case Qt::Key_Space: escapeView(); break; default: QTextView::keyPressEvent( event ); break; } } |