21 #include <tdeglobal.h>
22 #include <tdelocale.h>
23 #include <tdemessagebox.h>
25 #include "dateedit.moc"
31 connect(
this, TQT_SIGNAL(
dateEntered(
const TQDate&)), TQT_SLOT(newDateEntered(
const TQDate&)));
37 if (mMinDate.isValid() &&
date().isValid() &&
date() < mMinDate)
39 mMinDateErrString = errorDate;
45 if (mMaxDate.isValid() &&
date().isValid() &&
date() > mMaxDate)
47 mMaxDateErrString = errorDate;
56 void DateEdit::newDateEntered(
const TQDate& newDate)
58 if (newDate.isValid())
60 if (mMinDate.isValid() && newDate < mMinDate)
62 pastLimitMessage(mMinDate, mMinDateErrString,
63 i18n(
"Date cannot be earlier than %1"));
66 else if (mMaxDate.isValid() && newDate > mMaxDate)
68 pastLimitMessage(mMaxDate, mMaxDateErrString,
69 i18n(
"Date cannot be later than %1"));
75 void DateEdit::pastLimitMessage(
const TQDate& limit,
const TQString& error,
const TQString& defaultError)
77 TQString errString = error;
78 if (errString.isNull())
80 if (limit == TQDate::currentDate())
81 errString = i18n(
"today");
83 errString = TDEGlobal::locale()->formatDate(limit,
true);
84 errString = defaultError.arg(errString);
86 KMessageBox::sorry(
this, errString);
89 void DateEdit::mousePressEvent(TQMouseEvent *e)
94 if (e->button() == Qt::LeftButton)
100 void DateEdit::mouseReleaseEvent(TQMouseEvent* e)
103 KDateEdit::mouseReleaseEvent(e);
106 void DateEdit::mouseMoveEvent(TQMouseEvent* e)
109 KDateEdit::mouseMoveEvent(e);
112 void DateEdit::keyPressEvent(TQKeyEvent* e)
115 KDateEdit::keyPressEvent(e);
118 void DateEdit::keyReleaseEvent(TQKeyEvent* e)
121 KDateEdit::keyReleaseEvent(e);