From 99a7852983256ee4244f287fa71623e0d59d1ab7 2018-01-11 11:17:03 From: Thibaud Rabillard Date: 2018-01-11 11:17:03 Subject: [PATCH] Fix move of an event in another catalogue --- diff --git a/gui/include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h b/gui/include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h index 4aa26d0..d072aea 100644 --- a/gui/include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h +++ b/gui/include/Catalogue/CatalogueTreeItems/CatalogueTreeItem.h @@ -19,6 +19,7 @@ public: /// Returns the catalogue represented by the item std::shared_ptr catalogue() const; + void replaceCatalogue(const std::shared_ptr &catalogue); private: class CatalogueTreeItemPrivate; diff --git a/gui/src/Catalogue/CatalogueSideBarWidget.cpp b/gui/src/Catalogue/CatalogueSideBarWidget.cpp index ee7a3d2..79b96bf 100644 --- a/gui/src/Catalogue/CatalogueSideBarWidget.cpp +++ b/gui/src/Catalogue/CatalogueSideBarWidget.cpp @@ -133,6 +133,7 @@ CatalogueSideBarWidget::CatalogueSideBarWidget(QWidget *parent) connect(impl->m_TreeModel, &CatalogueTreeModel::itemDropped, [this](auto index, auto mimeData, auto action) { auto item = impl->m_TreeModel->item(index); + if (item && item->type() == CATALOGUE_ITEM_TYPE) { auto catalogue = static_cast(item)->catalogue(); this->setCatalogueChanges(catalogue, true); @@ -144,9 +145,12 @@ CatalogueSideBarWidget::CatalogueSideBarWidget(QWidget *parent) mimeData->data(MIME_TYPE_SOURCE_CATALOGUE_LIST)); for (auto catalogue : sourceCatalogues) { if (auto catalogueItem = impl->getCatalogueItem(catalogue)) { + catalogueItem->replaceCatalogue(catalogue); this->setCatalogueChanges(catalogue, true); } } + + this->emitSelection(); } }); diff --git a/gui/src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp b/gui/src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp index a5bec27..4fb59dd 100644 --- a/gui/src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp +++ b/gui/src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp @@ -124,3 +124,8 @@ std::shared_ptr CatalogueTreeItem::catalogue() const { return impl->m_Catalogue; } + +void CatalogueTreeItem::replaceCatalogue(const std::shared_ptr &catalogue) +{ + impl->m_Catalogue = catalogue; +}