diff --git a/src/core/tandem_run/tandembatchprocess.cpp b/src/core/tandem_run/tandembatchprocess.cpp index f2c3142b97aec1209c0a944c7335748b77629d63..3af8d5fc7312ce3d338832185f1ad40f66b70e96 100644 --- a/src/core/tandem_run/tandembatchprocess.cpp +++ b/src/core/tandem_run/tandembatchprocess.cpp @@ -23,9 +23,6 @@ * You should have received a copy of the GNU General Public License * along with XTPcpp. If not, see <http://www.gnu.org/licenses/>. * - * Contributors: - * Olivier Langella <olivier.langella@u-psud.fr> - initial API and - *implementation ******************************************************************************/ #include "tandembatchprocess.h" @@ -132,6 +129,28 @@ TandemBatchProcess::run() { qDebug() << "TandemBatchProcess::run begin " << _tandem_run_batch._preset_file; + + + // check tandem path + QFileInfo tandem_exe(_tandem_run_batch._tandem_bin_path); + if(!tandem_exe.exists()) + { + // dir.path() returns the unique directory path + throw pappso::PappsoException( + QObject::tr( + "X!Tandem software not found at %1.\nPlease check the X!Tandem " + "installation on your computer and set tandem.exe path.") + .arg(tandem_exe.absoluteFilePath())); + } + if(!tandem_exe.isReadable()) + { + // dir.path() returns the unique directory path + throw pappso::PappsoException( + QObject::tr("Please check permissions on !Tandem software found at %1.") + .arg(tandem_exe.absoluteFilePath())); + } + + QTemporaryDir tmp_dir; if(!tmp_dir.isValid()) { @@ -262,6 +281,8 @@ TandemBatchProcess::writeXmlInputFile(QXmlStreamWriter *p_out, void TandemBatchProcess::runOne(const QString &mz_file) { + + QTemporaryFile xml_input_file; xml_input_file.setAutoRemove(true); if(xml_input_file.open()) diff --git a/src/core/tandem_run/tandembatchprocess.h b/src/core/tandem_run/tandembatchprocess.h index beb8b13fa31c1d737788c10f075b296d42ce5f9e..0c1029745885e06a449f13565567f6beb1f04769 100644 --- a/src/core/tandem_run/tandembatchprocess.h +++ b/src/core/tandem_run/tandembatchprocess.h @@ -23,13 +23,9 @@ * You should have received a copy of the GNU General Public License * along with XTPcpp. If not, see <http://www.gnu.org/licenses/>. * - * Contributors: - * Olivier Langella <olivier.langella@u-psud.fr> - initial API and - *implementation ******************************************************************************/ -#ifndef TANDEMBATCHPROCESS_H -#define TANDEMBATCHPROCESS_H +#pragma once #include "tandemrunbatch.h" #include "../../utils/workmonitor.h" #include <QTemporaryFile> @@ -65,5 +61,3 @@ class TandemBatchProcess QTemporaryFile _tmp_database_file; MainWindow *_p_main_window = nullptr; }; - -#endif // TANDEMBATCHPROCESS_H