mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-15 08:59:55 +00:00
Datafilter date 'current' to complement 'today'
.. but need to think how we can refresh when current ride changes.
This commit is contained in:
@@ -119,6 +119,7 @@ bool Leaf::isNumber(DataFilter *df, Leaf *leaf)
|
||||
if (symbol == "isRun") return true;
|
||||
else if (!symbol.compare("Date", Qt::CaseInsensitive)) return true;
|
||||
else if (!symbol.compare("Today", Qt::CaseInsensitive)) return true;
|
||||
else if (!symbol.compare("Current", Qt::CaseInsensitive)) return true;
|
||||
else if (isCoggan(symbol)) return true;
|
||||
else return df->lookupType.value(symbol, false);
|
||||
}
|
||||
@@ -173,6 +174,7 @@ void Leaf::validateFilter(DataFilter *df, Leaf *leaf)
|
||||
// isRun isa special, we may add more later (e.g. date)
|
||||
if (symbol.compare("Date", Qt::CaseInsensitive) &&
|
||||
symbol.compare("Today", Qt::CaseInsensitive) &&
|
||||
symbol.compare("Current", Qt::CaseInsensitive) &&
|
||||
symbol != "isRun" && !isCoggan(symbol))
|
||||
DataFiltererrors << QString(QObject::tr("%1 is unknown")).arg(symbol);
|
||||
}
|
||||
@@ -453,6 +455,15 @@ double Leaf::eval(Context *context, DataFilter *df, Leaf *leaf, RideItem *m)
|
||||
lhsdouble = m->isRun ? 1 : 0;
|
||||
lhsisNumber = true;
|
||||
|
||||
} else if (!symbol.compare("Current", Qt::CaseInsensitive)) {
|
||||
|
||||
if (context->currentRideItem())
|
||||
lhsdouble = QDate(1900,01,01).
|
||||
daysTo(context->currentRideItem()->dateTime.date());
|
||||
else
|
||||
lhsdouble = 0;
|
||||
lhsisNumber = true;
|
||||
|
||||
} else if (!symbol.compare("Today", Qt::CaseInsensitive)) {
|
||||
|
||||
lhsdouble = QDate(1900,01,01).daysTo(QDate::currentDate());
|
||||
@@ -535,6 +546,15 @@ double Leaf::eval(Context *context, DataFilter *df, Leaf *leaf, RideItem *m)
|
||||
rhsdouble = m->isRun ? 1 : 0;
|
||||
rhsisNumber = true;
|
||||
|
||||
} else if (!symbol.compare("Current", Qt::CaseInsensitive)) {
|
||||
|
||||
if (context->currentRideItem())
|
||||
rhsdouble = QDate(1900,01,01).
|
||||
daysTo(context->currentRideItem()->dateTime.date());
|
||||
else
|
||||
rhsdouble = 0;
|
||||
rhsisNumber = true;
|
||||
|
||||
} else if (!symbol.compare("Today", Qt::CaseInsensitive)) {
|
||||
|
||||
rhsdouble = QDate(1900,01,01).daysTo(QDate::currentDate());
|
||||
|
||||
Reference in New Issue
Block a user