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

@@ -36,6 +36,9 @@ class ChangeElementInformationCommand : public QUndoCommand
DiagramContext &new_info,
QUndoCommand *parent = nullptr);
ChangeElementInformationCommand(QMap<QPointer<Element>, QPair<DiagramContext, DiagramContext>> map,
QUndoCommand *parent = nullptr);
int id() const override {return 1;}
bool mergeWith(const QUndoCommand *other) override;
void undo() override;
@@ -45,8 +48,7 @@ class ChangeElementInformationCommand : public QUndoCommand
void updateProjectDB();
private:
Element *m_element;
DiagramContext m_old_info, m_new_info;
QMap<QPointer<Element>, QPair<DiagramContext, DiagramContext>> m_map;
};
#endif // CHANGEELEMENTINFORMATIONCOMMAND_H