summaryrefslogtreecommitdiffabout
path: root/kaddressbook/views/contactlistview.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/views/contactlistview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/views/contactlistview.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/kaddressbook/views/contactlistview.cpp b/kaddressbook/views/contactlistview.cpp
index e75810e..09d9c03 100644
--- a/kaddressbook/views/contactlistview.cpp
+++ b/kaddressbook/views/contactlistview.cpp
@@ -30,4 +30,5 @@
#include <qbrush.h>
#include <qevent.h>
+#include <qapplication.h>
#include <klocale.h>
@@ -249,4 +250,6 @@ ContactListView::ContactListView(KAddressBookTableView *view,
oldColumn( 0 )
{
+ mFlagBlockKeyPressed = false;
+ mFlagKeyPressed = false;
mABackground = true;
mSingleLine = false;
@@ -396,4 +399,30 @@ void ContactListView::setBackgroundPixmap(const QString &filename)
}
+
+void ContactListView::keyPressEvent ( QKeyEvent * e )
+{
+ if ( mFlagBlockKeyPressed )
+ return;
+ qApp->processEvents();
+ if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
+ e->accept();
+ return;
+ }
+ if (! e->isAutoRepeat() )
+ mFlagKeyPressed = true;
+ KListView::keyPressEvent ( e );
+}
+void ContactListView::keyReleaseEvent ( QKeyEvent * e )
+{
+ if ( mFlagBlockKeyPressed )
+ return;
+ if ( !e->isAutoRepeat() ) {
+ mFlagBlockKeyPressed = true;
+ qApp->processEvents();
+ mFlagBlockKeyPressed = false;
+ mFlagKeyPressed = false;
+ }
+ KListView::keyReleaseEvent ( e );
+}
#ifndef KAB_EMBEDDED
#include "contactlistview.moc"