From 3d7b54b21a47e98d1d02c7d21061a6bd43b8d1c7 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 13 Nov 2009 22:48:07 +0000 Subject: Implemented initialization of value-widgets. This allows e.g. to apply dates like "today", "last week", ... to the date-value-widgets just by specifying a search criterion. svn path=/trunk/KDE/kdebase/apps/; revision=1048771 --- src/search/searchcriterionselector.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/search/searchcriterionselector.cpp') diff --git a/src/search/searchcriterionselector.cpp b/src/search/searchcriterionselector.cpp index 4b6112b9c..104f83c1c 100644 --- a/src/search/searchcriterionselector.cpp +++ b/src/search/searchcriterionselector.cpp @@ -132,7 +132,13 @@ void SearchCriterionSelector::slotComparatorChanged(int index) const int descIndex = m_descriptionsBox->currentIndex(); const SearchCriterionDescription& descr = m_descriptions[descIndex]; const SearchCriterionDescription::Comparator& comp = descr.comparators()[index]; - m_valueWidget->setVisible(!comp.operation.isEmpty()); + + m_valueWidget->initializeValue(comp.autoValueType); + if (!comp.operation.isEmpty() && comp.autoValueType.isEmpty()) { + // only show the value widget, if an operation is defined + // and no automatic calculation is provided + m_valueWidget->show(); + } emit criterionChanged(); } @@ -152,10 +158,11 @@ void SearchCriterionSelector::createDescriptions() // add "Date" description QList dateComps; - dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Anytime"))); // TODO - dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Today"))); // TODO - dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This week"))); // TODO - dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This month"))); // TODO + dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Anytime"))); + dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Today"), ":", "+", "today")); + dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This Week"), ">=", "+", "thisWeek")); + dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This Month"), ">=", "+", "thisMonth")); + dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This Year"), ">=", "+", "thisYear")); foreach (const SearchCriterionDescription::Comparator& comp, defaultComps) { dateComps.append(comp); } -- cgit v1.3