Skip to content

Commit

Permalink
Set current date in CalenderWidget popup
Browse files Browse the repository at this point in the history
when date is not set for better UX, fixes giowck#91
  • Loading branch information
joshirio committed Jan 29, 2020
1 parent c55ad1f commit 484d296
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion widgets/form_widgets/dateformwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include <QtWidgets/QLabel>
#include <QtWidgets/QDateTimeEdit>
#include <QtWidgets/QCalendarWidget>
#include <QtCore/QDateTime>
#include <QtWidgets/QVBoxLayout>
#include <QtCore/QVariant>
Expand Down Expand Up @@ -91,14 +92,22 @@ void DateFormWidget::clearData()
//display empty date by using trick (date is below minimum)
//by using special case value
m_dateTimeEdit->setSpecialValueText(" ");
m_dateTimeEdit->setDate(QDate::fromString("01/01/0001", "dd/MM/yyyy"));
m_dateTimeEdit->setDate(QDate::fromString("01/01/0100", "dd/MM/yyyy"));

//clear popup predefined date, if any
m_dateTimeEdit->calendarWidget()->setSelectedDate(QDate());
}

void DateFormWidget::setData(const QVariant &data)
{
if (!data.isNull()) {
m_dateTimeEdit->setDateTime(data.toDateTime());
*m_lastValidDateTime = data.toDateTime();

//if date not defined (01/01/0100) set calender popup to current date for better UX
if (data.toDate() == QDate::fromString("01/01/0100", "dd/MM/yyyy")) {
m_dateTimeEdit->calendarWidget()->setSelectedDate(QDate::currentDate());
}
} else {
clearData();
}
Expand Down

0 comments on commit 484d296

Please sign in to comment.