From c196c66b4ef5c0261b173750e377ff7d1646da6f Mon Sep 17 00:00:00 2001 From: nemu Date: Thu, 30 Apr 2009 06:08:38 +0000 Subject: [PATCH] added msr-working-directory --- src/musrgui/PFitOutputHandler.cpp | 6 ++++-- src/musrgui/PFitOutputHandler.h | 2 +- src/musrgui/PTextEdit.cpp | 15 +++++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) 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