mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2555 Add preferences for summary restart file import
This commit is contained in:
parent
2a84cb6ddf
commit
2f11395525
@ -27,6 +27,18 @@
|
||||
#include "cafPdmUiFieldHandle.h"
|
||||
#include "cafPdmUiFilePathEditor.h"
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RiaPreferences, "RiaPreferences");
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -88,6 +100,9 @@ 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(&m_readerSettings, "readerSettings", "Reader Settings", "", "", "");
|
||||
m_readerSettings = new RifReaderSettings;
|
||||
|
||||
@ -175,6 +190,9 @@ void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
|
||||
newCaseBehaviourGroup->add(&loadAndShowSoil);
|
||||
|
||||
m_readerSettings->defineUiOrdering(uiConfigName, *newCaseBehaviourGroup);
|
||||
|
||||
caf::PdmUiGroup* restartBehaviourGroup = uiOrdering.addNewGroup("Summary Restart Files");
|
||||
restartBehaviourGroup->add(&summaryRestartFilesImportMode);
|
||||
}
|
||||
else if (uiConfigName == m_tabNames[2])
|
||||
{
|
||||
|
@ -37,6 +37,9 @@ class RiaPreferences : public caf::PdmObject
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
enum SummaryRestartFilesImportMode { ASK_USER, IMPORT, NOT_IMPORT, SEPARATE_CASES };
|
||||
typedef caf::AppEnum<SummaryRestartFilesImportMode> SummaryRestartFilesImportModeType;
|
||||
|
||||
RiaPreferences(void);
|
||||
virtual ~RiaPreferences(void);
|
||||
|
||||
@ -77,6 +80,8 @@ public: // Pdm Fields
|
||||
caf::PdmField<bool> autocomputeDepthRelatedProperties;
|
||||
caf::PdmField<bool> loadAndShowSoil;
|
||||
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> summaryRestartFilesImportMode;
|
||||
|
||||
protected:
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
||||
|
@ -23,6 +23,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiaTextStringTools.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaTextFileCompare.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaRegressionTestRunner.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaExtractionTools.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaFilePathTools.h
|
||||
)
|
||||
|
||||
set (SOURCE_GROUP_SOURCE_FILES
|
||||
@ -49,6 +50,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiaTextStringTools.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaTextFileCompare.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaRegressionTestRunner.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaExtractionTools.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiaFilePathTools.cpp
|
||||
)
|
||||
|
||||
list(APPEND CODE_HEADER_FILES
|
||||
|
88
ApplicationCode/Application/Tools/RiaFilePathTools.cpp
Normal file
88
ApplicationCode/Application/Tools/RiaFilePathTools.cpp
Normal file
@ -0,0 +1,88 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2011- Statoil ASA
|
||||
// Copyright (C) 2013- Ceetron Solutions AS
|
||||
// Copyright (C) 2011-2012 Ceetron AS
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RiaFilePathTools.h"
|
||||
#include <QDir>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal variables
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
static QString SEPARATOR = "/";
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaFilePathTools::toInternalSeparator(const QString& path)
|
||||
{
|
||||
QString currNativeSep = QDir::separator();
|
||||
|
||||
if (currNativeSep == "/")
|
||||
{
|
||||
// On Linux like system -> Do not convert separators
|
||||
return path;
|
||||
}
|
||||
|
||||
// On other systems (i.e. Windows) -> Convert to internal separator (/)
|
||||
QString output = path;
|
||||
return output.replace(QString("\\"), SEPARATOR);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString& RiaFilePathTools::appendSeparatorIfNo(QString& path)
|
||||
{
|
||||
if (!path.endsWith(SEPARATOR))
|
||||
{
|
||||
path.append(SEPARATOR);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaFilePathTools::relativePath(const QString& rootDir, const QString& dir)
|
||||
{
|
||||
if (dir.startsWith(rootDir))
|
||||
{
|
||||
QString relPath = dir;
|
||||
relPath.remove(0, rootDir.size());
|
||||
|
||||
if (relPath.startsWith(SEPARATOR)) relPath.remove(0, 1);
|
||||
return appendSeparatorIfNo(relPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
return dir;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RiaFilePathTools::equalPaths(const QString& path1, const QString& path2)
|
||||
{
|
||||
QString p1 = path1;
|
||||
QString p2 = path2;
|
||||
appendSeparatorIfNo(p1);
|
||||
appendSeparatorIfNo(p2);
|
||||
return p1 == p2;
|
||||
}
|
39
ApplicationCode/Application/Tools/RiaFilePathTools.h
Normal file
39
ApplicationCode/Application/Tools/RiaFilePathTools.h
Normal file
@ -0,0 +1,39 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2011- Statoil ASA
|
||||
// Copyright (C) 2013- Ceetron Solutions AS
|
||||
// Copyright (C) 2011-2012 Ceetron AS
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
#include <QByteArray>
|
||||
#include <string>
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
//
|
||||
//
|
||||
//==================================================================================================
|
||||
class RiaFilePathTools
|
||||
{
|
||||
public:
|
||||
static QString toInternalSeparator(const QString& path);
|
||||
static QString& appendSeparatorIfNo(QString& path);
|
||||
static QString relativePath(const QString& rootDir, const QString& dir);
|
||||
static bool equalPaths(const QString& path1, const QString& path2);
|
||||
};
|
@ -22,6 +22,7 @@
|
||||
#include "ExportCommands/RicSnapshotFilenameGenerator.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaFilePathTools.h"
|
||||
|
||||
#include "RimEclipseView.h"
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
@ -66,11 +67,7 @@ static QString SEPARATOR = "/";
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal functions
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
static QString toInternalSeparator(const QString& path);
|
||||
static QString& appendSeparatorIfNo(QString& path);
|
||||
static QStringList prefixStrings(const QStringList& strings, const QString& prefix);
|
||||
static QString relativePath(const QString& rootDir, const QString& dir);
|
||||
static bool equalPaths(const QString& path1, const QString& path2);
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -203,8 +200,8 @@ QStringList RicFileHierarchyDialog::files() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RicFileHierarchyDialog::rootDir() const
|
||||
{
|
||||
QString rootDir = toInternalSeparator(m_rootDir->text());
|
||||
return appendSeparatorIfNo(rootDir);
|
||||
QString rootDir = RiaFilePathTools::toInternalSeparator(m_rootDir->text());
|
||||
return RiaFilePathTools::appendSeparatorIfNo(rootDir);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -212,7 +209,7 @@ QString RicFileHierarchyDialog::rootDir() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RicFileHierarchyDialog::pathFilter() const
|
||||
{
|
||||
return toInternalSeparator(m_pathFilter->text());
|
||||
return RiaFilePathTools::toInternalSeparator(m_pathFilter->text());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -349,7 +346,7 @@ QStringList RicFileHierarchyDialog::buildDirectoryListRecursive(const QString& c
|
||||
}
|
||||
}
|
||||
|
||||
QString currRelPath = relativePath(rootDir(), currentDir);
|
||||
QString currRelPath = RiaFilePathTools::relativePath(rootDir(), currentDir);
|
||||
if (pathFilterMatch(currPathFilter, currRelPath))
|
||||
{
|
||||
allDirs.push_back(currentDir);
|
||||
@ -437,7 +434,7 @@ void RicFileHierarchyDialog::updateEffectiveFilter()
|
||||
.arg(m_fileFilter->text())
|
||||
.arg(m_fileExtension->text());
|
||||
|
||||
QString internalFilter(toInternalSeparator(effFilter));
|
||||
QString internalFilter(RiaFilePathTools::toInternalSeparator(effFilter));
|
||||
|
||||
// Remove duplicate separators
|
||||
int len;
|
||||
@ -619,36 +616,6 @@ void RicFileHierarchyDialog::slotBrowseButtonClicked()
|
||||
/// Internal functions
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString toInternalSeparator(const QString& path)
|
||||
{
|
||||
QString currNativeSep = QDir::separator();
|
||||
|
||||
if (currNativeSep == "/")
|
||||
{
|
||||
// On Linux like system -> Do not convert separators
|
||||
return path;
|
||||
}
|
||||
|
||||
// On other systems (i.e. Windows) -> Convert to internal separator (/)
|
||||
QString output = path;
|
||||
return output.replace(QString("\\"), SEPARATOR);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString& appendSeparatorIfNo(QString& path)
|
||||
{
|
||||
if (!path.endsWith(SEPARATOR))
|
||||
{
|
||||
path.append(SEPARATOR);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -668,34 +635,3 @@ QStringList prefixStrings(const QStringList& strings, const QString& prefix)
|
||||
}
|
||||
return prefixedStrings;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString relativePath(const QString& rootDir, const QString& dir)
|
||||
{
|
||||
if (dir.startsWith(rootDir))
|
||||
{
|
||||
QString relPath = dir;
|
||||
relPath.remove(0, rootDir.size());
|
||||
|
||||
if (relPath.startsWith(SEPARATOR)) relPath.remove(0, 1);
|
||||
return appendSeparatorIfNo(relPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
return dir;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool equalPaths(const QString& path1, const QString& path2)
|
||||
{
|
||||
QString p1 = path1;
|
||||
QString p2 = path2;
|
||||
appendSeparatorIfNo(p1);
|
||||
appendSeparatorIfNo(p2);
|
||||
return p1 == p2;
|
||||
}
|
||||
|
@ -53,6 +53,7 @@ bool RicImportSummaryCaseFeature::isCommandEnabled()
|
||||
void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
RiaPreferences* prefs = app->preferences();
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(nullptr, "Import Summary Case", defaultDir, "Eclipse Summary File (*.SMSPEC);;All Files (*.*)");
|
||||
|
||||
@ -63,7 +64,15 @@ void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked)
|
||||
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos = RicImportSummaryCasesFeature::getFilesToImportWithDialog(fileNames, true);
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos;
|
||||
if (prefs->summaryRestartFilesImportMode == RiaPreferences::ASK_USER)
|
||||
{
|
||||
fileInfos = RicImportSummaryCasesFeature::getFilesToImportWithDialog(fileNames, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
fileInfos = RicImportSummaryCasesFeature::getFilesToImportFromPrefs(fileNames, prefs->summaryRestartFilesImportMode);
|
||||
}
|
||||
|
||||
RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFileInfo(fileInfos);
|
||||
|
||||
|
@ -56,6 +56,7 @@ bool RicImportSummaryCasesFeature::isCommandEnabled()
|
||||
void RicImportSummaryCasesFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
RiaPreferences* prefs = app->preferences();
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
|
||||
RicFileHierarchyDialogResult result = RicFileHierarchyDialog::getOpenFileNames(nullptr, "Import Summary Cases", defaultDir, m_pathFilter, m_fileNameFilter, QStringList(".SMSPEC"));
|
||||
@ -72,10 +73,20 @@ void RicImportSummaryCasesFeature::onActionTriggered(bool isChecked)
|
||||
QStringList fileNames = result.files;
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos = getFilesToImportWithDialog(fileNames, true);
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos;
|
||||
if (prefs->summaryRestartFilesImportMode == RiaPreferences::ASK_USER)
|
||||
{
|
||||
fileInfos = getFilesToImportWithDialog(fileNames, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
fileInfos = getFilesToImportFromPrefs(fileNames, prefs->summaryRestartFilesImportMode);
|
||||
}
|
||||
|
||||
createAndAddSummaryCaseFromFileInfo(fileInfos);
|
||||
|
||||
if (fileInfos.size() > 0) RiaApplication::instance()->addToRecentFiles(fileInfos.front().fileName);
|
||||
|
||||
std::vector<RimCase*> cases;
|
||||
app->project()->allCases(cases);
|
||||
|
||||
@ -111,8 +122,6 @@ std::vector<RicSummaryCaseFileInfo> RicImportSummaryCasesFeature::getFilesToImpo
|
||||
|
||||
if (result.ok)
|
||||
{
|
||||
if(result.files.size() > 0) RiaApplication::instance()->addToRecentFiles(result.files.front());
|
||||
|
||||
for (const QString& file : result.files)
|
||||
{
|
||||
RicSummaryCaseFileInfo fi(file, result.option == RicSummaryCaseRestartDialog::READ_ALL);
|
||||
@ -127,6 +136,38 @@ std::vector<RicSummaryCaseFileInfo> RicImportSummaryCasesFeature::getFilesToImpo
|
||||
return std::vector<RicSummaryCaseFileInfo>(filesToImport.begin(), filesToImport.end());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RicSummaryCaseFileInfo> RicImportSummaryCasesFeature::getFilesToImportFromPrefs(const QStringList& initialFiles,
|
||||
RiaPreferences::SummaryRestartFilesImportModeType summaryRestartMode)
|
||||
{
|
||||
std::set<RicSummaryCaseFileInfo> filesToImport;
|
||||
RicSummaryCaseRestartDialogResult lastResult;
|
||||
|
||||
for (const QString& file : initialFiles)
|
||||
{
|
||||
if (summaryRestartMode == RiaPreferences::IMPORT)
|
||||
{
|
||||
filesToImport.insert(RicSummaryCaseFileInfo(file, true));
|
||||
}
|
||||
else if (summaryRestartMode == RiaPreferences::NOT_IMPORT)
|
||||
{
|
||||
filesToImport.insert(RicSummaryCaseFileInfo(file, false));
|
||||
}
|
||||
else if (summaryRestartMode == RiaPreferences::SEPARATE_CASES)
|
||||
{
|
||||
filesToImport.insert(RicSummaryCaseFileInfo(file, false));
|
||||
|
||||
RifReaderEclipseSummary reader;
|
||||
std::vector<RifRestartFileInfo> restartFileInfos = reader.getRestartFiles(file);
|
||||
for (const auto& fi : restartFileInfos)
|
||||
filesToImport.insert(RicSummaryCaseFileInfo(fi.fileName, false));
|
||||
}
|
||||
}
|
||||
return std::vector<RicSummaryCaseFileInfo>(filesToImport.begin(), filesToImport.end());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -149,8 +190,21 @@ bool RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFileInfo(const std
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFileWithDialog(const QString& fileName)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
RiaPreferences* prefs = app->preferences();
|
||||
|
||||
QStringList fileNames({ fileName });
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos = getFilesToImportWithDialog(fileNames, false);
|
||||
std::vector<RicSummaryCaseFileInfo> fileInfos;
|
||||
if (prefs->summaryRestartFilesImportMode == RiaPreferences::ASK_USER)
|
||||
{
|
||||
fileInfos = getFilesToImportWithDialog(fileNames, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
fileInfos = getFilesToImportFromPrefs(fileNames, prefs->summaryRestartFilesImportMode);
|
||||
}
|
||||
|
||||
|
||||
bool res = createAndAddSummaryCaseFromFileInfo(fileInfos);
|
||||
RiaApplication::instance()->addToRecentFiles(fileName);
|
||||
return res;
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RiaPreferences.h"
|
||||
|
||||
#include "cafCmdFeature.h"
|
||||
|
||||
#include <QString>
|
||||
@ -54,6 +56,9 @@ public:
|
||||
static std::vector<RicSummaryCaseFileInfo> getFilesToImportWithDialog(const QStringList& initialFiles,
|
||||
bool enableApplyToAllField);
|
||||
|
||||
static std::vector<RicSummaryCaseFileInfo> getFilesToImportFromPrefs(const QStringList& initialFiles,
|
||||
RiaPreferences::SummaryRestartFilesImportModeType summaryRestartMode);
|
||||
|
||||
static bool createAndAddSummaryCaseFromFileInfo(const std::vector<RicSummaryCaseFileInfo>& fileInfos);
|
||||
static bool createAndAddSummaryCaseFromFileWithDialog(const QString& fileName);
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "ExportCommands/RicSnapshotFilenameGenerator.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaFilePathTools.h"
|
||||
|
||||
#include "RifReaderEclipseSummary.h"
|
||||
|
||||
@ -57,15 +58,6 @@
|
||||
#define DEFAULT_DIALOG_WIDTH 550
|
||||
#define DEFAULT_DIALOG_INIT_HEIGHT 150
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal variables
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
static QString SEPARATOR = "/";
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Internal functions
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
static QString toInternalSeparator(const QString& path);
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -164,12 +156,12 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
return RicSummaryCaseRestartDialogResult(false, READ_SINGLE, QStringList(), false);
|
||||
}
|
||||
|
||||
QStringList files({ toInternalSeparator(summaryHeaderFile) });
|
||||
QStringList files({ RiaFilePathTools::toInternalSeparator(summaryHeaderFile) });
|
||||
if (dialog.selectedOption() == SEPARATE_CASES)
|
||||
{
|
||||
for (const auto& fileInfo : fileInfos)
|
||||
{
|
||||
files.push_back(toInternalSeparator(fileInfo.fileName));
|
||||
files.push_back(RiaFilePathTools::toInternalSeparator(fileInfo.fileName));
|
||||
}
|
||||
}
|
||||
return RicSummaryCaseRestartDialogResult(true, dialog.selectedOption(), files, dialog.applyToAllSelected());
|
||||
@ -244,20 +236,3 @@ void RicSummaryCaseRestartDialog::slotDialogCancelClicked()
|
||||
/// Internal functions
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString toInternalSeparator(const QString& path)
|
||||
{
|
||||
QString currNativeSep = QDir::separator();
|
||||
|
||||
if (currNativeSep == "/")
|
||||
{
|
||||
// On Linux like system -> Do not convert separators
|
||||
return path;
|
||||
}
|
||||
|
||||
// On other systems (i.e. Windows) -> Convert to internal separator (/)
|
||||
QString output = path;
|
||||
return output.replace(QString("\\"), SEPARATOR);
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include "RifReaderEclipseSummary.h"
|
||||
#include "RiaStringEncodingTools.h"
|
||||
#include "RiaFilePathTools.h"
|
||||
#include "RifReaderEclipseOutput.h"
|
||||
#include "RifEclipseSummaryTools.h"
|
||||
|
||||
@ -416,7 +417,7 @@ RifRestartFileInfo RifReaderEclipseSummary::getRestartFile(const QString& header
|
||||
QString restartBase = QDir(restartCase).dirName();
|
||||
|
||||
char* smspec_header = ecl_util_alloc_exfilename(path.toStdString().data(), restartBase.toStdString().data(), ECL_SUMMARY_HEADER_FILE, false /*unformatted*/, 0);
|
||||
restartFile.fileName = QDir::toNativeSeparators(RiaStringEncodingTools::fromNativeEncoded(smspec_header));
|
||||
restartFile.fileName = RiaFilePathTools::toInternalSeparator(RiaStringEncodingTools::fromNativeEncoded(smspec_header));
|
||||
util_safe_free(smspec_header);
|
||||
|
||||
ecl_sum = openEclSum(headerFileName, false);
|
||||
|
Loading…
Reference in New Issue
Block a user