From c69b558ff8dd46eea257618bb5b841f2ce8b3ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Jensen?= Date: Mon, 9 Apr 2018 10:53:51 +0200 Subject: [PATCH] Restart files. Fix bug during import of grid summary cases --- .../RifSummaryCaseRestartSelector.cpp | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ApplicationCode/FileInterface/RifSummaryCaseRestartSelector.cpp b/ApplicationCode/FileInterface/RifSummaryCaseRestartSelector.cpp index ecc171d449..e3eb6d352c 100644 --- a/ApplicationCode/FileInterface/RifSummaryCaseRestartSelector.cpp +++ b/ApplicationCode/FileInterface/RifSummaryCaseRestartSelector.cpp @@ -20,6 +20,7 @@ #include "RiaApplication.h" #include "RiaPreferences.h" +#include "RiaFilePathTools.h" #include "RicSummaryCaseRestartDialog.h" @@ -117,28 +118,36 @@ std::vector RifSummaryCaseRestartSelector::getFilesToImp std::vector RifSummaryCaseRestartSelector::getFilesToImportUsingPrefs(const QStringList& initialFiles, RiaPreferences::SummaryRestartFilesImportModeType summaryRestartMode) { - std::set filesToImport; + std::vector filesToImport; RicSummaryCaseRestartDialogResult lastResult; - for (const QString& file : initialFiles) + for (const QString& initialFile : initialFiles) { + QString file = RiaFilePathTools::toInternalSeparator(initialFile); + if (summaryRestartMode == RiaPreferences::IMPORT) { - filesToImport.insert(RifSummaryCaseFileInfo(file, true)); + filesToImport.push_back(RifSummaryCaseFileInfo(file, true)); } else if (summaryRestartMode == RiaPreferences::NOT_IMPORT) { - filesToImport.insert(RifSummaryCaseFileInfo(file, false)); + filesToImport.push_back(RifSummaryCaseFileInfo(file, false)); } else if (summaryRestartMode == RiaPreferences::SEPARATE_CASES) { - filesToImport.insert(RifSummaryCaseFileInfo(file, false)); + filesToImport.push_back(RifSummaryCaseFileInfo(file, false)); RifReaderEclipseSummary reader; std::vector restartFileInfos = reader.getRestartFiles(file); - for (const auto& fi : restartFileInfos) - filesToImport.insert(RifSummaryCaseFileInfo(fi.fileName, false)); + for (const auto& rfi : restartFileInfos) + { + RifSummaryCaseFileInfo fi(rfi.fileName, false); + if (!vectorContains(filesToImport, fi)) + { + filesToImport.push_back(fi); + } + } } } - return std::vector(filesToImport.begin(), filesToImport.end()); + return filesToImport; }