diff --git a/src/DataFilter.cpp b/src/DataFilter.cpp index 867607ec8..9f10a8e4f 100644 --- a/src/DataFilter.cpp +++ b/src/DataFilter.cpp @@ -99,7 +99,6 @@ void Leaf::validateFilter(DataFilter *df, Leaf *leaf) // if so set the type to meta or metric // and save the technical name used to do // a lookup at execution time - QString lookup = df->lookupMap.value(*(leaf->lvalue.n), ""); if (lookup == "") { DataFiltererrors << QString("%1 is unknown").arg(*(leaf->lvalue.n)); diff --git a/src/DataFilter.h b/src/DataFilter.h index 3fd7e1ca0..1fce45cc9 100644 --- a/src/DataFilter.h +++ b/src/DataFilter.h @@ -26,21 +26,8 @@ class MainWindow; class RideMetric; class FieldDefinition; class SummaryMetrics; - -class SymbolDef { - - public: - - enum { Float, Integer, String } type; - union { - - RideMetric *metric; // into ride factory - FieldDefinition *meta; // into field definitions in MainWindow - - } def; -}; - class DataFilter; + class Leaf { public: diff --git a/src/DataFilter.l b/src/DataFilter.l index 706abe68f..abb0763c0 100644 --- a/src/DataFilter.l +++ b/src/DataFilter.l @@ -29,6 +29,7 @@ %option noyywrap %option nounput %option noinput +%option 8bit %% "=" DataFilterlval.op = EQ; return EQ; @@ -54,7 +55,7 @@ [-+]?[0-9]+\.[-e0-9]* return FLOAT; \"([^\"]|\\\")*\" return STRING; /* contains non-quotes or escaped-quotes */ -[a-zA-Z0-9][a-zA-Z0-9_]+ return SYMBOL; /* symbols can start with 0-9 */ +[a-zA-Z0-9][a-zA-Z0-9_%™]+ return SYMBOL; /* symbols can start with 0-9 */ [ \n\t\r] ; /* we just ignore whitespace */ diff --git a/src/DataFilter.y b/src/DataFilter.y index d6d3e4cd4..907216c03 100644 --- a/src/DataFilter.y +++ b/src/DataFilter.y @@ -115,7 +115,12 @@ lop : AND ; value : SYMBOL { $$ = new Leaf(); $$->type = Leaf::Symbol; - $$->lvalue.n = new QString(DataFiltertext); } + if (QString(DataFiltertext) == "BikeScore") + $$->lvalue.n = new QString("BikeScore™"); + else + $$->lvalue.n = new QString(DataFiltertext); + } + | STRING { $$ = new Leaf(); $$->type = Leaf::String; QString s2(DataFiltertext); $$->lvalue.s = new QString(s2.mid(1,s2.length()-2)); }