@@ -30,6 +30,8 signals: | |||||
30 | void selectionZoneAdded(const std::shared_ptr<DBEvent> &event, const QString &productId, |
|
30 | void selectionZoneAdded(const std::shared_ptr<DBEvent> &event, const QString &productId, | |
31 | VisualizationSelectionZoneItem *selectionZone); |
|
31 | VisualizationSelectionZoneItem *selectionZone); | |
32 |
|
32 | |||
|
33 | void eventCataloguesModified(const QVector<std::shared_ptr<DBCatalogue> > &catalogues); | |||
|
34 | ||||
33 | public: |
|
35 | public: | |
34 | explicit CatalogueEventsWidget(QWidget *parent = 0); |
|
36 | explicit CatalogueEventsWidget(QWidget *parent = 0); | |
35 | virtual ~CatalogueEventsWidget(); |
|
37 | virtual ~CatalogueEventsWidget(); |
@@ -396,12 +396,19 CatalogueEventsWidget::CatalogueEventsWidget(QWidget *parent) | |||||
396 | if (canRemoveEvent) { |
|
396 | if (canRemoveEvent) { | |
397 | for (auto event : events) { |
|
397 | for (auto event : events) { | |
398 | if (this->isAllEventsDisplayed()) { |
|
398 | if (this->isAllEventsDisplayed()) { | |
|
399 | sqpApp->catalogueController().removeEvent(event); | |||
399 | impl->removeEvent(event, ui->treeView); |
|
400 | impl->removeEvent(event, ui->treeView); | |
400 | } |
|
401 | } | |
401 | else { |
|
402 | else { | |
|
403 | QVector<std::shared_ptr<DBCatalogue> > modifiedCatalogues; | |||
402 | for (auto catalogue : this->displayedCatalogues()) { |
|
404 | for (auto catalogue : this->displayedCatalogues()) { | |
403 |
catalogue->removeEvent(event->getUniqId()) |
|
405 | if (catalogue->removeEvent(event->getUniqId())) { | |
404 | sqpApp->catalogueController().updateCatalogue(catalogue); |
|
406 | sqpApp->catalogueController().updateCatalogue(catalogue); | |
|
407 | modifiedCatalogues << catalogue; | |||
|
408 | } | |||
|
409 | } | |||
|
410 | if (!modifiedCatalogues.empty()) { | |||
|
411 | emit eventCataloguesModified(modifiedCatalogues); | |||
405 | } |
|
412 | } | |
406 | } |
|
413 | } | |
407 | impl->m_Model->removeEvent(event); |
|
414 | impl->m_Model->removeEvent(event); |
@@ -135,6 +135,13 CatalogueExplorer::CatalogueExplorer(QWidget *parent) | |||||
135 | sqpApp->catalogueController().updateEventProduct(eventProduct); |
|
135 | sqpApp->catalogueController().updateEventProduct(eventProduct); | |
136 | ui->events->setEventChanges(event, true); |
|
136 | ui->events->setEventChanges(event, true); | |
137 | }); |
|
137 | }); | |
|
138 | ||||
|
139 | connect(ui->events, &CatalogueEventsWidget::eventCataloguesModified, | |||
|
140 | [this](const QVector<std::shared_ptr<DBCatalogue> > &catalogues) { | |||
|
141 | for (auto catalogue : catalogues) { | |||
|
142 | ui->catalogues->setCatalogueChanges(catalogue, true); | |||
|
143 | } | |||
|
144 | }); | |||
138 | } |
|
145 | } | |
139 |
|
146 | |||
140 | CatalogueExplorer::~CatalogueExplorer() |
|
147 | CatalogueExplorer::~CatalogueExplorer() |
@@ -111,17 +111,14 bool CatalogueTreeItem::dropMimeData(const QMimeData *data, Qt::DropAction actio | |||||
111 | if (action == Qt::MoveAction) { |
|
111 | if (action == Qt::MoveAction) { | |
112 | for (auto catalogue : sourceCatalogues) { |
|
112 | for (auto catalogue : sourceCatalogues) { | |
113 | catalogue->removeEvent(event->getUniqId()); |
|
113 | catalogue->removeEvent(event->getUniqId()); | |
|
114 | sqpApp->catalogueController().updateCatalogue(catalogue); | |||
114 | } |
|
115 | } | |
115 | } |
|
116 | } | |
116 |
|
117 | |||
117 | impl->m_Catalogue->addEvent(event->getUniqId()); |
|
118 | impl->m_Catalogue->addEvent(event->getUniqId()); | |
118 | } |
|
|||
119 |
|
||||
120 | for (auto catalogue : sourceCatalogues) { |
|
|||
121 | sqpApp->catalogueController().updateCatalogue(catalogue); |
|
|||
122 | } |
|
|||
123 | sqpApp->catalogueController().updateCatalogue(impl->m_Catalogue); |
|
119 | sqpApp->catalogueController().updateCatalogue(impl->m_Catalogue); | |
124 | } |
|
120 | } | |
|
121 | } | |||
125 |
|
122 | |||
126 | std::shared_ptr<DBCatalogue> CatalogueTreeItem::catalogue() const |
|
123 | std::shared_ptr<DBCatalogue> CatalogueTreeItem::catalogue() const | |
127 | { |
|
124 | { |
General Comments 0
You need to be logged in to leave comments.
Login now