Пример #1
0
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]);
}