void LayoutRepository::load(XmlOptionFile file) { // load custom layouts: mLayouts.clear(); this->blockSignals(true); QDomElement layouts = file.getElement("layouts"); QDomNode layout = layouts.firstChild(); for (; !layout.isNull(); layout = layout.nextSibling()) { if (layout.toElement().tagName() != "layout") continue; LayoutData data; data.parseXml(layout); this->insert(data); } std::vector<QString> custom = this->getAvailable(); this->addDefaults(); // ensure we overwrite loaded layouts this->blockSignals(false); for (unsigned i=0; i<custom.size(); ++i) emit layoutChanged(custom[i]); }