diff --git a/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.cpp b/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.cpp index 3efe6bd36..7b5dd3ed1 100644 --- a/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.cpp +++ b/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.cpp @@ -39,6 +39,19 @@ NomenclatureModel::NomenclatureModel(QETProject *project, QObject *parent) : connect(m_project->dataBase(), &projectDataBase::dataBaseUpdated, this, &NomenclatureModel::dataBaseUpdated); } +/** + * @brief NomenclatureModel::NomenclatureModel + * @param other_model + */ +NomenclatureModel::NomenclatureModel(const NomenclatureModel &other_model) +{ + this->setParent(other_model.parent()); + m_project = other_model.m_project; + connect(m_project->dataBase(), &projectDataBase::dataBaseUpdated, this, &NomenclatureModel::dataBaseUpdated); + m_index_0_0_data = other_model.m_index_0_0_data; + query(other_model.queryString()); +} + /** * @brief NomenclatureModel::rowCount * Reimplemented for QAbstractTableModel @@ -346,5 +359,6 @@ void NomenclatureModel::fillValue() ++i; } m_record << record_; + } } diff --git a/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.h b/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.h index 65b6d0e21..6df27c19c 100644 --- a/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.h +++ b/sources/qetgraphicsitem/ViewItem/nomenclaturemodel.h @@ -38,6 +38,7 @@ class NomenclatureModel : public QAbstractTableModel public: explicit NomenclatureModel(QETProject *project, QObject *parent = nullptr); + explicit NomenclatureModel (const NomenclatureModel &other_model); int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; diff --git a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp index 34f80aff8..d6278f84b 100644 --- a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp +++ b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp @@ -313,9 +313,9 @@ void QetGraphicsTableItem::setPreviousTable(QetGraphicsTableItem *table) m_previous_table->setNextTable(this); setModel(m_previous_table->m_model); } - else //Remove model - { - setModel(nullptr); + else //Copie the model of old previous table + { + setModel(new NomenclatureModel(*static_cast(old_previous_table->model()))); } if (old_previous_table &&