diff --git a/gui/src/Catalogue/CatalogueActionManager.cpp b/gui/src/Catalogue/CatalogueActionManager.cpp index 7d57039..685b679 100644 --- a/gui/src/Catalogue/CatalogueActionManager.cpp +++ b/gui/src/Catalogue/CatalogueActionManager.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -106,7 +107,7 @@ void CatalogueActionManager::installSelectionZoneActions() auto createEventAction = actionController.addSectionZoneAction( {QObject::tr("Catalogues")}, QObject::tr("New Event..."), [this](auto zones) { CreateEventDialog dialog( - impl->m_CatalogueExplorer->sideBarWidget().getCatalogues("Default")); + impl->m_CatalogueExplorer->sideBarWidget().getCatalogues(REPOSITORY_DEFAULT)); dialog.hideCatalogueChoice(); if (dialog.exec() == QDialog::Accepted) { impl->createEventFromZones(dialog.eventName(), zones); @@ -117,7 +118,7 @@ void CatalogueActionManager::installSelectionZoneActions() auto createEventInCatalogueAction = actionController.addSectionZoneAction( {QObject::tr("Catalogues")}, QObject::tr("New Event in Catalogue..."), [this](auto zones) { CreateEventDialog dialog( - impl->m_CatalogueExplorer->sideBarWidget().getCatalogues("Default")); + impl->m_CatalogueExplorer->sideBarWidget().getCatalogues(REPOSITORY_DEFAULT)); if (dialog.exec() == QDialog::Accepted) { auto selectedCatalogue = dialog.selectedCatalogue(); if (!selectedCatalogue) { @@ -125,7 +126,7 @@ void CatalogueActionManager::installSelectionZoneActions() selectedCatalogue->setName(dialog.catalogueName()); // sqpApp->catalogueController().addCatalogue(selectedCatalogue); TODO impl->m_CatalogueExplorer->sideBarWidget().addCatalogue(selectedCatalogue, - "Default"); + REPOSITORY_DEFAULT); } impl->createEventFromZones(dialog.eventName(), zones, selectedCatalogue); diff --git a/gui/src/Catalogue/CatalogueEventsWidget.cpp b/gui/src/Catalogue/CatalogueEventsWidget.cpp index ef512eb..0a5f9b9 100644 --- a/gui/src/Catalogue/CatalogueEventsWidget.cpp +++ b/gui/src/Catalogue/CatalogueEventsWidget.cpp @@ -320,19 +320,21 @@ void CatalogueEventsWidget::setEventChanges(const std::shared_ptr &even auto validationIndex = eventIndex.sibling(eventIndex.row(), (int)CatalogueEventsModel::Column::Validation); - if (hasChanges) { - if (ui->treeView->indexWidget(validationIndex) == nullptr) { - auto widget = CatalogueExplorerHelper::buildValidationWidget( - ui->treeView, - [this, event]() { - sqpApp->catalogueController().saveEvent(event); - setEventChanges(event, false); - }, - [this, event]() { setEventChanges(event, false); }); - ui->treeView->setIndexWidget(validationIndex, widget); - } + if (validationIndex.isValid()) { + if (hasChanges) { + if (ui->treeView->indexWidget(validationIndex) == nullptr) { + auto widget = CatalogueExplorerHelper::buildValidationWidget( + ui->treeView, + [this, event]() { + sqpApp->catalogueController().saveEvent(event); + setEventChanges(event, false); + }, + [this, event]() { setEventChanges(event, false); }); + ui->treeView->setIndexWidget(validationIndex, widget); + } - impl->m_Model->setEventHasChanges(event, hasChanges); + impl->m_Model->setEventHasChanges(event, hasChanges); + } } else { qCWarning(LOG_CatalogueEventsWidget()) diff --git a/gui/src/Catalogue/CatalogueSideBarWidget.cpp b/gui/src/Catalogue/CatalogueSideBarWidget.cpp index cb1e4fe..c5bdcc8 100644 --- a/gui/src/Catalogue/CatalogueSideBarWidget.cpp +++ b/gui/src/Catalogue/CatalogueSideBarWidget.cpp @@ -225,7 +225,8 @@ void CatalogueSideBarWidget::CatalogueSideBarWidgetPrivate::configureTreeWidget( { auto allEventsItem = new CatalogueTextTreeItem{QIcon{":/icones/allEvents.png"}, "All Events", ALL_EVENT_ITEM_TYPE}; - m_TreeModel->addTopLevelItem(allEventsItem); + auto allEventIndex = m_TreeModel->addTopLevelItem(allEventsItem); + treeView->setCurrentIndex(allEventIndex); auto trashItem = new CatalogueTextTreeItem{QIcon{":/icones/trash.png"}, "Trash", TRASH_ITEM_TYPE};