mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#882 RiaApplication : Renamed to lastUsedDialogDirectory and added currentProjectPath. Use project path as fallback path for LAS export
This commit is contained in:
@@ -191,7 +191,7 @@ RiaApplication::RiaApplication(int& argc, char** argv)
|
||||
m_startupDefaultDirectory = QDir::currentPath();
|
||||
#endif
|
||||
|
||||
setDefaultFileDialogDirectory("MULTICASEIMPORT", "/");
|
||||
setLastUsedDialogDirectory("MULTICASEIMPORT", "/");
|
||||
|
||||
// The creation of a font is time consuming, so make sure you really need your own font
|
||||
// instead of using the application font
|
||||
@@ -630,7 +630,7 @@ bool RiaApplication::saveProjectPromptForFileName()
|
||||
}
|
||||
else
|
||||
{
|
||||
startPath = app->defaultFileDialogDirectory("BINARY_GRID");
|
||||
startPath = app->lastUsedDialogDirectory("BINARY_GRID");
|
||||
startPath += "/ResInsightProject.rsp";
|
||||
}
|
||||
|
||||
@@ -641,7 +641,7 @@ bool RiaApplication::saveProjectPromptForFileName()
|
||||
}
|
||||
|
||||
// Remember the directory to next time
|
||||
app->setDefaultFileDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath());
|
||||
app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath());
|
||||
|
||||
bool bSaveOk = saveProjectAs(fileName);
|
||||
|
||||
@@ -746,16 +746,25 @@ void RiaApplication::onProjectOpenedOrClosed()
|
||||
setWindowCaptionFromAppState();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaApplication::currentProjectFileName() const
|
||||
QString RiaApplication::currentProjectPath() const
|
||||
{
|
||||
return m_project->fileName();
|
||||
QString projectFolder;
|
||||
if (m_project)
|
||||
{
|
||||
QString projectFileName = m_project->fileName();
|
||||
|
||||
if (!projectFileName.isEmpty())
|
||||
{
|
||||
QFileInfo fi(projectFileName);
|
||||
projectFolder = fi.absolutePath();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return projectFolder;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Create an absolute path from a path that is specified relative to the project directory
|
||||
@@ -1739,26 +1748,45 @@ void RiaApplication::terminateProcess()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaApplication::defaultFileDialogDirectory(const QString& dialogName)
|
||||
QString RiaApplication::lastUsedDialogDirectory(const QString& dialogName)
|
||||
{
|
||||
QString defaultDirectory = m_startupDefaultDirectory;
|
||||
std::map<QString, QString>::iterator it;
|
||||
it = m_fileDialogDefaultDirectories.find(dialogName);
|
||||
QString lastUsedDirectory = m_startupDefaultDirectory;
|
||||
|
||||
auto it = m_fileDialogDefaultDirectories.find(dialogName);
|
||||
if (it != m_fileDialogDefaultDirectories.end())
|
||||
{
|
||||
defaultDirectory = it->second;
|
||||
lastUsedDirectory = it->second;
|
||||
}
|
||||
|
||||
return defaultDirectory;
|
||||
return lastUsedDirectory;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaApplication::setDefaultFileDialogDirectory(const QString& dialogName, const QString& defaultDirectory)
|
||||
QString RiaApplication::lastUsedDialogDirectoryWithFallback(const QString& dialogName, const QString& fallbackDirectory)
|
||||
{
|
||||
m_fileDialogDefaultDirectories[dialogName] = defaultDirectory;
|
||||
QString lastUsedDirectory = m_startupDefaultDirectory;
|
||||
if (!fallbackDirectory.isEmpty())
|
||||
{
|
||||
lastUsedDirectory = fallbackDirectory;
|
||||
}
|
||||
|
||||
auto it = m_fileDialogDefaultDirectories.find(dialogName);
|
||||
if (it != m_fileDialogDefaultDirectories.end())
|
||||
{
|
||||
lastUsedDirectory = it->second;
|
||||
}
|
||||
|
||||
return lastUsedDirectory;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaApplication::setLastUsedDialogDirectory(const QString& dialogName, const QString& directory)
|
||||
{
|
||||
m_fileDialogDefaultDirectories[dialogName] = directory;
|
||||
}
|
||||
|
||||
|
||||
@@ -1775,7 +1803,7 @@ void RiaApplication::saveSnapshotPromtpForFilename()
|
||||
}
|
||||
else
|
||||
{
|
||||
startPath = defaultFileDialogDirectory("IMAGE_SNAPSHOT");
|
||||
startPath = lastUsedDialogDirectory("IMAGE_SNAPSHOT");
|
||||
}
|
||||
|
||||
startPath += "/image.png";
|
||||
@@ -1787,7 +1815,7 @@ void RiaApplication::saveSnapshotPromtpForFilename()
|
||||
}
|
||||
|
||||
// Remember the directory to next time
|
||||
setDefaultFileDialogDirectory("IMAGE_SNAPSHOT", QFileInfo(fileName).absolutePath());
|
||||
setLastUsedDialogDirectory("IMAGE_SNAPSHOT", QFileInfo(fileName).absolutePath());
|
||||
|
||||
saveSnapshotAs(fileName);
|
||||
}
|
||||
|
||||
@@ -106,8 +106,9 @@ public:
|
||||
void createMockModelCustomized();
|
||||
void createInputMockModel();
|
||||
|
||||
QString defaultFileDialogDirectory(const QString& dialogName);
|
||||
void setDefaultFileDialogDirectory(const QString& dialogName, const QString& defaultDirectory);
|
||||
QString lastUsedDialogDirectory(const QString& dialogName);
|
||||
QString lastUsedDialogDirectoryWithFallback(const QString& dialogName, const QString& fallbackDirectory);
|
||||
void setLastUsedDialogDirectory(const QString& dialogName, const QString& directory);
|
||||
|
||||
bool openEclipseCaseFromFile(const QString& fileName);
|
||||
bool openEclipseCase(const QString& caseName, const QString& caseFileName);
|
||||
@@ -116,7 +117,7 @@ public:
|
||||
|
||||
bool openOdbCaseFromFile(const QString& fileName);
|
||||
|
||||
QString currentProjectFileName() const;
|
||||
QString currentProjectPath() const;
|
||||
QString createAbsolutePathFromProjectRelativePath(QString projectRelativePath);
|
||||
bool loadProject(const QString& projectFileName);
|
||||
bool saveProject();
|
||||
|
||||
@@ -61,14 +61,14 @@ bool RicAddEclipseInputPropertyFeature::isCommandEnabled()
|
||||
void RicAddEclipseInputPropertyFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Select Eclipse Input Property Files", defaultDir, "All Files (*.* *)");
|
||||
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
// Remember the directory to next time
|
||||
defaultDir = QFileInfo(fileNames.last()).absolutePath();
|
||||
app->setDefaultFileDialogDirectory("INPUT_FILES", defaultDir);
|
||||
app->setLastUsedDialogDirectory("INPUT_FILES", defaultDir);
|
||||
|
||||
RimEclipseInputPropertyCollection* inputPropertyCollection = selectedInputPropertyCollection();
|
||||
if (inputPropertyCollection)
|
||||
|
||||
@@ -59,14 +59,14 @@ bool RicAddOpmInputPropertyFeature::isCommandEnabled()
|
||||
void RicAddOpmInputPropertyFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(NULL, "Select Eclipse Input Property Files", defaultDir, "All Files (*.* *)");
|
||||
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
// Remember the directory to next time
|
||||
defaultDir = QFileInfo(fileNames.last()).absolutePath();
|
||||
app->setDefaultFileDialogDirectory("INPUT_FILES", defaultDir);
|
||||
app->setLastUsedDialogDirectory("INPUT_FILES", defaultDir);
|
||||
|
||||
RimEclipseInputPropertyCollection* inputPropertyCollection = selectedInputPropertyCollection();
|
||||
if (inputPropertyCollection)
|
||||
|
||||
@@ -50,11 +50,15 @@ void RicExportToLasFileFeature::onActionTriggered(bool isChecked)
|
||||
std::vector<RimWellLogCurve*> curves = selectedWellLogPlotCurves();
|
||||
if (curves.size() == 0) return;
|
||||
|
||||
QString defaultDir = RiaApplication::instance()->defaultFileDialogDirectory("WELL_LOGS_DIR");
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
|
||||
QString projectFolder = app->currentProjectPath();
|
||||
QString defaultDir = RiaApplication::instance()->lastUsedDialogDirectoryWithFallback("WELL_LOGS_DIR", projectFolder);
|
||||
|
||||
RicExportToLasFileResampleUi featureUi;
|
||||
featureUi.exportFolder = defaultDir;
|
||||
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Export Curve Data to LAS file(s)", "", QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
propertyDialog.resize(QSize(350, 200));
|
||||
|
||||
if (propertyDialog.exec() == QDialog::Accepted &&
|
||||
!featureUi.exportFolder().isEmpty())
|
||||
@@ -69,7 +73,7 @@ void RicExportToLasFileFeature::onActionTriggered(bool isChecked)
|
||||
lasExporter.writeToFolder(featureUi.exportFolder());
|
||||
|
||||
// Remember the path to next time
|
||||
RiaApplication::instance()->setDefaultFileDialogDirectory("WELL_LOGS_DIR", featureUi.exportFolder());
|
||||
RiaApplication::instance()->setLastUsedDialogDirectory("WELL_LOGS_DIR", featureUi.exportFolder());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,10 +45,10 @@ void RicImportEclipseCaseFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
|
||||
QString defaultDir = app->defaultFileDialogDirectory("BINARY_GRID");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse File", defaultDir, "Eclipse Grid Files (*.GRID *.EGRID)");
|
||||
if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath();
|
||||
app->setDefaultFileDialogDirectory("BINARY_GRID", defaultDir);
|
||||
app->setLastUsedDialogDirectory("BINARY_GRID", defaultDir);
|
||||
|
||||
int i;
|
||||
for (i = 0; i < fileNames.size(); i++)
|
||||
|
||||
@@ -43,13 +43,13 @@ bool RicImportFormationNamesFeature::isCommandEnabled()
|
||||
void RicImportFormationNamesFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("BINARY_GRID");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Formation Names", defaultDir, "Formation Names description File (*.lyr);;All Files (*.*)");
|
||||
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("BINARY_GRID", QFileInfo(fileNames.last()).absolutePath());
|
||||
app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileNames.last()).absolutePath());
|
||||
|
||||
// Find or create the FomationNamesCollection
|
||||
|
||||
|
||||
@@ -44,13 +44,13 @@ bool RicImportInputEclipseCaseFeature::isCommandEnabled()
|
||||
void RicImportInputEclipseCaseFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse Input Files", defaultDir, "Eclipse Input Files and Input Properties Eclipse Input Files (*.GRDECL);;All Files (*.*)");
|
||||
|
||||
if (fileNames.isEmpty()) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath());
|
||||
app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath());
|
||||
|
||||
app->openInputEclipseCaseFromFileNames(fileNames);
|
||||
|
||||
|
||||
@@ -51,13 +51,13 @@ bool RicImportInputEclipseCaseOpmFeature::isCommandEnabled()
|
||||
void RicImportInputEclipseCaseOpmFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("INPUT_FILES");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES");
|
||||
QString fileName = QFileDialog::getOpenFileName(RiuMainWindow::instance(), "Import Eclipse Input file", defaultDir, "Eclipse Input Files (*.GRDECL);;All Files (*.*)");
|
||||
|
||||
if (fileName.isEmpty()) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("INPUT_FILES", QFileInfo(fileName).absolutePath());
|
||||
app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileName).absolutePath());
|
||||
|
||||
RimProject* proj = app->project();
|
||||
RimEclipseCaseCollection* analysisModels = proj->activeOilField() ? proj->activeOilField()->analysisModels() : NULL;
|
||||
|
||||
@@ -84,16 +84,9 @@ void RicSaveEclipseInputPropertyFeature::onActionTriggered(bool isChecked)
|
||||
if (!inputReservoir) return;
|
||||
|
||||
{
|
||||
QString projectFolder;
|
||||
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString projectFileName = app->currentProjectFileName();
|
||||
if (!projectFileName.isEmpty())
|
||||
{
|
||||
QFileInfo fi(projectFileName);
|
||||
projectFolder = fi.absolutePath();
|
||||
}
|
||||
else
|
||||
QString projectFolder = app->currentProjectPath();
|
||||
if (projectFolder.isEmpty())
|
||||
{
|
||||
projectFolder = inputReservoir->locationOnDisc();
|
||||
}
|
||||
|
||||
@@ -77,16 +77,9 @@ void RicSaveEclipseResultAsInputPropertyExec::redo()
|
||||
RimBinaryExportSettings exportSettings;
|
||||
exportSettings.eclipseKeyword = m_cellColors->resultVariable();
|
||||
{
|
||||
QString projectFolder;
|
||||
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString projectFileName = app->currentProjectFileName();
|
||||
if (!projectFileName.isEmpty())
|
||||
{
|
||||
QFileInfo fi(projectFileName);
|
||||
projectFolder = fi.absolutePath();
|
||||
}
|
||||
else
|
||||
QString projectFolder = app->currentProjectPath();
|
||||
if (projectFolder.isEmpty())
|
||||
{
|
||||
projectFolder = m_cellColors->reservoirView()->eclipseCase()->locationOnDisc();
|
||||
}
|
||||
|
||||
@@ -46,13 +46,13 @@ void RicWellLogsImportFileFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
// Open dialog box to select well path files
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("WELL_LOGS_DIR");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("WELL_LOGS_DIR");
|
||||
QStringList wellLogFilePaths = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Well Logs", defaultDir, "Well Logs (*.las);;All Files (*.*)");
|
||||
|
||||
if (wellLogFilePaths.size() < 1) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("WELL_LOGS_DIR", QFileInfo(wellLogFilePaths.last()).absolutePath());
|
||||
app->setLastUsedDialogDirectory("WELL_LOGS_DIR", QFileInfo(wellLogFilePaths.last()).absolutePath());
|
||||
|
||||
app->addWellLogsToModel(wellLogFilePaths);
|
||||
}
|
||||
|
||||
@@ -46,13 +46,13 @@ void RicWellPathsImportFileFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
// Open dialog box to select well path files
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("WELLPATH_DIR");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("WELLPATH_DIR");
|
||||
QStringList wellPathFilePaths = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Well Paths", defaultDir, "Well Paths (*.json *.asc *.asci *.ascii *.dev);;All Files (*.*)");
|
||||
|
||||
if (wellPathFilePaths.size() < 1) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath());
|
||||
app->setLastUsedDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath());
|
||||
|
||||
app->addWellPathsToModel(wellPathFilePaths);
|
||||
if (app->project())
|
||||
|
||||
@@ -840,10 +840,10 @@ void RiuMainWindow::slotImportGeoMechModel()
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
|
||||
QString defaultDir = app->defaultFileDialogDirectory("GEOMECH_MODEL");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("GEOMECH_MODEL");
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(this, "Import Geo-Mechanical Model", defaultDir, "Abaqus results (*.odb)");
|
||||
if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath();
|
||||
app->setDefaultFileDialogDirectory("GEOMECH_MODEL", defaultDir);
|
||||
app->setLastUsedDialogDirectory("GEOMECH_MODEL", defaultDir);
|
||||
|
||||
int i;
|
||||
for (i = 0; i < fileNames.size(); i++)
|
||||
@@ -870,13 +870,13 @@ void RiuMainWindow::slotOpenProject()
|
||||
if (checkForDocumentModifications())
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->defaultFileDialogDirectory("BINARY_GRID");
|
||||
QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID");
|
||||
QString fileName = QFileDialog::getOpenFileName(this, "Open ResInsight Project", defaultDir, "ResInsight project (*.rsp *.rip);;All files(*.*)");
|
||||
|
||||
if (fileName.isEmpty()) return;
|
||||
|
||||
// Remember the path to next time
|
||||
app->setDefaultFileDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath());
|
||||
app->setLastUsedDialogDirectory("BINARY_GRID", QFileInfo(fileName).absolutePath());
|
||||
|
||||
if (app->loadProject(fileName))
|
||||
{
|
||||
|
||||
@@ -102,7 +102,7 @@ RiuMultiCaseImportDialog::~RiuMultiCaseImportDialog()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMultiCaseImportDialog::on_m_addSearchFolderButton_clicked()
|
||||
{
|
||||
QString selectedFolder = QFileDialog::getExistingDirectory(this, "Select an Eclipse case search folder", RiaApplication::instance()->defaultFileDialogDirectory("MULTICASEIMPORT"));
|
||||
QString selectedFolder = QFileDialog::getExistingDirectory(this, "Select an Eclipse case search folder", RiaApplication::instance()->lastUsedDialogDirectory("MULTICASEIMPORT"));
|
||||
QStringList folderNames = m_searchFolders->stringList();
|
||||
|
||||
if (!folderNames.contains(selectedFolder))
|
||||
@@ -112,7 +112,7 @@ void RiuMultiCaseImportDialog::on_m_addSearchFolderButton_clicked()
|
||||
updateGridFileList();
|
||||
}
|
||||
|
||||
RiaApplication::instance()->setDefaultFileDialogDirectory("MULTICASEIMPORT", selectedFolder);
|
||||
RiaApplication::instance()->setLastUsedDialogDirectory("MULTICASEIMPORT", selectedFolder);
|
||||
|
||||
QPushButton* okButton = ui->m_dialogButtons->button(QDialogButtonBox::Ok);
|
||||
if (okButton)
|
||||
|
||||
Reference in New Issue
Block a user