diff --git a/kmymoney/dialogs/settings/ksettingsregisterdecl.ui b/kmymoney/dialogs/settings/ksettingsregisterdecl.ui --- a/kmymoney/dialogs/settings/ksettingsregisterdecl.ui +++ b/kmymoney/dialogs/settings/ksettingsregisterdecl.ui @@ -234,6 +234,52 @@ + + + + + + Initial cursor position within the date field + + + + + + + + Day + + + + + Month + + + + + Year + + + + + + + + + 31 + 20 + + + + QSizePolicy::Expanding + + + Qt::Horizontal + + + + + diff --git a/kmymoney/settings/kmymoney.kcfg b/kmymoney/settings/kmymoney.kcfg --- a/kmymoney/settings/kmymoney.kcfg +++ b/kmymoney/settings/kmymoney.kcfg @@ -323,6 +323,15 @@ 1,-9,-4 + + + Day + + + + + + 0 diff --git a/kmymoney/settings/kmymoneysettings.kcfgc b/kmymoney/settings/kmymoneysettings.kcfgc --- a/kmymoney/settings/kmymoneysettings.kcfgc +++ b/kmymoney/settings/kmymoneysettings.kcfgc @@ -4,3 +4,4 @@ Mutators=true Visibility=KMM_SETTINGS_EXPORT IncludeFiles=kmm_settings_export.h +UseEnumTypes=true diff --git a/kmymoney/widgets/kmymoneydateinput.cpp b/kmymoney/widgets/kmymoneydateinput.cpp --- a/kmymoney/widgets/kmymoneydateinput.cpp +++ b/kmymoney/widgets/kmymoneydateinput.cpp @@ -16,6 +16,7 @@ ***************************************************************************/ #include "kmymoneydateinput.h" +#include "kmymoneysettings.h" // ---------------------------------------------------------------------------- // QT Includes @@ -168,16 +169,23 @@ // see if we find a known format. If it's unknown, then we use YMD (international) if (order == "mdy") { d->m_dateEdit->setDisplayFormat(QString("MM%1dd%2yyyy").arg(separator, separator)); - d->m_dateEdit->setInitialSection(QDateTimeEdit::MonthSection); } else if (order == "dmy") { d->m_dateEdit->setDisplayFormat(QString("dd%1MM%2yyyy").arg(separator, separator)); - d->m_dateEdit->setInitialSection(QDateTimeEdit::DaySection); } else if (order == "ydm") { d->m_dateEdit->setDisplayFormat(QString("yyyy%1dd%2MM").arg(separator, separator)); - d->m_dateEdit->setInitialSection(QDateTimeEdit::YearSection); } else { d->m_dateEdit->setDisplayFormat(QString("yyyy%1MM%2dd").arg(separator, separator)); - d->m_dateEdit->setInitialSection(QDateTimeEdit::YearSection); + } + switch(KMyMoneySettings::initialDateFieldCursorPosition()) { + case KMyMoneySettings::Day: + d->m_dateEdit->setInitialSection(QDateTimeEdit::DaySection); + break; + case KMyMoneySettings::Month: + d->m_dateEdit->setInitialSection(QDateTimeEdit::MonthSection); + break; + case KMyMoneySettings::Year: + d->m_dateEdit->setInitialSection(QDateTimeEdit::YearSection); + break; } d->m_datePicker = new KDatePicker(d->m_date, d->m_dateFrame);