X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4f24794fc32cd94dfbd473fa8dbc4b504c20bcb3..7eeb8dba6aeba09aa3dfa7fa5f0b00840d4d8317:/src/search/searchcriterionvalue.cpp diff --git a/src/search/searchcriterionvalue.cpp b/src/search/searchcriterionvalue.cpp index 7bf83e94f..065100e4e 100644 --- a/src/search/searchcriterionvalue.cpp +++ b/src/search/searchcriterionvalue.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -42,6 +43,11 @@ SearchCriterionValue::~SearchCriterionValue() { } +void SearchCriterionValue::initializeValue(const QString& valueType) +{ + Q_UNUSED(valueType); +} + // ------------------------------------------------------------------------- DateValue::DateValue(QWidget* parent) : @@ -59,9 +65,31 @@ DateValue::~DateValue() { } -QString DateValue::value() const +Nepomuk::Query::LiteralTerm DateValue::value() const { - return m_dateWidget->date().toString(Qt::ISODate); + const QDateTime dateTime(m_dateWidget->date()); + return Nepomuk::Query::LiteralTerm(dateTime); +} + +void DateValue::initializeValue(const QString& valueType) +{ + QDate date; + if (valueType.isEmpty() || (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); } // ------------------------------------------------------------------------- @@ -85,9 +113,9 @@ TagValue::~TagValue() { } -QString TagValue::value() const +Nepomuk::Query::LiteralTerm TagValue::value() const { - return m_tags->currentText(); + return Nepomuk::Query::LiteralTerm(m_tags->currentText()); } void TagValue::showEvent(QShowEvent* event) @@ -138,9 +166,31 @@ SizeValue::~SizeValue() { } -QString SizeValue::value() const +Nepomuk::Query::LiteralTerm SizeValue::value() const +{ + return Nepomuk::Query::LiteralTerm(); // TODO +} + +// ------------------------------------------------------------------------- + +RatingValue::RatingValue(QWidget* parent) : + SearchCriterionValue(parent), + m_ratingWidget(0) +{ + m_ratingWidget = new KRatingWidget(this); + + QHBoxLayout* layout = new QHBoxLayout(this); + layout->setMargin(0); + layout->addWidget(m_ratingWidget); +} + +RatingValue::~RatingValue() +{ +} + +Nepomuk::Query::LiteralTerm RatingValue::value() const { - return QString(); + return Nepomuk::Query::LiteralTerm(m_ratingWidget->rating()); } #include "searchcriterionvalue.moc"