#4540 Command line : Fix option --case without file extension

This commit is contained in:
Magne Sjaastad
2019-08-09 10:48:58 +02:00
parent 0bb84b22a5
commit 31f4453135
5 changed files with 42 additions and 15 deletions

View File

@@ -19,6 +19,7 @@
#include "RiaApplication.h"
#include "RiaDefines.h"
#include "RiaEclipseFileNameTools.h"
#include "RiaImportEclipseCaseTools.h"
#include "RiaLogging.h"
@@ -40,7 +41,8 @@ CAF_CMD_SOURCE_INIT(RicImportGeneralDataFeature, "RicImportGeneralDataFeature");
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEclipseFilesFromFileNames(const QStringList& fileNames)
RicImportGeneralDataFeature::OpenCaseResults
RicImportGeneralDataFeature::openEclipseFilesFromFileNames(const QStringList& fileNames)
{
CVF_ASSERT(!fileNames.empty());
@@ -74,7 +76,7 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return OpenCaseResults();
}
results.eclipseCaseFiles = eclipseCaseFiles;
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_EGRID_FILE), defaultDir);
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_EGRID_FILE), defaultDir);
}
if (!eclipseInputFiles.empty())
{
@@ -83,7 +85,7 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return OpenCaseResults();
}
results.eclipseInputFiles = eclipseInputFiles;
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_INPUT_FILE), defaultDir);
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ECLIPSE_INPUT_FILE), defaultDir);
}
if (!eclipseSummaryFiles.empty())
{
@@ -97,6 +99,30 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc
return results;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QStringList RicImportGeneralDataFeature::fileNamesFromCaseNames(const QStringList& caseNames)
{
QStringList fileNames;
{
for (const auto& caseName : caseNames)
{
if (caseName.lastIndexOf(".") != -1)
{
fileNames.push_back(caseName);
}
else
{
RiaEclipseFileNameTools nameTool(caseName);
QString filenameWithExtension = nameTool.findRelatedGridFile();
fileNames.push_back(filenameWithExtension);
}
}
}
return fileNames;
}
//--------------------------------------------------------------------------------------------------
///
@@ -127,7 +153,7 @@ void RicImportGeneralDataFeature::setupActionLook(QAction* actionToSetup)
///
//--------------------------------------------------------------------------------------------------
void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
{
{
QString eclipseGridFilePattern("*.GRID");
QString eclipseEGridFilePattern("*.EGRID");
QString eclipseInputFilePattern("*.GRDECL");
@@ -137,10 +163,10 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
if (fileTypes == ANY_ECLIPSE_FILE)
{
filePatternTexts += QString("Eclipse Files (%1 %2 %3 %4)")
.arg(eclipseGridFilePattern)
.arg(eclipseEGridFilePattern)
.arg(eclipseInputFilePattern)
.arg(eclipseSummaryFilePattern);
.arg(eclipseGridFilePattern)
.arg(eclipseEGridFilePattern)
.arg(eclipseInputFilePattern)
.arg(eclipseSummaryFilePattern);
}
if (fileTypes & ECLIPSE_GRID_FILE)
{
@@ -160,7 +186,7 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
}
QString fullPattern = filePatternTexts.join(";;");
QString defaultDir = RiaApplication::instance()->lastUsedDialogDirectory(defaultDirectoryLabel(fileTypes));
QStringList fileNames =
@@ -172,7 +198,7 @@ void RicImportGeneralDataFeature::openFileDialog(ImportFileType fileTypes)
{
RiaApplication::instance()->setLastUsedDialogDirectory(defaultDirectoryLabel(ANY_ECLIPSE_FILE), fileNames.front());
}
if (!openEclipseFilesFromFileNames(fileNames))
{
RiaLogging::error(QString("Failed to open file names: %1").arg(fileNames.join(", ")));

View File

@@ -47,6 +47,7 @@ public:
};
static OpenCaseResults openEclipseFilesFromFileNames(const QStringList& fileNames);
static QStringList fileNamesFromCaseNames(const QStringList& caseNames);
protected: