From 9bd60ebec2ebd7ec09ac52fa1edf855a4a10bebe Mon Sep 17 00:00:00 2001 From: Rebecca Cox Date: Fri, 20 Oct 2017 14:34:56 +0200 Subject: [PATCH] #2027 Select formation name on formation name import --- .../Commands/RicImportFormationNamesFeature.cpp | 13 ++++++++++--- .../RimFormationNamesCollection.cpp | 15 +++++++++++++-- .../RimFormationNamesCollection.h | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp index 3ed27409c9..80f91e7a6c 100644 --- a/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp +++ b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp @@ -18,10 +18,12 @@ #include "RicImportFormationNamesFeature.h" -#include "RimFormationNamesCollection.h" #include "RiaApplication.h" -#include "RimProject.h" + +#include "RimFormationNames.h" +#include "RimFormationNamesCollection.h" #include "RimOilField.h" +#include "RimProject.h" #include "RiuMainWindow.h" #include @@ -63,8 +65,13 @@ void RicImportFormationNamesFeature::onActionTriggered(bool isChecked) // For each file, find existing Formation names item, or create new - fomNameColl->importFiles(fileNames); + RimFormationNames* formationName = fomNameColl->importFiles(fileNames); proj->updateConnectedEditors(); + + if (formationName) + { + RiuMainWindow::instance()->selectAsCurrentItem(formationName); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp index 00541cfb69..8fabaa7210 100644 --- a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.cpp @@ -58,11 +58,12 @@ void RimFormationNamesCollection::readAllFormationNames() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimFormationNamesCollection::importFiles(const QStringList& fileNames) +RimFormationNames* RimFormationNamesCollection::importFiles(const QStringList& fileNames) { QStringList newFileNames; std::vector formNamesObjsToReload; - + size_t formationListBeforeImportCount = m_formationNamesList.size(); + for(const QString& newFileName : fileNames) { bool isFound = false; @@ -108,6 +109,16 @@ void RimFormationNamesCollection::importFiles(const QStringList& fileNames) { QMessageBox::warning(nullptr, "Import Formation Names", totalErrorMessage); } + + if (m_formationNamesList.size() > formationListBeforeImportCount) + { + return m_formationNamesList[m_formationNamesList.size() - 1]; + } + else + { + return nullptr; + } + } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h index 6b4d182d3d..a06875d318 100644 --- a/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h +++ b/ApplicationCode/ProjectDataModel/RimFormationNamesCollection.h @@ -37,7 +37,7 @@ public: void readAllFormationNames(); - void importFiles(const QStringList& fileNames); + RimFormationNames* importFiles(const QStringList& fileNames); void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); private: