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