mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 10:22:55 +00:00
QDateTimeEdit optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
8a7f6ecc1a
commit
66e7f9491f
1 changed files with 10 additions and 16 deletions
|
@ -40,7 +40,7 @@ const int getTime_t(const QTime &value)
|
|||
QDateTimeBox::QDateTimeBox(QWidget *parent)
|
||||
: QSpinBox(parent)
|
||||
{
|
||||
QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent);
|
||||
const QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent);
|
||||
updateLocale(datetimeedit->locale());
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ void QDateTimeBox::updateLocale(const QLocale &locale)
|
|||
|
||||
QValidator::State QDateTimeBox::validate(QString &input, int &pos) const
|
||||
{
|
||||
QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
const QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
const QTime time = datetimeedit->locale().toTime(input, QLocale::ShortFormat);
|
||||
if (!time.isValid()) {
|
||||
return QValidator::Invalid;
|
||||
|
@ -64,13 +64,13 @@ QValidator::State QDateTimeBox::validate(QString &input, int &pos) const
|
|||
|
||||
int QDateTimeBox::valueFromText(const QString &text) const
|
||||
{
|
||||
QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
const QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
return getTime_t(datetimeedit->locale().toTime(text, QLocale::ShortFormat));
|
||||
}
|
||||
|
||||
QString QDateTimeBox::textFromValue(int value) const
|
||||
{
|
||||
QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
const QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent());
|
||||
return datetimeedit->locale().toString(getTime(value), QLocale::ShortFormat);
|
||||
}
|
||||
|
||||
|
@ -127,19 +127,15 @@ void QDateTimeEditPrivate::updateWidgets(const QDateTime &datetime)
|
|||
{
|
||||
Q_ASSERT(m_showdate || m_showtime);
|
||||
if (m_showdate) {
|
||||
const QDate mindate = minimumdate.date();
|
||||
const QDate maxdate = maximumdate.date();
|
||||
calendarwidget->setMinimumDate(mindate);
|
||||
calendarwidget->setMaximumDate(maxdate);
|
||||
calendarwidget->setMinimumDate(minimumdate.date());
|
||||
calendarwidget->setMaximumDate(maximumdate.date());
|
||||
m_datebutton->show();
|
||||
} else {
|
||||
m_datebutton->hide();
|
||||
}
|
||||
if (m_showtime) {
|
||||
const QTime mintime = minimumdate.time();
|
||||
const QTime maxtime = maximumdate.time();
|
||||
m_timebox->setMinimum(getTime_t(mintime));
|
||||
m_timebox->setMaximum(getTime_t(maxtime));
|
||||
m_timebox->setMinimum(getTime_t(minimumdate.time()));
|
||||
m_timebox->setMaximum(getTime_t(maximumdate.time()));
|
||||
m_timebox->show();
|
||||
} else {
|
||||
m_timebox->hide();
|
||||
|
@ -151,8 +147,7 @@ void QDateTimeEditPrivate::updateWidgets(const QDateTime &datetime)
|
|||
updateButton(curdate);
|
||||
}
|
||||
if (m_showtime) {
|
||||
const QTime curtime = datetime.time();
|
||||
m_timebox->setValue(getTime_t(curtime));
|
||||
m_timebox->setValue(getTime_t(datetime.time()));
|
||||
m_datebutton->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
||||
} else {
|
||||
m_datebutton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
|
@ -190,9 +185,8 @@ void QDateTimeEditPrivate::setCalendar(QCalendarWidget *calendar)
|
|||
|
||||
QDateTime QDateTimeEditPrivate::currentDateTime() const
|
||||
{
|
||||
const QDate curdate = calendarwidget ? calendarwidget->selectedDate() : QDATETIMEEDIT_DATE_INITIAL;
|
||||
return QDateTime(
|
||||
curdate,
|
||||
calendarwidget ? calendarwidget->selectedDate() : QDATETIMEEDIT_DATE_INITIAL,
|
||||
getTime(m_timebox->value())
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue