FieldPair dir = analyse_folder();
child = node->add_child ("Folder");
- child->add_property ("relative", dir.first ? "true" : "false");
- child->add_property ("path", dir.second);
+ child->set_property ("relative", dir.first);
+ child->set_property ("path", dir.second);
add_field (node, "label", include_label, label);
add_field (node, "session", include_session);
add_field (node, "date", include_date, enum_2_string (date_format));
XMLNode * extra_node = new XMLNode ("ExportRevision");
- extra_node->add_property ("revision", to_string (revision, std::dec));
+ extra_node->set_property ("revision", revision);
session.add_extra_xml (*extra_node);
return *node;
ExportFilename::set_state (const XMLNode & node)
{
XMLNode * child;
- XMLProperty const * prop;
FieldPair pair;
child = node.child ("Folder");
folder = "";
- if ((prop = child->property ("relative"))) {
- if (string_is_affirmative (prop->value())) {
- folder = session.session_directory().root_path();
- }
+ bool is_relative;
+ if (child->get_property ("relative", is_relative) && is_relative) {
+ folder = session.session_directory ().root_path ();
}
- if ((prop = child->property ("path"))) {
- std::string tmp;
- tmp = Glib::build_filename (folder, prop->value());
+ std::string tmp;
+ if (child->get_property ("path", tmp)) {
+ tmp = Glib::build_filename (folder, tmp);
if (!Glib::file_test (tmp, Glib::FILE_TEST_EXISTS)) {
warning << string_compose (_("Existing export folder for this session (%1) does not exist - ignored"), tmp) << endmsg;
} else {
extra_node = session.instant_xml ("ExportRevision");
}
- if (extra_node && (prop = extra_node->property ("revision"))) {
- revision = atoi (prop->value());
+ if (extra_node) {
+ extra_node->get_property ("revision", revision);
}
return 0;
return;
}
- child->add_property ("name", name);
- child->add_property ("enabled", enabled ? "true" : "false");
+ child->set_property ("name", name);
+ child->set_property ("enabled", enabled);
if (!value.empty()) {
- child->add_property ("value", value);
+ child->set_property ("value", value);
}
}
XMLNodeList children = node.children();
for (XMLNodeList::iterator it = children.begin(); it != children.end(); ++it) {
- XMLProperty const * prop = (*it)->property ("name");
- if (prop && !prop->value().compare (name)) {
-
- prop = (*it)->property ("enabled");
- if (prop && !prop->value().compare ("true")) {
- pair.first = true;
- } else {
- pair.first = false;
- }
-
- prop = (*it)->property ("value");
- if (prop) {
- pair.second = prop->value();
- }
+ std::string str;
+ if ((*it)->get_property ("name", str) && name == str) {
+
+ (*it)->get_property ("enabled", pair.first);
+ (*it)->get_property ("value", pair.second);
return pair;
}