#3483 SetExportFolder : Add support for creating folders

This commit is contained in:
Magne Sjaastad 2018-10-10 11:52:58 +02:00
parent bb2ada26b9
commit b461b2f6e0
2 changed files with 32 additions and 11 deletions

View File

@ -1,4 +1,3 @@
#include "RicfSetExportFolder.h"
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2017 Statoil ASA // Copyright (C) 2017 Statoil ASA
@ -20,6 +19,9 @@
#include "RicfSetExportFolder.h" #include "RicfSetExportFolder.h"
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RiaLogging.h"
#include <QDir>
CAF_PDM_SOURCE_INIT(RicfSetExportFolder, "setExportFolder"); CAF_PDM_SOURCE_INIT(RicfSetExportFolder, "setExportFolder");
@ -28,8 +30,11 @@ CAF_PDM_SOURCE_INIT(RicfSetExportFolder, "setExportFolder");
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicfSetExportFolder::RicfSetExportFolder() RicfSetExportFolder::RicfSetExportFolder()
{ {
// clang-format off
RICF_InitField(&m_type, "type", RicfCommandFileExecutor::ExportTypeEnum(RicfCommandFileExecutor::COMPLETIONS), "Type", "", "", ""); RICF_InitField(&m_type, "type", RicfCommandFileExecutor::ExportTypeEnum(RicfCommandFileExecutor::COMPLETIONS), "Type", "", "", "");
RICF_InitField(&m_path, "path", QString(), "Path", "", "", ""); RICF_InitField(&m_path, "path", QString(), "Path", "", "", "");
RICF_InitField(&m_createFolder, "createFolder", false, "Create Folder", "", "", "");
// clang-format on
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -37,6 +42,21 @@ RicfSetExportFolder::RicfSetExportFolder()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicfSetExportFolder::execute() void RicfSetExportFolder::execute()
{ {
if (m_createFolder)
{
QDir dir;
if (!dir.exists(m_path))
{
dir.mkdir(m_path);
if (!dir.exists(m_path))
{
RiaLogging::error("Could not create folder : " + m_path);
}
}
}
RicfCommandFileExecutor* executor = RicfCommandFileExecutor::instance(); RicfCommandFileExecutor* executor = RicfCommandFileExecutor::instance();
executor->setExportPath(m_type(), m_path); executor->setExportPath(m_type(), m_path);
} }

View File

@ -41,4 +41,5 @@ public:
private: private:
caf::PdmField<RicfCommandFileExecutor::ExportTypeEnum> m_type; caf::PdmField<RicfCommandFileExecutor::ExportTypeEnum> m_type;
caf::PdmField<QString> m_path; caf::PdmField<QString> m_path;
caf::PdmField<bool> m_createFolder;
}; };