diff options
| author | louis <louis.braun@gmx.de> | 2015-01-24 10:47:47 +0100 |
|---|---|---|
| committer | louis <louis.braun@gmx.de> | 2015-01-24 10:47:47 +0100 |
| commit | a74cb93163146e547abc641638874697904672e5 (patch) | |
| tree | 5ade879d4ad7808cfb8eca6ad2bd40636a4fa22b /libtemplate/parameter.c | |
| parent | 5733a499407a11b095887e06df09c4e5d6debeda (diff) | |
| download | vdr-plugin-skindesigner-a74cb93163146e547abc641638874697904672e5.tar.gz vdr-plugin-skindesigner-a74cb93163146e547abc641638874697904672e5.tar.bz2 | |
introduced globals.xml in skinpath, theme.xml in theme path
Diffstat (limited to 'libtemplate/parameter.c')
| -rw-r--r-- | libtemplate/parameter.c | 43 |
1 files changed, 7 insertions, 36 deletions
diff --git a/libtemplate/parameter.c b/libtemplate/parameter.c index 83597c8..1479014 100644 --- a/libtemplate/parameter.c +++ b/libtemplate/parameter.c @@ -146,34 +146,8 @@ bool cNumericParameter::CheckExpression(int &val, string &parsedVal) { } if (globals) { - for (map<string, int>::iterator globInt = globals->intVars.begin(); globInt != globals->intVars.end(); globInt++) { - stringstream sToken; - sToken << "{" << globInt->first << "}"; - string token = sToken.str(); - size_t foundToken = parsedValue.find(token); - if (foundToken != string::npos) { - stringstream st; - st << globInt->second; - parsedValue = parsedValue.replace(foundToken, token.size(), st.str()); - } - } - for (map<string, double>::iterator globDouble = globals->doubleVars.begin(); globDouble != globals->doubleVars.end(); globDouble++) { - stringstream sToken; - sToken << "{" << globDouble->first << "}"; - string token = sToken.str(); - size_t foundToken = parsedValue.find(token); - if (foundToken != string::npos) { - stringstream st; - st << globDouble->second; - string doubleVal = st.str(); - if (config.replaceDecPoint) { - if (doubleVal.find_first_of('.') != string::npos) { - std::replace( doubleVal.begin(), doubleVal.end(), '.', config.decPoint); - } - } - parsedValue = parsedValue.replace(foundToken, token.size(), doubleVal); - } - } + globals->ReplaceIntVars(parsedValue); + globals->ReplaceDoubleVars(parsedValue); } if (IsNumber(parsedValue)) { @@ -339,15 +313,12 @@ bool cConditionalParameter::Evaluate(map < string, int > *intTokens, map < strin int cConditionalParameter::EvaluateParameter(string token, map < string, int > *intTokens, map < string, string > *stringTokens) { //first check globals - map < string, int >::iterator hitGlobals = globals->intVars.find(token); - if (hitGlobals != globals->intVars.end()) { - return hitGlobals->second; - } + int result = 0; + if (globals->GetInt(token, result)) + return result; //then check custom tokens - map < string, int >::iterator hitCustomTokens = globals->customIntTokens.find(token); - if (hitCustomTokens != globals->customIntTokens.end()) { - return hitCustomTokens->second; - } + if (globals->GetCustomInt(token, result)) + return result; //then check tokens if (intTokens) { map < string, int >::iterator hit = intTokens->find(token); |
