-rw-r--r-- | core/pim/addressbook/TODO | 4 | ||||
-rw-r--r-- | core/pim/addressbook/ablabel.cpp | 34 | ||||
-rw-r--r-- | core/pim/addressbook/version.h | 2 |
3 files changed, 27 insertions, 13 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO index 106747e..da9b9c2 100644 --- a/core/pim/addressbook/TODO +++ b/core/pim/addressbook/TODO @@ -14,6 +14,4 @@ Feature requests: - Configure the letter-picker: lastname/fullname search - User center of the joypad to switch back from card to listview ! -- Cursor-UP/Down: Should additionally scroll cardview if it is too large - (behaviour should be selectable by configuration) Known Bugs: @@ -115,2 +113,4 @@ Fixed/Ready: - Default Email-Button: Sometimes not hiding the textfields completely - Fix handling of 3 Firstnames +- Cursor-UP/Down: Should additionally scroll cardview if it is too large + (behaviour should be selectable by configuration) diff --git a/core/pim/addressbook/ablabel.cpp b/core/pim/addressbook/ablabel.cpp index 80b57ae..6d8de91 100644 --- a/core/pim/addressbook/ablabel.cpp +++ b/core/pim/addressbook/ablabel.cpp @@ -91,4 +91,5 @@ void AbLabel::sync() void AbLabel::keyPressEvent( QKeyEvent *e ) { + // Commonly handled keys if ( !m_empty ){ @@ -104,18 +105,31 @@ void AbLabel::keyPressEvent( QKeyEvent *e ) case Qt::Key_Up: qWarning( "UP.."); - --m_itCurContact; - if ( *m_itCurContact != OContact() ) - sync(); - else - m_itCurContact = m_viewList.end(); + if ( ( visibleHeight() < contentsHeight() ) && + ( verticalScrollBar()->value() > verticalScrollBar()->minValue() ) ) + scrollBy( 0, -(visibleHeight()-20) ); + else { + --m_itCurContact; + if ( *m_itCurContact != OContact() ) + sync(); + else + m_itCurContact = m_viewList.end(); + } break; case Qt::Key_Down: qWarning( "DOWN.."); - ++m_itCurContact; - if ( *m_itCurContact != OContact() ) - sync(); - else - m_itCurContact = m_viewList.begin(); +// qWarning( "visible: %d, content: %d",visibleHeight(),contentsHeight()); +// qWarning( "value: %d; barMaxValue: %d", verticalScrollBar()->value() +// , verticalScrollBar()->maxValue() ); + if ( ( visibleHeight() < contentsHeight() ) && + ( verticalScrollBar()->value() < verticalScrollBar()->maxValue() ) ) + scrollBy( 0, visibleHeight()-20 ); + else { + ++m_itCurContact; + if ( *m_itCurContact != OContact() ) + sync(); + else + m_itCurContact = m_viewList.begin(); + } break; case Qt::Key_Return: // fall through diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h index 0f12bd7..999ce67 100644 --- a/core/pim/addressbook/version.h +++ b/core/pim/addressbook/version.h @@ -4,5 +4,5 @@ #define MAINVERSION "0" #define SUBVERSION "9" -#define PATCHVERSION "1" +#define PATCHVERSION "2" #define APPNAME "OPIE_ADDRESSBOOK" |