void StringEdit::setupLabel() { QString stringLabel; if(hasMultipleCardinality()) { QList<Nepomuk2::Resource> stringList = resource().property(propertyUrl()).toResourceList(); foreach (const Nepomuk2::Resource & r, stringList) { stringLabel.append(r.property(propertyUrl()).toString()); stringLabel.append(QLatin1String("; ")); } stringLabel.chop(2); }
QList<Nepomuk2::Query::Term> PassDatePeriods::run(const QList<Nepomuk2::Query::Term> &match) const { QList<Nepomuk2::Query::Term> rs; int value_match_index = 0; Period p = period; int v = value; int value_position = 0; int value_length = 0; if (p == VariablePeriod) { // Parse the period from match.at(0) QString period_name = termStringValue(match.at(0)); if (period_name.isNull() || !periods.contains(period_name)) { return rs; } p = periodFromName(period_name); value_match_index = 1; } if (v == 0 && value_match_index < match.count()) { // Parse the value either from match.at(0) (there was no period) or // match.at(1) if (!termIntValue(match.at(value_match_index), v)) { return rs; } value_position = match.at(value_match_index).position(); value_length = match.at(value_match_index).length(); } // Create a comparison on the right "property", that will be used in a later // pass to build a real date-time object Nepomuk2::Query::LiteralTerm value_term(value_type == InvertedOffset ? -v : v); value_term.setPosition(value_position, value_length); rs.append(Nepomuk2::Query::ComparisonTerm( propertyUrl(p, value_type != Value), value_term, Nepomuk2::Query::ComparisonTerm::Equal )); return rs; }