#2913 Make sure only one grid summary case is created per egrid loaded.

* If you open two of the same eclipse case, you will still have two grid summary cases
* But if you open multiple summary cases of the same eclipse case the additional summary cases are file summary cases.
This commit is contained in:
Gaute Lindkvist 2018-05-15 16:12:12 +02:00
parent 0c9470fdf0
commit d1a706de55

View File

@ -182,13 +182,12 @@ RimSummaryCase* RimSummaryCaseMainCollection::findSummaryCaseFromFileName(const
for (RimSummaryCase* summaryCase : m_cases) for (RimSummaryCase* summaryCase : m_cases)
{ {
RimFileSummaryCase* fileSummaryCase = dynamic_cast<RimFileSummaryCase*>(summaryCase); if (summaryCase)
if (fileSummaryCase)
{ {
QFileInfo summaryFileInfo(fileSummaryCase->summaryHeaderFilename()); QFileInfo summaryFileInfo(summaryCase->summaryHeaderFilename());
if (incomingFileInfo == summaryFileInfo) if (incomingFileInfo == summaryFileInfo)
{ {
return fileSummaryCase; return summaryCase;
} }
} }
} }
@ -197,13 +196,12 @@ RimSummaryCase* RimSummaryCaseMainCollection::findSummaryCaseFromFileName(const
{ {
for (RimSummaryCase* summaryCase : collection->allSummaryCases()) for (RimSummaryCase* summaryCase : collection->allSummaryCases())
{ {
RimFileSummaryCase* fileSummaryCase = dynamic_cast<RimFileSummaryCase*>(summaryCase); if (summaryCase)
if (fileSummaryCase)
{ {
QFileInfo summaryFileInfo(fileSummaryCase->summaryHeaderFilename()); QFileInfo summaryFileInfo(summaryCase->summaryHeaderFilename());
if (incomingFileInfo == summaryFileInfo) if (incomingFileInfo == summaryFileInfo)
{ {
return fileSummaryCase; return summaryCase;
} }
} }
} }
@ -432,7 +430,9 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
eclCase = project->eclipseCaseFromGridFileName(gridCaseFile); eclCase = project->eclipseCaseFromGridFileName(gridCaseFile);
} }
if (eclCase) RimGridSummaryCase* existingGridSummaryCase = dynamic_cast<RimGridSummaryCase*>(findSummaryCaseFromFileName(fileInfo.summaryFileName()));
if (eclCase && !existingGridSummaryCase)
{ {
RimGridSummaryCase* newSumCase = new RimGridSummaryCase(); RimGridSummaryCase* newSumCase = new RimGridSummaryCase();