ProjectDatabase improvement

Use transaction / commit when several elements was changed instead of
update one by one each element.
This commit is contained in:
Claveau Joshua
2020-11-22 11:31:43 +01:00
parent 51bae7cdf1
commit a303a38d0d
4 changed files with 63 additions and 18 deletions

View File

@@ -171,6 +171,16 @@ void projectDataBase::elementInfoChanged(Element *element)
}
}
void projectDataBase::elementInfoChanged(QList<Element *> elements)
{
m_data_base.transaction();
for (auto elmt : elements) {
elementInfoChanged(elmt);
}
m_data_base.commit();
emit dataBaseUpdated();
}
void projectDataBase::addDiagram(Diagram *diagram)
{
m_insert_diagram_query.bindValue(":uuid", diagram->uuid().toString());

View File

@@ -51,6 +51,7 @@ class projectDataBase : public QObject
void addElement (Element *element);
void removeElement (Element *element);
void elementInfoChanged (Element *element);
void elementInfoChanged (QList<Element *> elements);
void addDiagram (Diagram *diagram);
void removeDiagram (Diagram *diagram);