void Filter::loadSettings(ProjectReader const& reader, QDomElement const& filters_el) { m_ptrSettings->clear(); QDomElement const filter_el( filters_el.namedItem("output").toElement() ); QString const page_tag_name("page"); QDomNode node(filter_el.firstChild()); for (; !node.isNull(); node = node.nextSibling()) { if (!node.isElement()) { continue; } if (node.nodeName() != page_tag_name) { continue; } QDomElement const el(node.toElement()); bool ok = true; int const id = el.attribute("id").toInt(&ok); if (!ok) { continue; } PageId const page_id(reader.pageId(id)); if (page_id.isNull()) { continue; } ZoneSet const picture_zones(el.namedItem("zones").toElement(), m_pictureZonePropFactory); if (!picture_zones.empty()) { m_ptrSettings->setPictureZones(page_id, picture_zones); } ZoneSet const fill_zones(el.namedItem("fill-zones").toElement(), m_fillZonePropFactory); if (!fill_zones.empty()) { m_ptrSettings->setFillZones(page_id, fill_zones); } QDomElement const params_el(el.namedItem("params").toElement()); if (!params_el.isNull()) { Params const params(params_el); m_ptrSettings->setParams(page_id, params); } QDomElement const output_params_el(el.namedItem("output-params").toElement()); if (!output_params_el.isNull()) { OutputParams const output_params(output_params_el); m_ptrSettings->setOutputParams(page_id, output_params); } } }
void Filter::loadSettings(ProjectReader const& reader, QDomElement const& filters_el) { m_ptrSettings->clear(); QDomElement const filter_el(filters_el.namedItem("deskew").toElement()); QString const page_tag_name("page"); QDomNode node(filter_el.firstChild()); for (; !node.isNull(); node = node.nextSibling()) { if (!node.isElement()) { continue; } if (node.nodeName() != page_tag_name) { continue; } QDomElement const el(node.toElement()); bool ok = true; int const id = el.attribute("id").toInt(&ok); if (!ok) { continue; } PageId const page_id(reader.pageId(id)); if (page_id.isNull()) { continue; } QDomElement const params_el(el.namedItem("params").toElement()); if (params_el.isNull()) { continue; } Params const params(params_el); m_ptrSettings->setPageParams(page_id, params); } }