-rw-r--r-- | core/pim/addressbook/ablabel.cpp | 12 | ||||
-rw-r--r-- | core/pim/addressbook/ablabel.h | 8 |
2 files changed, 13 insertions, 7 deletions
diff --git a/core/pim/addressbook/ablabel.cpp b/core/pim/addressbook/ablabel.cpp index 1139bd7..80b57ae 100644 --- a/core/pim/addressbook/ablabel.cpp +++ b/core/pim/addressbook/ablabel.cpp @@ -12,33 +12,33 @@ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "ablabel.h" #include <qpe/stringutil.h> #include <qregexp.h> #include <qstylesheet.h> -AbLabel::AbLabel( QWidget *parent, const char *name ): +AbLabel::AbLabel( QWidget *parent, const char *name ): QTextView( parent, name ), m_empty( false ) { } AbLabel::~AbLabel() { } void AbLabel::setContacts( const OContactAccess::List& viewList ) { m_viewList = viewList; if (m_viewList.count() != 0){ m_empty = false; m_itCurContact = m_viewList.begin(); sync(); @@ -57,33 +57,33 @@ int AbLabel::currentEntry_UID() return 0; else return ( contact.uid() ); } OContact AbLabel::currentEntry() { if ( ! m_empty ) return ( *m_itCurContact ); else return OContact(); } bool AbLabel::selectContact( int UID ) { - + for ( m_itCurContact = m_viewList.begin(); m_itCurContact != m_viewList.end(); ++m_itCurContact){ if ( (*m_itCurContact).uid() == UID ) break; } sync(); return true; } void AbLabel::sync() { QString text = (*m_itCurContact).toRichText(); setText( text ); } @@ -95,30 +95,36 @@ void AbLabel::keyPressEvent( QKeyEvent *e ) switch( e->key() ) { case Qt::Key_Left: qWarning( "Left.."); case Qt::Key_Right: qWarning( "Right.."); case Qt::Key_F33: qWarning( "OK.."); emit signalOkPressed(); break; case Qt::Key_Up: qWarning( "UP.."); --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(); break; + case Qt::Key_Return: // fall through + case Qt::Key_Space: // fall through + case Qt::Key_Enter: // we want to switch back + emit signalOkPressed(); + break; + default: break; } } } diff --git a/core/pim/addressbook/ablabel.h b/core/pim/addressbook/ablabel.h index b1e35de..80336dc 100644 --- a/core/pim/addressbook/ablabel.h +++ b/core/pim/addressbook/ablabel.h @@ -20,45 +20,45 @@ #ifndef ABLABEL_H #define ABLABEL_H #include <opie/ocontact.h> #include <qtextview.h> #include <opie/ocontactaccess.h> class AbLabel : public QTextView { Q_OBJECT public: AbLabel( QWidget *parent, const char *name = 0 ); ~AbLabel(); - // Set the contacts + // Set the contacts void setContacts( const OContactAccess::List& viewList ); - // Selects a contact + // Selects a contact bool selectContact( int UID ); // Get the UID of the current selected Entry int currentEntry_UID(); // OContact currentEntry(); signals: void signalOkPressed(); - + protected: void sync(); void keyPressEvent( QKeyEvent * ); - + private: OContactAccess::List m_viewList; OContactAccess::List::Iterator m_itCurContact; bool m_empty; }; #endif // ABLABEL_H |