diff --git a/src/musrgui/PFitOutputHandler.cpp b/src/musrgui/PFitOutputHandler.cpp
index 341c2609..939e3ba9 100644
--- a/src/musrgui/PFitOutputHandler.cpp
+++ b/src/musrgui/PFitOutputHandler.cpp
@@ -35,7 +35,7 @@
/**
*
*/
-PFitOutputHandler::PFitOutputHandler(QValueVector &cmd)
+PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QValueVector &cmd)
{
if (cmd.empty())
return;
@@ -55,6 +55,8 @@ PFitOutputHandler::PFitOutputHandler(QValueVector &cmd)
// QProcess related code
proc = new QProcess( this );
+ proc->setWorkingDirectory(workingDirectory);
+
// Set up the command and arguments.
for (unsigned int i=0; iaddArgument(cmd[i]);
@@ -67,7 +69,7 @@ PFitOutputHandler::PFitOutputHandler(QValueVector &cmd)
// error handling
QMessageBox::critical( 0,
tr("Fatal error"),
- tr("Could not start the musrfit command: "+cmd[0]),
+ tr("Could not execute the output command: "+cmd[0]),
tr("Quit") );
done(0);
}
diff --git a/src/musrgui/PFitOutputHandler.h b/src/musrgui/PFitOutputHandler.h
index acc4f95f..a7c7934f 100644
--- a/src/musrgui/PFitOutputHandler.h
+++ b/src/musrgui/PFitOutputHandler.h
@@ -48,7 +48,7 @@ class PFitOutputHandler : public QDialog
Q_OBJECT
public:
- PFitOutputHandler(QValueVector &cmd);
+ PFitOutputHandler(QString workingDirectory, QValueVector &cmd);
~PFitOutputHandler() {}
public slots:
diff --git a/src/musrgui/PTextEdit.cpp b/src/musrgui/PTextEdit.cpp
index cdbd4aa2..40177d6c 100644
--- a/src/musrgui/PTextEdit.cpp
+++ b/src/musrgui/PTextEdit.cpp
@@ -350,19 +350,23 @@ void PTextEdit::load( const QString &f )
{
if ( !QFile::exists( f ) )
return;
+
PSubTextEdit *edit = new PSubTextEdit( fAdmin );
edit->setTextFormat( PlainText );
edit->setFamily("Courier");
edit->setPointSize(11); // 11pt
edit->setFont(QFont("Courier", 11));
+
fTabWidget->addTab( edit, QFileInfo( f ).fileName() );
QFile file( f );
if ( !file.open( IO_ReadOnly ) )
return;
+
QTextStream ts( &file );
QString txt = ts.read();
edit->setText( txt );
doConnections( edit );
+
fTabWidget->showPage( edit );
edit->viewport()->setFocus();
fFilenames.replace( edit, f );
@@ -374,8 +378,10 @@ void PTextEdit::load( const QString &f )
*/
PSubTextEdit *PTextEdit::currentEditor() const
{
- if ( fTabWidget->currentPage() && fTabWidget->currentPage()->inherits( "PSubTextEdit" ) )
+ if ( fTabWidget->currentPage() && fTabWidget->currentPage()->inherits( "PSubTextEdit" ) ) {
return (PSubTextEdit*)fTabWidget->currentPage();
+ }
+
return 0;
}
@@ -897,7 +903,7 @@ void PTextEdit::musrCalcChisq()
cmd.append(str);
cmd.append(*fFilenames.find( currentEditor()));
cmd.append("--chisq-only");
- PFitOutputHandler fitOutputHandler(cmd);
+ PFitOutputHandler fitOutputHandler(QFileInfo(fFilenames[currentEditor()]).dirPath(), cmd);
fitOutputHandler.setModal(true);
fitOutputHandler.exec();
}
@@ -946,7 +952,7 @@ void PTextEdit::musrFit()
break;
}
- PFitOutputHandler fitOutputHandler(cmd);
+ PFitOutputHandler fitOutputHandler(QFileInfo(fFilenames[currentEditor()]).dirPath(), cmd);
fitOutputHandler.setModal(true);
fitOutputHandler.exec();
@@ -1079,6 +1085,7 @@ void PTextEdit::musrMsr2Data()
// form command
QValueVector cmd;
+
str = fAdmin->getExecPath() + "/msr2data";
cmd.append(str);
@@ -1175,7 +1182,7 @@ for (unsigned int i=0; i