diff --git a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h index 3867d63b39adee2f2c58e22d567d0cbbb7a42d33..e058ae08ba15ee6c412b0a0f9cd177fde3d8b9f3 100644 --- a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h +++ b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h @@ -147,6 +147,8 @@ public: double rebinningPulsesTime() const override; + void setfittingRunNo(QString path); + virtual std::string fittingRunNo() const override; virtual std::string fittingPeaksData() const override; @@ -154,6 +156,8 @@ public: virtual void setDataVector(std::vector<boost::shared_ptr<QwtData>> &data, bool focused); + void bankFullDir(QString path); + std::string readPeaksFile(std::string fileDir); void dataCurvesFactory(std::vector<boost::shared_ptr<QwtData>> &data, diff --git a/MantidQt/CustomInterfaces/src/EnggDiffraction/EnggDiffractionViewQtGUI.cpp b/MantidQt/CustomInterfaces/src/EnggDiffraction/EnggDiffractionViewQtGUI.cpp index 9447c5047aa92a2a2d8750217e966734617d4091..b3e6bee67c3188114a36c2acc838d2013e2fcb51 100644 --- a/MantidQt/CustomInterfaces/src/EnggDiffraction/EnggDiffractionViewQtGUI.cpp +++ b/MantidQt/CustomInterfaces/src/EnggDiffraction/EnggDiffractionViewQtGUI.cpp @@ -671,23 +671,48 @@ double EnggDiffractionViewQtGUI::rebinningPulsesTime() const { } /// shahroz -QString EnggDiffractionViewQtGUI::bankFullDir(int bank, QString path) { +void EnggDiffractionViewQtGUI::bankFullDir(QString path) { // m_bank_Id QString rPath; std::string dir = path.toStdString(); Poco::Path fpath(dir); - auto fileName = fpath.getFileName(); + std::string bank1Dir; + std::string bank2Dir; if (fpath.isFile()) { + auto fileName = fpath.getFileName(); + + if (fileName.find("bank_1") != std::string::npos && m_bank_Id == 0) { + bank1Dir = path; + } + else { + std::string genDir = fileName.substr(0, fileName.size() - 5); + Poco::Path bankFile(genDir + "1.nxs"); + if(bankFile.isFile()) { + bank1Dir = genDir + "1.nxs"; + } + } + + if (fileName.find("bank_2") != std::string::npos && m_bank_Id == 1) { + bank2Dir = path; + } + else { + std::string genDir = fileName.substr(0, fileName.size() - 5); + Poco::Path bankFile(genDir + "2.nxs"); + if (bankFile.isFile()) { + bank2Dir = bankFile.toString(); + } + + } + + if (m_bank_Id == 0) { + setfittingRunNo(QString::fromUtf8(bank1Dir.c_str())); + } + else if (m_bank_Id == 1) { + setfittingRunNo(QString::fromUtf8(bank2Dir.c_str())); + } - if (fileName.find("bank_1") != std::string::npos && (m_bank_Id == 0)) - return path; - - else if (fileName.find("bank_2") != std::string::npos && (m_bank_Id == 1)) - return path; - else - return rPath; } @@ -1079,14 +1104,16 @@ void EnggDiffractionViewQtGUI::browseFitFocusedRun() { QFileDialog::getOpenFileName(this, tr("Open Focused File "), prevPath, QString::fromStdString(nexusFormat))); - auto newPath = bankFullDir(2, path); + if (path.isEmpty()) { return; } - MantidQt::API::AlgorithmInputHistory::Instance().setPreviousDirectory(newPath); - m_uiTabFitting.lineEdit_pushButton_run_num->setText(newPath); + bankFullDir(path); + + MantidQt::API::AlgorithmInputHistory::Instance().setPreviousDirectory(path); + } void EnggDiffractionViewQtGUI::browsePeaksToFit() { @@ -1244,8 +1271,13 @@ void EnggDiffractionViewQtGUI::setBankIdComboBox(int idx) { bankName->setCurrentIndex(idx); } +/// shahroz +void EnggDiffractionViewQtGUI::setfittingRunNo(QString path) { + m_uiTabFitting.lineEdit_pushButton_run_num->setText(path); +} + std::string EnggDiffractionViewQtGUI::fittingRunNo() const { - return m_uiTabFitting.lineEdit_pushButton_run_num->text().toStdString(); + return m_uiTabFitting.lineEdit_pushButton_run_num->text().toStdString(); } std::string EnggDiffractionViewQtGUI::fittingPeaksData() const {