mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
added skinsetup to globals
This commit is contained in:
@@ -5,15 +5,14 @@ cSkinSetup::cSkinSetup(string skin) {
|
||||
this->skin = skin;
|
||||
}
|
||||
|
||||
void cSkinSetup::ReadFromXML(void) {
|
||||
esyslog("skindesigner: reading setup for skin %s", skin.c_str());
|
||||
bool cSkinSetup::ReadFromXML(void) {
|
||||
string xmlFile = "setup.xml";
|
||||
cXmlParser parser;
|
||||
if (!parser.ReadSkinSetup(this, skin, xmlFile)) {
|
||||
esyslog("skindesigner: no setup file for skin %s found", skin.c_str());
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
parser.ParseSkinSetup(skin);
|
||||
return true;
|
||||
}
|
||||
|
||||
void cSkinSetup::SetParameter(xmlChar *type, xmlChar *name, xmlChar* displayText, xmlChar *min, xmlChar *max, xmlChar *value) {
|
||||
@@ -44,12 +43,35 @@ void cSkinSetup::SetParameter(xmlChar *type, xmlChar *name, xmlChar* displayText
|
||||
}
|
||||
param.value = atoi((const char*)value);
|
||||
|
||||
parameters.push_back(param);
|
||||
parameters.insert(pair<string, cSkinSetupParameter>(param.name, param));
|
||||
}
|
||||
|
||||
void cSkinSetup::SetTranslation(string translationToken, map < string, string > transl) {
|
||||
translations.insert(pair<string, map < string, string > >(translationToken, transl));
|
||||
}
|
||||
|
||||
void cSkinSetup::AddToGlobals(cGlobals *globals) {
|
||||
if (!globals)
|
||||
return;
|
||||
for (map<string, cSkinSetupParameter>::iterator p = parameters.begin(); p != parameters.end(); p++) {
|
||||
string paramName = p->first;
|
||||
cSkinSetupParameter param = p->second;
|
||||
globals->intVars.erase(paramName);
|
||||
globals->intVars.insert(pair<string,int>(paramName, param.value));
|
||||
}
|
||||
}
|
||||
|
||||
void cSkinSetup::Debug(void) {
|
||||
dsyslog("skindesigner: Skin \"%s\" Setup Parameters", skin.c_str());
|
||||
for (vector<cSkinSetupParameter>::iterator p = parameters.begin(); p != parameters.end(); p++)
|
||||
p->Debug();
|
||||
for (map<string, cSkinSetupParameter>::iterator p = parameters.begin(); p != parameters.end(); p++) {
|
||||
(p->second).Debug();
|
||||
}
|
||||
dsyslog("skindesigner: Skin \"%s\" Setup Parameter Translations", skin.c_str());
|
||||
for (map<string, map<string,string> >::iterator trans = translations.begin(); trans != translations.end(); trans++) {
|
||||
dsyslog("skindesigner: translation token %s", (trans->first).c_str());
|
||||
map<string,string> transValues = trans->second;
|
||||
for (map<string,string>::iterator trans2 = transValues.begin(); trans2 != transValues.end(); trans2++) {
|
||||
dsyslog("skindesigner: translation language %s value \"%s\"", (trans2->first).c_str(), (trans2->second).c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@
|
||||
#include <sstream>
|
||||
#include <vdr/plugin.h>
|
||||
#include <libxml/xmlstring.h>
|
||||
#include "../libtemplate/globals.h"
|
||||
#include "skinsetupparameter.h"
|
||||
|
||||
using namespace std;
|
||||
@@ -17,12 +18,15 @@ using namespace std;
|
||||
class cSkinSetup {
|
||||
private:
|
||||
string skin;
|
||||
vector<cSkinSetupParameter> parameters;
|
||||
map <string, cSkinSetupParameter> parameters;
|
||||
map <string, map< string, string > > translations;
|
||||
public:
|
||||
cSkinSetup(string skin);
|
||||
virtual ~cSkinSetup(void) {};
|
||||
void ReadFromXML(void);
|
||||
bool ReadFromXML(void);
|
||||
void SetParameter(xmlChar *type, xmlChar *name, xmlChar* displayText, xmlChar *min, xmlChar *max, xmlChar *value);
|
||||
void SetTranslation(string translationToken, map < string, string > transl);
|
||||
void AddToGlobals(cGlobals *globals);
|
||||
void Debug(void);
|
||||
};
|
||||
|
||||
|
@@ -10,15 +10,12 @@ cSkinSetupParameter::cSkinSetupParameter(void) {
|
||||
}
|
||||
|
||||
void cSkinSetupParameter::Debug(void) {
|
||||
string sType = "unknown";
|
||||
if (type == sptBool)
|
||||
dsyslog("skindesigner: type bool");
|
||||
sType = "bool";
|
||||
else if (type == sptInt)
|
||||
dsyslog("skindesigner: type integer");
|
||||
else
|
||||
dsyslog("skindesigner: type UNKNOWN");
|
||||
dsyslog("skindesigner: name %s", name.c_str());
|
||||
dsyslog("skindesigner: displayText %s", displayText.c_str());
|
||||
sType = "int";
|
||||
dsyslog("skindesigner: name \"%s\", type %s, displayText \"%s\", Value %d", name.c_str(), sType.c_str(), displayText.c_str(), value);
|
||||
if (type == sptInt)
|
||||
dsyslog("skindesigner: min %d, max %d", min, max);
|
||||
dsyslog("skindesigner: Value %d", value);
|
||||
}
|
Reference in New Issue
Block a user