diff options
Diffstat (limited to 'src/search/searchcriterionvalue.cpp')
| -rw-r--r-- | src/search/searchcriterionvalue.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/search/searchcriterionvalue.cpp b/src/search/searchcriterionvalue.cpp index 7bf83e94f..7d8e2d8cd 100644 --- a/src/search/searchcriterionvalue.cpp +++ b/src/search/searchcriterionvalue.cpp @@ -42,6 +42,11 @@ SearchCriterionValue::~SearchCriterionValue() { } +void SearchCriterionValue::initializeValue(const QString& valueType) +{ + Q_UNUSED(valueType); +} + // ------------------------------------------------------------------------- DateValue::DateValue(QWidget* parent) : @@ -64,6 +69,31 @@ QString DateValue::value() const return m_dateWidget->date().toString(Qt::ISODate); } +void DateValue::initializeValue(const QString& valueType) +{ + if (valueType.isEmpty()) { + return; + } + + QDate date; + if (valueType == "today") { + date = QDate::currentDate(); + } else if (valueType == "thisWeek") { + const QDate today = QDate::currentDate(); + const int dayOfWeek = today.dayOfWeek(); + date = today.addDays(-dayOfWeek); + } else if (valueType == "thisMonth") { + const QDate today = QDate::currentDate(); + date = QDate(today.year(), today.month(), 1); + } else if (valueType == "thisYear") { + date = QDate(QDate::currentDate().year(), 1, 1); + } else { + // unknown value-type + Q_ASSERT(false); + } + m_dateWidget->setDate(date); +} + // ------------------------------------------------------------------------- TagValue::TagValue(QWidget* parent) : |
