summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/komonthview.cpp25
-rw-r--r--korganizer/komonthview.h3
2 files changed, 27 insertions, 1 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index ab9a4b6..9f7db69 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -85,2 +85,3 @@ KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
mWT = new KNOWhatsThis(this);
+ resetOnFocusIn = true;
}
@@ -90,2 +91,23 @@ KNoScrollListBox::~KNoScrollListBox()
}
+
+
+void KNoScrollListBox::focusInEvent ( QFocusEvent * e )
+{
+ QListBox::focusInEvent ( e );
+ QListBoxItem * i = item ( 0 );
+ if ( i && resetOnFocusIn ) {
+ setCurrentItem( i );
+ setSelected ( 0, true );
+ }
+ resetOnFocusIn = true;
+}
+void KNoScrollListBox::focusOutEvent ( QFocusEvent * e )
+{
+ int i = currentItem ();
+ if ( i >= 0 ) {
+ setSelected ( i, false );
+ }
+ QListBox::focusOutEvent ( e );
+}
+
QString KNoScrollListBox::getWhatsThisText(QPoint p)
@@ -154,3 +176,3 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
case Key_I:
- QTimer::singleShot( 11, this, SLOT ( oneDown() ) );
+ QTimer::singleShot( 1, this, SLOT ( oneDown() ) );
e->ignore();
@@ -180,2 +202,3 @@ void KNoScrollListBox::oneDown()
if ( count () ) {
+ resetOnFocusIn = false;
setCurrentItem((currentItem()+1)%count());
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 88050fe..e04cdf5 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -90,4 +90,7 @@ class KNoScrollListBox: public QListBox
void mousePressEvent(QMouseEvent *);
+ void focusInEvent ( QFocusEvent * );
+ void focusOutEvent ( QFocusEvent * );
private:
+ bool resetOnFocusIn;
KNOWhatsThis * mWT;