Minor improvement about using pugixml

This commit is contained in:
Claveau Joshua
2020-01-18 20:03:24 +01:00
parent dc32a4298b
commit ed2e72e995
5 changed files with 18 additions and 22 deletions

View File

@@ -494,14 +494,8 @@ NamesList ElementsLocation::nameList()
{
NamesList nl;
if (isElement())
{
QSettings set;
if (set.value("use_pugixml").toBool()) {
nl.fromXml(pugiXml());
} else {
nl.fromXml(xml());
}
if (isElement()) {
nl.fromXml(pugiXml());
}
if (isDirectory())

View File

@@ -231,11 +231,11 @@ void FileElementCollectionItem::addChildAtPath(const QString &collection_name)
*/
void FileElementCollectionItem::setUpData()
{
//Setup the displayed name
localName();
if (isDir())
{
localName();
setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | Qt::ItemIsEnabled);
}
else
{
setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled);

View File

@@ -168,9 +168,10 @@ bool ElementsCollectionCache::fetchElement(ElementsLocation &location)
}
else
{
auto uuid = location.uuid();
QString element_path = location.toString();
bool got_name = fetchNameFromCache(element_path, location.uuid());
bool got_pixmap = fetchPixmapFromCache(element_path, location.uuid());
bool got_name = fetchNameFromCache(element_path, uuid);
bool got_pixmap = fetchPixmapFromCache(element_path, uuid);
if (got_name && got_pixmap) {
return(true);
@@ -178,8 +179,8 @@ bool ElementsCollectionCache::fetchElement(ElementsLocation &location)
if (fetchData(location))
{
cacheName(element_path, location.uuid());
cachePixmap(element_path, location.uuid());
cacheName(element_path, uuid);
cachePixmap(element_path, uuid);
}
return(true);
}

View File

@@ -40,9 +40,10 @@ Element * ElementFactory::createElement(const ElementsLocation &location, QGraph
return nullptr;
}
if (location.xml().hasAttribute("link_type"))
auto doc = location.pugiXml();
if (doc.document_element().attribute("link_type"))
{
QString link_type = location.xml().attribute("link_type");
QString link_type(doc.document_element().attribute("link_type").as_string());
if (link_type == "next_report" || link_type == "previous_report") return (new ReportElement(location, link_type, qgi, state));
if (link_type == "master") return (new MasterElement (location, qgi, state));
if (link_type == "slave") return (new SlaveElement (location, qgi, state));

View File

@@ -83,15 +83,15 @@ QPixmap ElementPictureFactory::pixmap(const ElementsLocation &location)
if(build(location))
{
QDomElement dom = location.xml();
auto doc = location.pugiXml();
//size
int w = dom.attribute("width").toInt();
int h = dom.attribute("height").toInt();
int w = doc.document_element().attribute("width").as_int();
int h = doc.document_element().attribute("height").as_int();
while (w % 10) ++ w;
while (h % 10) ++ h;
//hotspot
int hsx = qMin(dom.attribute("hotspot_x").toInt(), w);
int hsy = qMin(dom.attribute("hotspot_y").toInt(), h);
int hsx = qMin(doc.document_element().attribute("hotspot_x").as_int(), w);
int hsy = qMin(doc.document_element().attribute("hotspot_y").as_int(), h);
QPixmap pix(w, h);
pix.fill(QColor(255, 255, 255, 0));