author | zautrix <zautrix> | 2005-04-04 13:27:55 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-04 13:27:55 (UTC) |
commit | 13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b (patch) (side-by-side diff) | |
tree | 956518730f29846d70544142b6875636713a8b9b | |
parent | 919f1060a9ef41e6c865f28132cf9e82c3f67409 (diff) | |
download | kdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.zip kdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.tar.gz kdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.tar.bz2 |
monthview fix
-rw-r--r-- | korganizer/komonthview.cpp | 25 | ||||
-rw-r--r-- | korganizer/komonthview.h | 3 |
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 @@ -78,21 +78,43 @@ private: KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) : QListBox(parent, name, WRepaintNoErase) { #ifndef DESKTOP_VERSION QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); #endif mWT = new KNOWhatsThis(this); + resetOnFocusIn = true; } 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) { QListBoxItem* item = itemAt ( p ); if ( ! item ) { return i18n("Click in the cell\nto add an event!"); } return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), KOPrefs::instance()->mWTshowDetails, @@ -147,17 +169,17 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) setTopItem(0); } else { setTopItem(topItem()+1); } } } break; case Key_I: - QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); + QTimer::singleShot( 1, this, SLOT ( oneDown() ) ); e->ignore(); break; case Key_Return: case Key_Enter: { if ( currentItem() >= 0 ) { emit doubleClicked( item( currentItem() ) ); e->accept(); @@ -173,16 +195,17 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) e->ignore(); break; } } void KNoScrollListBox::oneDown() { if ( count () ) { + resetOnFocusIn = false; setCurrentItem((currentItem()+1)%count()); if(!itemVisible(currentItem())) { if(currentItem() == 0) { setTopItem(0); } else { setTopItem(topItem()+1); } } diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index 88050fe..e04cdf5 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h @@ -83,18 +83,21 @@ class KNoScrollListBox: public QListBox void shiftUp(); void rightClick(); protected slots: void oneDown(); void keyPressEvent(QKeyEvent *); void keyReleaseEvent(QKeyEvent *); void mousePressEvent(QMouseEvent *); + void focusInEvent ( QFocusEvent * ); + void focusOutEvent ( QFocusEvent * ); private: + bool resetOnFocusIn; KNOWhatsThis * mWT; }; class MonthViewItem: public QListBoxItem { public: MonthViewItem( Incidence *, QDate qd, const QString & title ); |