mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2685 Origin summary. Split preferences settings into two fields
This commit is contained in:
parent
3116a4a223
commit
ee9e9b2989
@ -32,11 +32,10 @@ namespace caf
|
||||
template<>
|
||||
void RiaPreferences::SummaryRestartFilesImportModeType::setUp()
|
||||
{
|
||||
addItem(RiaPreferences::ASK_USER, "ASK_USER", "Ask user");
|
||||
addItem(RiaPreferences::IMPORT, "IMPORT", "Always import");
|
||||
addItem(RiaPreferences::NOT_IMPORT, "NOT_IMPORT", "Never import");
|
||||
addItem(RiaPreferences::SEPARATE_CASES, "SEPARATE_CASES", "Import as separate summary cases");
|
||||
setDefault(RiaPreferences::ASK_USER);
|
||||
setDefault(RiaPreferences::IMPORT);
|
||||
}
|
||||
}
|
||||
|
||||
@ -102,8 +101,8 @@ RiaPreferences::RiaPreferences(void)
|
||||
CAF_PDM_InitField(&loadAndShowSoil, "loadAndShowSoil", true, "Load and Show SOIL", "", "", "");
|
||||
loadAndShowSoil.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&summaryRestartFilesImportMode, "summaryRestartFilesImportMode", "Import summary restart files", "", "", "");
|
||||
//loadAndShowSoil.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
CAF_PDM_InitFieldNoDefault(&summaryRestartFilesShowImportDialog, "summaryRestartFilesShowImportDialog", "Show Import Dialog", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&summaryRestartFilesImportMode, "summaryRestartFilesImportMode", "Default Import Mode", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_readerSettings, "readerSettings", "Reader Settings", "", "", "");
|
||||
m_readerSettings = new RifReaderSettings;
|
||||
@ -194,6 +193,7 @@ void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
|
||||
m_readerSettings->defineUiOrdering(uiConfigName, *newCaseBehaviourGroup);
|
||||
|
||||
caf::PdmUiGroup* restartBehaviourGroup = uiOrdering.addNewGroup("Summary Restart Files");
|
||||
restartBehaviourGroup->add(&summaryRestartFilesShowImportDialog);
|
||||
restartBehaviourGroup->add(&summaryRestartFilesImportMode);
|
||||
}
|
||||
else if (uiConfigName == m_tabNames[2])
|
||||
|
@ -37,7 +37,7 @@ class RiaPreferences : public caf::PdmObject
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
enum SummaryRestartFilesImportMode { ASK_USER, IMPORT, NOT_IMPORT, SEPARATE_CASES };
|
||||
enum SummaryRestartFilesImportMode { IMPORT, NOT_IMPORT, SEPARATE_CASES };
|
||||
typedef caf::AppEnum<SummaryRestartFilesImportMode> SummaryRestartFilesImportModeType;
|
||||
|
||||
RiaPreferences(void);
|
||||
@ -80,7 +80,8 @@ public: // Pdm Fields
|
||||
caf::PdmField<bool> autocomputeDepthRelatedProperties;
|
||||
caf::PdmField<bool> loadAndShowSoil;
|
||||
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> summaryRestartFilesImportMode;
|
||||
caf::PdmField<bool> summaryRestartFilesShowImportDialog;
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> summaryRestartFilesImportMode;
|
||||
|
||||
protected:
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||
|
@ -126,6 +126,7 @@ RicSummaryCaseRestartDialog::~RicSummaryCaseRestartDialog()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
ReadOptions defaultReadOption,
|
||||
RicSummaryCaseRestartDialogResult *lastResult,
|
||||
QWidget *parent)
|
||||
{
|
||||
@ -148,7 +149,7 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
// If no restart files are found, do not show dialog
|
||||
if (fileInfos.empty())
|
||||
{
|
||||
return RicSummaryCaseRestartDialogResult(true, READ_SINGLE, QStringList({ summaryHeaderFile }), false);
|
||||
return RicSummaryCaseRestartDialogResult(true, NOT_IMPORT, QStringList({ summaryHeaderFile }), false);
|
||||
}
|
||||
|
||||
RicSummaryCaseRestartDialogResult dialogResult;
|
||||
@ -160,7 +161,12 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
else
|
||||
{
|
||||
dialog.setWindowTitle("Summary Case Restart Files");
|
||||
dialog.m_readAllRadioButton->setChecked(true);
|
||||
switch (defaultReadOption)
|
||||
{
|
||||
case ReadOptions::IMPORT_ALL: dialog.m_readAllRadioButton->setChecked(true); break;
|
||||
case ReadOptions::NOT_IMPORT: dialog.m_notReadRadionButton->setChecked(true); break;
|
||||
case ReadOptions::SEPARATE_CASES: dialog.m_separateCasesRadionButton->setChecked(true); break;
|
||||
}
|
||||
dialog.m_applyToAllCheckBox->setVisible(showApplyToAllWidget);
|
||||
dialog.resize(DEFAULT_DIALOG_WIDTH, DEFAULT_DIALOG_INIT_HEIGHT);
|
||||
dialog.exec();
|
||||
@ -173,7 +179,7 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
|
||||
if (!dialogResult.ok)
|
||||
{
|
||||
return RicSummaryCaseRestartDialogResult(false, READ_SINGLE, QStringList(), false);
|
||||
return RicSummaryCaseRestartDialogResult(false, NOT_IMPORT, QStringList(), false);
|
||||
}
|
||||
|
||||
dialogResult.files.push_back(RiaFilePathTools::toInternalSeparator(summaryHeaderFile));
|
||||
@ -193,9 +199,9 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
RicSummaryCaseRestartDialog::ReadOptions RicSummaryCaseRestartDialog::selectedOption() const
|
||||
{
|
||||
return
|
||||
m_readAllRadioButton->isChecked() ? READ_ALL :
|
||||
m_readAllRadioButton->isChecked() ? IMPORT_ALL :
|
||||
m_separateCasesRadionButton->isChecked() ? SEPARATE_CASES :
|
||||
READ_SINGLE;
|
||||
NOT_IMPORT;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -46,13 +46,14 @@ class RicSummaryCaseRestartDialog : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum ReadOptions { READ_SINGLE, READ_ALL, SEPARATE_CASES };
|
||||
enum ReadOptions { NOT_IMPORT, IMPORT_ALL, SEPARATE_CASES };
|
||||
|
||||
RicSummaryCaseRestartDialog(QWidget* parent);
|
||||
~RicSummaryCaseRestartDialog();
|
||||
|
||||
static RicSummaryCaseRestartDialogResult openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
ReadOptions defaultReadOption,
|
||||
RicSummaryCaseRestartDialogResult *lastResult = nullptr,
|
||||
QWidget *parent = nullptr);
|
||||
|
||||
@ -89,7 +90,7 @@ class RicSummaryCaseRestartDialogResult
|
||||
{
|
||||
public:
|
||||
RicSummaryCaseRestartDialogResult() :
|
||||
ok(false), option(RicSummaryCaseRestartDialog::READ_ALL), applyToAll(false) {}
|
||||
ok(false), option(RicSummaryCaseRestartDialog::IMPORT_ALL), applyToAll(false) {}
|
||||
|
||||
RicSummaryCaseRestartDialogResult(bool _ok,
|
||||
RicSummaryCaseRestartDialog::ReadOptions _option,
|
||||
|
@ -46,6 +46,17 @@ bool vectorContains(const std::vector<T>& vector, T item)
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// INternal function
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialog::ReadOptions mapReadOption(RiaPreferences::SummaryRestartFilesImportMode mode)
|
||||
{
|
||||
return
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::NOT_IMPORT ? RicSummaryCaseRestartDialog::ReadOptions::NOT_IMPORT :
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::SEPARATE_CASES ? RicSummaryCaseRestartDialog::ReadOptions::SEPARATE_CASES :
|
||||
RicSummaryCaseRestartDialog::ReadOptions::IMPORT_ALL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -71,10 +82,10 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
RiaPreferences* prefs = app->preferences();
|
||||
|
||||
std::vector<RifSummaryCaseFileInfo> fileInfos;
|
||||
if (prefs->summaryRestartFilesImportMode == RiaPreferences::ASK_USER)
|
||||
if (prefs->summaryRestartFilesShowImportDialog)
|
||||
{
|
||||
bool enableApplyToAllField = selectedFiles.size() > 1;
|
||||
fileInfos = getFilesToImportByAskingUser(selectedFiles, enableApplyToAllField);
|
||||
fileInfos = getFilesToImportByAskingUser(selectedFiles, enableApplyToAllField, prefs->summaryRestartFilesImportMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -88,19 +99,20 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImportByAskingUser(const QStringList& initialFiles,
|
||||
bool enableApplyToAllField)
|
||||
bool enableApplyToAllField,
|
||||
RiaPreferences::SummaryRestartFilesImportModeType defaultSummaryRestartMode)
|
||||
{
|
||||
std::vector<RifSummaryCaseFileInfo> filesToImport;
|
||||
RicSummaryCaseRestartDialogResult lastResult;
|
||||
|
||||
for (const QString& file : initialFiles)
|
||||
{
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(file, enableApplyToAllField, &lastResult);
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(file, enableApplyToAllField, mapReadOption(defaultSummaryRestartMode), &lastResult);
|
||||
if (result.ok)
|
||||
{
|
||||
for (const QString& file : result.files)
|
||||
{
|
||||
RifSummaryCaseFileInfo fi(file, result.option == RicSummaryCaseRestartDialog::READ_ALL);
|
||||
RifSummaryCaseFileInfo fi(file, result.option == RicSummaryCaseRestartDialog::IMPORT_ALL);
|
||||
if (!vectorContains(filesToImport, fi))
|
||||
{
|
||||
filesToImport.push_back(fi);
|
||||
|
@ -43,7 +43,8 @@ public:
|
||||
|
||||
private:
|
||||
std::vector<RifSummaryCaseFileInfo> getFilesToImportByAskingUser(const QStringList& initialFiles,
|
||||
bool enableApplyToAllField);
|
||||
bool enableApplyToAllField,
|
||||
RiaPreferences::SummaryRestartFilesImportModeType defaultSummaryRestartMode);
|
||||
std::vector<RifSummaryCaseFileInfo> getFilesToImportUsingPrefs(const QStringList& initialFiles,
|
||||
RiaPreferences::SummaryRestartFilesImportModeType summaryRestartMode);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user