mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 02:42: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)
|
QDateTimeBox::QDateTimeBox(QWidget *parent)
|
||||||
: QSpinBox(parent)
|
: QSpinBox(parent)
|
||||||
{
|
{
|
||||||
QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent);
|
const QDateTimeEdit* datetimeedit = qobject_cast<QDateTimeEdit*>(parent);
|
||||||
updateLocale(datetimeedit->locale());
|
updateLocale(datetimeedit->locale());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ void QDateTimeBox::updateLocale(const QLocale &locale)
|
||||||
|
|
||||||
QValidator::State QDateTimeBox::validate(QString &input, int &pos) const
|
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);
|
const QTime time = datetimeedit->locale().toTime(input, QLocale::ShortFormat);
|
||||||
if (!time.isValid()) {
|
if (!time.isValid()) {
|
||||||
return QValidator::Invalid;
|
return QValidator::Invalid;
|
||||||
|
@ -64,13 +64,13 @@ QValidator::State QDateTimeBox::validate(QString &input, int &pos) const
|
||||||
|
|
||||||
int QDateTimeBox::valueFromText(const QString &text) 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));
|
return getTime_t(datetimeedit->locale().toTime(text, QLocale::ShortFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QDateTimeBox::textFromValue(int value) const
|
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);
|
return datetimeedit->locale().toString(getTime(value), QLocale::ShortFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,19 +127,15 @@ void QDateTimeEditPrivate::updateWidgets(const QDateTime &datetime)
|
||||||
{
|
{
|
||||||
Q_ASSERT(m_showdate || m_showtime);
|
Q_ASSERT(m_showdate || m_showtime);
|
||||||
if (m_showdate) {
|
if (m_showdate) {
|
||||||
const QDate mindate = minimumdate.date();
|
calendarwidget->setMinimumDate(minimumdate.date());
|
||||||
const QDate maxdate = maximumdate.date();
|
calendarwidget->setMaximumDate(maximumdate.date());
|
||||||
calendarwidget->setMinimumDate(mindate);
|
|
||||||
calendarwidget->setMaximumDate(maxdate);
|
|
||||||
m_datebutton->show();
|
m_datebutton->show();
|
||||||
} else {
|
} else {
|
||||||
m_datebutton->hide();
|
m_datebutton->hide();
|
||||||
}
|
}
|
||||||
if (m_showtime) {
|
if (m_showtime) {
|
||||||
const QTime mintime = minimumdate.time();
|
m_timebox->setMinimum(getTime_t(minimumdate.time()));
|
||||||
const QTime maxtime = maximumdate.time();
|
m_timebox->setMaximum(getTime_t(maximumdate.time()));
|
||||||
m_timebox->setMinimum(getTime_t(mintime));
|
|
||||||
m_timebox->setMaximum(getTime_t(maxtime));
|
|
||||||
m_timebox->show();
|
m_timebox->show();
|
||||||
} else {
|
} else {
|
||||||
m_timebox->hide();
|
m_timebox->hide();
|
||||||
|
@ -151,8 +147,7 @@ void QDateTimeEditPrivate::updateWidgets(const QDateTime &datetime)
|
||||||
updateButton(curdate);
|
updateButton(curdate);
|
||||||
}
|
}
|
||||||
if (m_showtime) {
|
if (m_showtime) {
|
||||||
const QTime curtime = datetime.time();
|
m_timebox->setValue(getTime_t(datetime.time()));
|
||||||
m_timebox->setValue(getTime_t(curtime));
|
|
||||||
m_datebutton->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
m_datebutton->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
||||||
} else {
|
} else {
|
||||||
m_datebutton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
m_datebutton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
|
@ -190,9 +185,8 @@ void QDateTimeEditPrivate::setCalendar(QCalendarWidget *calendar)
|
||||||
|
|
||||||
QDateTime QDateTimeEditPrivate::currentDateTime() const
|
QDateTime QDateTimeEditPrivate::currentDateTime() const
|
||||||
{
|
{
|
||||||
const QDate curdate = calendarwidget ? calendarwidget->selectedDate() : QDATETIMEEDIT_DATE_INITIAL;
|
|
||||||
return QDateTime(
|
return QDateTime(
|
||||||
curdate,
|
calendarwidget ? calendarwidget->selectedDate() : QDATETIMEEDIT_DATE_INITIAL,
|
||||||
getTime(m_timebox->value())
|
getTime(m_timebox->value())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue