mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Import SEG-Y files by converting to VDS (#10175)
* Add seg-y import GUI
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "cafPdmFieldCapability.h"
|
||||
|
||||
#include <QProcess>
|
||||
#include <QProcessEnvironment>
|
||||
|
||||
// Disable deprecation warning for QProcess::start()
|
||||
#ifdef _MSC_VER
|
||||
@@ -133,7 +134,7 @@ int RimProcess::ID() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimProcess::execute()
|
||||
bool RimProcess::execute( bool enableStdOut, bool enableStdErr )
|
||||
{
|
||||
QProcess* proc = new QProcess();
|
||||
QString cmd = commandLine();
|
||||
@@ -141,11 +142,19 @@ bool RimProcess::execute()
|
||||
RiaLogging::info( QString( "Start process %1: %2" ).arg( m_id ).arg( cmd ) );
|
||||
|
||||
QObject::connect( proc, SIGNAL( finished( int, QProcess::ExitStatus ) ), m_monitor, SLOT( finished( int, QProcess::ExitStatus ) ) );
|
||||
QObject::connect( proc, SIGNAL( readyReadStandardOutput() ), m_monitor, SLOT( readyReadStandardOutput() ) );
|
||||
QObject::connect( proc, SIGNAL( readyReadStandardError() ), m_monitor, SLOT( readyReadStandardError() ) );
|
||||
if ( enableStdOut ) QObject::connect( proc, SIGNAL( readyReadStandardOutput() ), m_monitor, SLOT( readyReadStandardOutput() ) );
|
||||
if ( enableStdErr ) QObject::connect( proc, SIGNAL( readyReadStandardError() ), m_monitor, SLOT( readyReadStandardError() ) );
|
||||
QObject::connect( proc, SIGNAL( started() ), m_monitor, SLOT( started() ) );
|
||||
|
||||
bool retval = false;
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
for ( auto& [key, val] : m_environmentVariables )
|
||||
{
|
||||
env.insert( key, val );
|
||||
}
|
||||
proc->setProcessEnvironment( env );
|
||||
|
||||
proc->start( cmd );
|
||||
if ( proc->waitForStarted( -1 ) )
|
||||
{
|
||||
@@ -218,3 +227,11 @@ QString RimProcess::handleSpaces( QString arg ) const
|
||||
}
|
||||
return arg;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimProcess::addEnvironmentVariable( QString name, QString value )
|
||||
{
|
||||
m_environmentVariables.push_back( std::make_pair( name, value ) );
|
||||
}
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
class RimProcessMonitor;
|
||||
|
||||
class RimProcess : public caf::PdmObject
|
||||
@@ -39,13 +42,15 @@ public:
|
||||
void addParameter( QString paramStr );
|
||||
void setParameters( QStringList parameterList );
|
||||
|
||||
void addEnvironmentVariable( QString name, QString value );
|
||||
|
||||
QString commandLine() const;
|
||||
|
||||
QString command() const;
|
||||
QStringList parameters() const;
|
||||
int ID() const;
|
||||
|
||||
bool execute();
|
||||
bool execute( bool enableStdOut = true, bool enableStdErr = true );
|
||||
|
||||
protected:
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
@@ -59,6 +64,8 @@ private:
|
||||
caf::PdmField<QString> m_description;
|
||||
caf::PdmField<int> m_id;
|
||||
|
||||
std::vector<std::pair<QString, QString>> m_environmentVariables;
|
||||
|
||||
static int m_nextProcessId;
|
||||
RimProcessMonitor* m_monitor;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user