added msr-working-directory

This commit is contained in:
nemu 2009-04-30 06:08:38 +00:00
parent c837ceac97
commit c196c66b4e
3 changed files with 16 additions and 7 deletions

View File

@ -35,7 +35,7 @@
/** /**
* <p> * <p>
*/ */
PFitOutputHandler::PFitOutputHandler(QValueVector<QString> &cmd) PFitOutputHandler::PFitOutputHandler(QString workingDirectory, QValueVector<QString> &cmd)
{ {
if (cmd.empty()) if (cmd.empty())
return; return;
@ -55,6 +55,8 @@ PFitOutputHandler::PFitOutputHandler(QValueVector<QString> &cmd)
// QProcess related code // QProcess related code
proc = new QProcess( this ); proc = new QProcess( this );
proc->setWorkingDirectory(workingDirectory);
// Set up the command and arguments. // Set up the command and arguments.
for (unsigned int i=0; i<cmd.size(); i++) for (unsigned int i=0; i<cmd.size(); i++)
proc->addArgument(cmd[i]); proc->addArgument(cmd[i]);
@ -67,7 +69,7 @@ PFitOutputHandler::PFitOutputHandler(QValueVector<QString> &cmd)
// error handling // error handling
QMessageBox::critical( 0, QMessageBox::critical( 0,
tr("Fatal error"), tr("Fatal error"),
tr("Could not start the musrfit command: "+cmd[0]), tr("Could not execute the output command: "+cmd[0]),
tr("Quit") ); tr("Quit") );
done(0); done(0);
} }

View File

@ -48,7 +48,7 @@ class PFitOutputHandler : public QDialog
Q_OBJECT Q_OBJECT
public: public:
PFitOutputHandler(QValueVector<QString> &cmd); PFitOutputHandler(QString workingDirectory, QValueVector<QString> &cmd);
~PFitOutputHandler() {} ~PFitOutputHandler() {}
public slots: public slots:

View File

@ -350,19 +350,23 @@ void PTextEdit::load( const QString &f )
{ {
if ( !QFile::exists( f ) ) if ( !QFile::exists( f ) )
return; return;
PSubTextEdit *edit = new PSubTextEdit( fAdmin ); PSubTextEdit *edit = new PSubTextEdit( fAdmin );
edit->setTextFormat( PlainText ); edit->setTextFormat( PlainText );
edit->setFamily("Courier"); edit->setFamily("Courier");
edit->setPointSize(11); // 11pt edit->setPointSize(11); // 11pt
edit->setFont(QFont("Courier", 11)); edit->setFont(QFont("Courier", 11));
fTabWidget->addTab( edit, QFileInfo( f ).fileName() ); fTabWidget->addTab( edit, QFileInfo( f ).fileName() );
QFile file( f ); QFile file( f );
if ( !file.open( IO_ReadOnly ) ) if ( !file.open( IO_ReadOnly ) )
return; return;
QTextStream ts( &file ); QTextStream ts( &file );
QString txt = ts.read(); QString txt = ts.read();
edit->setText( txt ); edit->setText( txt );
doConnections( edit ); doConnections( edit );
fTabWidget->showPage( edit ); fTabWidget->showPage( edit );
edit->viewport()->setFocus(); edit->viewport()->setFocus();
fFilenames.replace( edit, f ); fFilenames.replace( edit, f );
@ -374,8 +378,10 @@ void PTextEdit::load( const QString &f )
*/ */
PSubTextEdit *PTextEdit::currentEditor() const PSubTextEdit *PTextEdit::currentEditor() const
{ {
if ( fTabWidget->currentPage() && fTabWidget->currentPage()->inherits( "PSubTextEdit" ) ) if ( fTabWidget->currentPage() && fTabWidget->currentPage()->inherits( "PSubTextEdit" ) ) {
return (PSubTextEdit*)fTabWidget->currentPage(); return (PSubTextEdit*)fTabWidget->currentPage();
}
return 0; return 0;
} }
@ -897,7 +903,7 @@ void PTextEdit::musrCalcChisq()
cmd.append(str); cmd.append(str);
cmd.append(*fFilenames.find( currentEditor())); cmd.append(*fFilenames.find( currentEditor()));
cmd.append("--chisq-only"); cmd.append("--chisq-only");
PFitOutputHandler fitOutputHandler(cmd); PFitOutputHandler fitOutputHandler(QFileInfo(fFilenames[currentEditor()]).dirPath(), cmd);
fitOutputHandler.setModal(true); fitOutputHandler.setModal(true);
fitOutputHandler.exec(); fitOutputHandler.exec();
} }
@ -946,7 +952,7 @@ void PTextEdit::musrFit()
break; break;
} }
PFitOutputHandler fitOutputHandler(cmd); PFitOutputHandler fitOutputHandler(QFileInfo(fFilenames[currentEditor()]).dirPath(), cmd);
fitOutputHandler.setModal(true); fitOutputHandler.setModal(true);
fitOutputHandler.exec(); fitOutputHandler.exec();
@ -1079,6 +1085,7 @@ void PTextEdit::musrMsr2Data()
// form command // form command
QValueVector<QString> cmd; QValueVector<QString> cmd;
str = fAdmin->getExecPath() + "/msr2data"; str = fAdmin->getExecPath() + "/msr2data";
cmd.append(str); cmd.append(str);
@ -1175,7 +1182,7 @@ for (unsigned int i=0; i<cmd.size(); i++) {
cout << endl; cout << endl;
*/ */
PFitOutputHandler fitOutputHandler(cmd); PFitOutputHandler fitOutputHandler(QFileInfo(fFilenames[currentEditor()]).dirPath(), cmd);
fitOutputHandler.setModal(true); fitOutputHandler.setModal(true);
fitOutputHandler.exec(); fitOutputHandler.exec();
} }