summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-04-04 13:27:55 (UTC)
committer zautrix <zautrix>2005-04-04 13:27:55 (UTC)
commit13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b (patch) (side-by-side diff)
tree956518730f29846d70544142b6875636713a8b9b
parent919f1060a9ef41e6c865f28132cf9e82c3f67409 (diff)
downloadkdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.zip
kdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.tar.gz
kdepimpi-13fa1e5e1d5e4663bbbc79e0c68caf725ad2e31b.tar.bz2
monthview fix
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
@@ -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 );