added possibility to define help texts for skin setup parameters

This commit is contained in:
louis
2015-08-14 17:23:12 +02:00
parent f44aabb7ac
commit a5d7d6437d
11 changed files with 110 additions and 29 deletions

View File

@@ -9,6 +9,7 @@ cSkinSetupParameter::cSkinSetupParameter(void) {
type = sptUnknown;
name = "";
displayText = "";
helpText = "";
min = 0;
max = 1000;
value = 0;
@@ -106,11 +107,12 @@ void cSkinSetupMenu::InitIterators(void) {
subMenuIt = subMenus.begin();
}
void cSkinSetupMenu::SetParameter(eSetupParameterType paramType, string name, string displayText, string min, string max, string value, string options) {
void cSkinSetupMenu::SetParameter(eSetupParameterType paramType, string name, string displayText, string helpText, string min, string max, string value, string options) {
cSkinSetupParameter *param = new cSkinSetupParameter();
param->type = paramType;
param->name = name;
param->displayText = displayText;
param->helpText = helpText;
if (min.size() && paramType == sptInt) {
param->min = atoi(min.c_str());
@@ -221,7 +223,7 @@ void cSkinSetup::SubMenuDone(void) {
}
}
void cSkinSetup::SetParameter(string type, string name, string displayText, string min, string max, string value, string options) {
void cSkinSetup::SetParameter(string type, string name, string displayText, string helpText, string min, string max, string value, string options) {
if (!type.size() || !name.size() || !displayText.size() || !value.size()) {
esyslog("skindesigner: invalid setup parameter for skin %s", skin.c_str());
return;
@@ -238,7 +240,7 @@ void cSkinSetup::SetParameter(string type, string name, string displayText, stri
esyslog("skindesigner: invalid setup parameter for skin %s", skin.c_str());
return;
}
currentMenu->SetParameter(paramType, name, displayText, min, max, value, options);
currentMenu->SetParameter(paramType, name, displayText, helpText, min, max, value, options);
}
cSkinSetupParameter *cSkinSetup::GetNextParameter(void) {
@@ -278,6 +280,10 @@ void cSkinSetup::TranslateSetup(void) {
if (Translate(param->displayText, transl)) {
param->displayText = transl;
}
string translHelp = "";
if (Translate(param->helpText, translHelp)) {
param->helpText = translHelp;
}
if (param->type == sptString && param->numOptions > 0) {
param->optionsTranslated = new const char*[param->numOptions];
for (int i = 0; i < param->numOptions; i++) {

View File

@@ -29,6 +29,7 @@ public:
eSetupParameterType type;
string name;
string displayText;
string helpText;
int min;
int max;
int value;
@@ -59,7 +60,7 @@ public:
void SetParent(cSkinSetupMenu *p) { parent = p; };
cSkinSetupMenu *GetParent(void) { return parent; };
void AddSubMenu(cSkinSetupMenu *sub) { subMenus.push_back(sub); };
void SetParameter(eSetupParameterType paramType, string name, string displayText, string min, string max, string value, string options);
void SetParameter(eSetupParameterType paramType, string name, string displayText, string helpText, string min, string max, string value, string options);
void InitIterators(void);
void InitParameterIterator(void) { paramIt = parameters.begin(); };
cSkinSetupParameter *GetNextParameter(bool deep = true);
@@ -86,7 +87,7 @@ public:
bool ReadFromXML(void);
void SetSubMenu(string name, string displayText);
void SubMenuDone(void);
void SetParameter(string type, string name, string displayText, string min, string max, string value, string options);
void SetParameter(string type, string name, string displayText, string helpText, string min, string max, string value, string options);
void InitParameterIterator(void) { rootMenu->InitIterators(); };
cSkinSetupParameter *GetNextParameter(void);
cSkinSetupParameter *GetParameter(string name);