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