#8048 Everest Import: Group into separate ensembles

This commit is contained in:
Magne Sjaastad
2021-09-30 09:08:09 +02:00
committed by GitHub
parent c88424dbcf
commit 0d4ab8b594
16 changed files with 254 additions and 116 deletions

View File

@@ -72,34 +72,37 @@ bool RicImportEnsembleFeature::isCommandEnabled()
void RicImportEnsembleFeature::onActionTriggered( bool isChecked )
{
QString pathCacheName = "ENSEMBLE_FILES";
auto [fileNames, groupByEnsemble] =
auto [fileNames, ensembleGroupingMode] =
RicImportSummaryCasesFeature::runRecursiveSummaryCaseFileSearchDialogWithGrouping( "Import Ensemble",
pathCacheName );
if ( fileNames.isEmpty() ) return;
if ( groupByEnsemble )
if ( ensembleGroupingMode == RiaEnsembleNameTools::EnsembleGroupingMode::NONE )
{
std::vector<QStringList> groupedByEnsemble = RiaEnsembleNameTools::groupFilesByEnsemble( fileNames );
for ( const QStringList& groupedFileNames : groupedByEnsemble )
{
bool useEnsembleNameDialog = false;
importSingleEnsemble( groupedFileNames, useEnsembleNameDialog );
}
bool useEnsembleNameDialog = true;
importSingleEnsemble( fileNames, useEnsembleNameDialog, ensembleGroupingMode );
}
else
{
bool useEnsembleNameDialog = true;
importSingleEnsemble( fileNames, useEnsembleNameDialog );
std::vector<QStringList> groupedByEnsemble =
RiaEnsembleNameTools::groupFilesByEnsemble( fileNames, ensembleGroupingMode );
for ( const QStringList& groupedFileNames : groupedByEnsemble )
{
bool useEnsembleNameDialog = false;
importSingleEnsemble( groupedFileNames, useEnsembleNameDialog, ensembleGroupingMode );
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicImportEnsembleFeature::importSingleEnsemble( const QStringList& fileNames, bool useEnsembleNameDialog )
void RicImportEnsembleFeature::importSingleEnsemble( const QStringList& fileNames,
bool useEnsembleNameDialog,
RiaEnsembleNameTools::EnsembleGroupingMode groupingMode )
{
QString ensembleName = RiaEnsembleNameTools::findSuitableEnsembleName( fileNames );
QString ensembleName = RiaEnsembleNameTools::findSuitableEnsembleName( fileNames, groupingMode );
if ( useEnsembleNameDialog ) ensembleName = askForEnsembleName( ensembleName );