mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2555 Add applyToAll checkbox
This commit is contained in:
parent
f98dc2fe5e
commit
8889bdf6d4
@ -99,7 +99,7 @@ bool RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(const QString&
|
||||
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
||||
if (!sumCaseColl) return false;
|
||||
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(fileName);
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(fileName, false);
|
||||
|
||||
if (result.ok)
|
||||
{
|
||||
|
@ -76,9 +76,10 @@ void RicImportSummaryCasesFeature::onActionTriggered(bool isChecked)
|
||||
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
||||
if (!sumCaseColl) return;
|
||||
|
||||
RicSummaryCaseRestartDialogResult savedDialogResult;
|
||||
for (auto f : fileNames)
|
||||
{
|
||||
RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFile(f);
|
||||
RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFile(f, &savedDialogResult);
|
||||
}
|
||||
|
||||
std::vector<RimCase*> cases;
|
||||
@ -102,14 +103,16 @@ void RicImportSummaryCasesFeature::setupActionLook(QAction* actionToSetup)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFile(const QString& fileName)
|
||||
bool RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFile(const QString& fileName, RicSummaryCaseRestartDialogResult *savedDialogResult)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
RimProject* proj = app->project();
|
||||
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
||||
if (!sumCaseColl) return false;
|
||||
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(fileName);
|
||||
RicSummaryCaseRestartDialogResult result;
|
||||
if (savedDialogResult->applyToAll) result = *savedDialogResult;
|
||||
else result = RicSummaryCaseRestartDialog::openDialog(fileName, true);
|
||||
|
||||
if (result.ok)
|
||||
{
|
||||
@ -125,6 +128,8 @@ bool RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFile(const QString
|
||||
}
|
||||
|
||||
app->addToRecentFiles(fileName);
|
||||
|
||||
*savedDialogResult = result;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -22,6 +22,8 @@
|
||||
|
||||
#include <QString>
|
||||
|
||||
class RicSummaryCaseRestartDialogResult;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
@ -32,7 +34,7 @@ class RicImportSummaryCasesFeature : public caf::CmdFeature
|
||||
public:
|
||||
RicImportSummaryCasesFeature() : m_pathFilter("*"), m_fileNameFilter("*") { }
|
||||
|
||||
static bool createAndAddSummaryCaseFromFile(const QString& fileName);
|
||||
static bool createAndAddSummaryCaseFromFile(const QString& fileName, RicSummaryCaseRestartDialogResult *lastResult);
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QTextEdit>
|
||||
#include <QCheckBox>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QPushButton>
|
||||
#include <QRadioButton>
|
||||
@ -68,6 +69,7 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
m_readAllRadioButton = new QRadioButton(this);
|
||||
m_notReadRadionButton = new QRadioButton(this);
|
||||
m_separateCasesRadionButton = new QRadioButton(this);
|
||||
m_applyToAllCheckBox = new QCheckBox(this);
|
||||
|
||||
m_buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
|
||||
@ -79,7 +81,8 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
m_readAllRadioButton->setText("Import All Restart Files");
|
||||
m_notReadRadionButton->setText("Do Not Import Restart Files");
|
||||
m_separateCasesRadionButton->setText("Import Restart Files as Separate Cases");
|
||||
|
||||
m_applyToAllCheckBox->setText("Apply to All Files");
|
||||
|
||||
// Define layout
|
||||
QVBoxLayout* dialogLayout = new QVBoxLayout();
|
||||
|
||||
@ -99,10 +102,14 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
optionsLayout->addWidget(m_separateCasesRadionButton);
|
||||
optionsGroup->setLayout(optionsLayout);
|
||||
|
||||
QHBoxLayout* buttonsLayout = new QHBoxLayout();
|
||||
buttonsLayout->addWidget(m_applyToAllCheckBox);
|
||||
buttonsLayout->addWidget(m_buttons);
|
||||
|
||||
dialogLayout->addWidget(currentFileGroup);
|
||||
dialogLayout->addWidget(filesGroup);
|
||||
dialogLayout->addWidget(optionsGroup);
|
||||
dialogLayout->addWidget(m_buttons);
|
||||
dialogLayout->addLayout(buttonsLayout);
|
||||
|
||||
setLayout(dialogLayout);
|
||||
}
|
||||
@ -117,13 +124,16 @@ RicSummaryCaseRestartDialog::~RicSummaryCaseRestartDialog()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const QString& summaryHeaderFile, QWidget *parent)
|
||||
RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
QWidget *parent)
|
||||
{
|
||||
RicSummaryCaseRestartDialog dialog(parent);
|
||||
|
||||
dialog.setWindowTitle("Summary Case Restart Files");
|
||||
dialog.m_readAllRadioButton->setChecked(true);
|
||||
dialog.m_currentFile->setText(summaryHeaderFile);
|
||||
dialog.m_applyToAllCheckBox->setVisible(showApplyToAllWidget);
|
||||
|
||||
std::vector<RifRestartFileInfo> files = dialog.getRestartFiles(summaryHeaderFile);
|
||||
for (const auto& file : files)
|
||||
@ -134,13 +144,13 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
// If no restart files are found, do not show dialog
|
||||
if (files.empty())
|
||||
{
|
||||
return RicSummaryCaseRestartDialogResult(true, READ_ALL);
|
||||
return RicSummaryCaseRestartDialogResult(true, READ_ALL, false);
|
||||
}
|
||||
|
||||
dialog.resize(DEFAULT_DIALOG_WIDTH, DEFAULT_DIALOG_INIT_HEIGHT);
|
||||
dialog.exec();
|
||||
|
||||
return RicSummaryCaseRestartDialogResult(dialog.result() == QDialog::Accepted, dialog.selectedOption());
|
||||
return RicSummaryCaseRestartDialogResult(dialog.result() == QDialog::Accepted, dialog.selectedOption(), dialog.applyToAllSelected());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -154,6 +164,14 @@ RicSummaryCaseRestartDialog::ReadOptions RicSummaryCaseRestartDialog::selectedOp
|
||||
READ_ALL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicSummaryCaseRestartDialog::applyToAllSelected() const
|
||||
{
|
||||
return m_applyToAllCheckBox->isChecked();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -35,6 +35,7 @@ class QPushButton;
|
||||
class QMainWindow;
|
||||
class QListWidget;
|
||||
class QGridLayout;
|
||||
class QCheckBox;
|
||||
class RicSummaryCaseRestartDialogResult;
|
||||
|
||||
//==================================================================================================
|
||||
@ -50,9 +51,12 @@ public:
|
||||
RicSummaryCaseRestartDialog(QWidget* parent);
|
||||
~RicSummaryCaseRestartDialog();
|
||||
|
||||
static RicSummaryCaseRestartDialogResult openDialog(const QString& summaryHeaderFile, QWidget *parent = nullptr);
|
||||
static RicSummaryCaseRestartDialogResult openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
QWidget *parent = nullptr);
|
||||
|
||||
ReadOptions selectedOption() const;
|
||||
bool applyToAllSelected() const;
|
||||
|
||||
private:
|
||||
void appendToFileList(const RifRestartFileInfo& fileInfo);
|
||||
@ -71,6 +75,7 @@ private:
|
||||
QRadioButton* m_notReadRadionButton;
|
||||
QRadioButton* m_separateCasesRadionButton;
|
||||
|
||||
QCheckBox* m_applyToAllCheckBox;
|
||||
QDialogButtonBox* m_buttons;
|
||||
};
|
||||
|
||||
@ -81,10 +86,16 @@ private:
|
||||
class RicSummaryCaseRestartDialogResult
|
||||
{
|
||||
public:
|
||||
RicSummaryCaseRestartDialogResult(bool ok,
|
||||
RicSummaryCaseRestartDialog::ReadOptions option) :
|
||||
ok(ok), option(option) {}
|
||||
RicSummaryCaseRestartDialogResult() :
|
||||
ok(false), option(RicSummaryCaseRestartDialog::READ_ALL), applyToAll(false) {}
|
||||
|
||||
RicSummaryCaseRestartDialogResult(bool _ok,
|
||||
RicSummaryCaseRestartDialog::ReadOptions _option,
|
||||
bool _applyToAll) :
|
||||
ok(_ok), option(_option), applyToAll(_applyToAll) {
|
||||
}
|
||||
|
||||
bool ok;
|
||||
RicSummaryCaseRestartDialog::ReadOptions option;
|
||||
bool applyToAll;
|
||||
};
|
Loading…
Reference in New Issue
Block a user