Add support for persistent variables in theme's <variables> section
* Add support for variables with persist="1", which will cause them saved into settings file and reloaded on next boot. * This is handy for theme makers, who can use this to implement "theme settings". Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I6415979011b38cbb15dec9909c445b02da6eadc0
This commit is contained in:
+10
-5
@@ -611,16 +611,21 @@ Page* PageSet::FindPage(std::string name)
|
||||
int PageSet::LoadVariables(xml_node<>* vars)
|
||||
{
|
||||
xml_node<>* child;
|
||||
xml_attribute<> *name, *value, *persist;
|
||||
int p;
|
||||
|
||||
child = vars->first_node("variable");
|
||||
while (child)
|
||||
{
|
||||
if (!child->first_attribute("name"))
|
||||
break;
|
||||
if (!child->first_attribute("value"))
|
||||
break;
|
||||
name = child->first_attribute("name");
|
||||
value = child->first_attribute("value");
|
||||
persist = child->first_attribute("persist");
|
||||
if(name && value)
|
||||
{
|
||||
p = persist ? atoi(persist->value()) : 0;
|
||||
DataManager::SetValue(name->value(), value->value(), p);
|
||||
}
|
||||
|
||||
DataManager::SetValue(child->first_attribute("name")->value(), child->first_attribute("value")->value());
|
||||
child = child->next_sibling("variable");
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user