summaryrefslogtreecommitdiffabout
path: root/libkdepim/kdateedit.cpp
Unidiff
Diffstat (limited to 'libkdepim/kdateedit.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/kdateedit.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/libkdepim/kdateedit.cpp b/libkdepim/kdateedit.cpp
index c4c0081..2c78ea3 100644
--- a/libkdepim/kdateedit.cpp
+++ b/libkdepim/kdateedit.cpp
@@ -397,68 +397,69 @@ void KDateEdit::toggleDatePicker()
397 397
398 QDate date = readDate(); 398 QDate date = readDate();
399 if(date.isValid()) { 399 if(date.isValid()) {
400 mDatePicker->setDate(date); 400 mDatePicker->setDate(date);
401 } else { 401 } else {
402 mDatePicker->setDate(QDate::currentDate()); 402 mDatePicker->setDate(QDate::currentDate());
403 } 403 }
404 mDateFrame->show(); 404 mDateFrame->show();
405 } 405 }
406} 406}
407 407
408 408
409void KDateEdit::lineEnterPressed() 409void KDateEdit::lineEnterPressed()
410{ 410{
411 QDate date = readDate(); 411 QDate date = readDate();
412 412
413 if(date.isValid()) 413 if(date.isValid())
414 { 414 {
415 // Update the edit. This is needed if the user has entered a 415 // Update the edit. This is needed if the user has entered a
416 // word rather than the actual date. 416 // word rather than the actual date.
417 setDate(date); 417 setDate(date);
418 emit(dateChanged(date)); 418 emit(dateChanged(date));
419 emit returnPressed(); 419 emit returnPressed();
420 } 420 }
421 else 421 else
422 { 422 {
423 if ( withoutDp ) { 423 if ( withoutDp ) {
424 KNotifyClient::beep(); 424 KNotifyClient::beep();
425 } else { 425 } else {
426 if ( !mDateEdit->text().isEmpty() ) { 426 if ( !mDateEdit->text().isEmpty() ) {
427 mTextChanged = false; 427 mTextChanged = false;
428 QString text = i18n( "You entered an invalid date!\n Will use current date instead." ); 428 QString text = i18n( "You entered an invalid date!\n Will use current date instead." );
429 if ( KMessageBox::warningContinueCancel( 0, text ) == KMessageBox::Continue ) { 429 if ( isVisible() )
430 setDate( QDate::currentDate() ); 430 if ( KMessageBox::warningContinueCancel( 0, text ) == KMessageBox::Continue ) {
431 emit dateChanged( QDate::currentDate() ); 431 setDate( QDate::currentDate() );
432 } 432 emit dateChanged( QDate::currentDate() );
433 }
433 } 434 }
434 } 435 }
435 } 436 }
436} 437}
437 438
438bool KDateEdit::inputIsValid() 439bool KDateEdit::inputIsValid()
439{ 440{
440 return readDate().isValid(); 441 return readDate().isValid();
441} 442}
442 443
443QDate KDateEdit::readDate() const 444QDate KDateEdit::readDate() const
444{ 445{
445 QString text = mDateEdit->text(); 446 QString text = mDateEdit->text();
446 QDate date; 447 QDate date;
447 448
448 if (mKeywordMap.contains(text.lower())) 449 if (mKeywordMap.contains(text.lower()))
449 { 450 {
450 date = QDate::currentDate().addDays(mKeywordMap[text.lower()]); 451 date = QDate::currentDate().addDays(mKeywordMap[text.lower()]);
451 } 452 }
452 else 453 else
453 { 454 {
454 date = KGlobal::locale()->readDate(text); 455 date = KGlobal::locale()->readDate(text);
455 } 456 }
456 457
457 return date; 458 return date;
458} 459}
459 460
460bool KDateEdit::eventFilter(QObject *, QEvent *e) 461bool KDateEdit::eventFilter(QObject *, QEvent *e)
461{ 462{
462 // We only process the focus out event if the text has changed 463 // We only process the focus out event if the text has changed
463 // since we got focus 464 // since we got focus
464 if ((e->type() == QEvent::FocusOut) && mTextChanged) 465 if ((e->type() == QEvent::FocusOut) && mTextChanged)