Fixed the behavior of the "enter" key for the date picker

svn path=/trunk/kdebase/kfind/; revision=241377
This commit is contained in:
Eric Coquelle 2003-08-07 08:39:27 +00:00
parent 8d3e5b32df
commit b19e1215f2
2 changed files with 22 additions and 2 deletions

View file

@ -8,6 +8,7 @@
#include <klocale.h>
#include <kdatepicker.h>
#include <kdatetbl.h>
#include <kdebug.h>
#include "kdatecombo.h"
@ -30,9 +31,10 @@ void KDateCombo::initObject(const QDate & date, QWidget *parent, const char *nam
popupFrame = new KPopupFrame(this, "popupFrame");
datePicker = new KDatePicker(popupFrame, date, "datePicker");
datePicker->setMinimumSize(datePicker->sizeHint());
datePicker->installEventFilter(this);
popupFrame->setMainWidget(datePicker);
setDate(date);
connect(datePicker, SIGNAL(dateEntered(QDate)), this, SLOT(dateEnteredEvent(QDate)));
connect(datePicker, SIGNAL(dateSelected(QDate)), this, SLOT(dateEnteredEvent(QDate)));
}
@ -88,3 +90,20 @@ void KDateCombo::mousePressEvent (QMouseEvent * e)
}
}
bool KDateCombo::eventFilter (QObject* o, QEvent* e)
{
if ( e->type() == QEvent::KeyRelease )
{
QKeyEvent *k = (QKeyEvent *)e;
//Press return == pick selected date and close the combo
if((k->key()==Qt::Key_Return)||(k->key()==Qt::Key_Enter))
{
dateEnteredEvent(datePicker->getDate());
return true;
}
else
return false;
}
else
return false;
}

View file

@ -39,7 +39,8 @@ private:
QDate & string2Date(const QString &, QDate * );
protected:
virtual void mousePressEvent (QMouseEvent * e);
bool eventFilter (QObject*, QEvent*);
virtual void mousePressEvent (QMouseEvent * e);
protected slots:
void dateEnteredEvent(QDate);