From fbd34a9c449f8c0bb7284ef0e1f177826ea6ab2b Mon Sep 17 00:00:00 2001 From: Anthony Lim <anthony.lim@stfc.ac.uk> Date: Mon, 9 Jul 2018 11:45:36 +0100 Subject: [PATCH] refs #22824 add check to multi fit label in muon analysis --- qt/widgets/common/src/MuonFitDataSelector.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/qt/widgets/common/src/MuonFitDataSelector.cpp b/qt/widgets/common/src/MuonFitDataSelector.cpp index e65920d8130..5bf45b9dcb8 100644 --- a/qt/widgets/common/src/MuonFitDataSelector.cpp +++ b/qt/widgets/common/src/MuonFitDataSelector.cpp @@ -356,7 +356,24 @@ QString MuonFitDataSelector::getSimultaneousFitLabel() const { * @param label :: [input] Text to set as label */ void MuonFitDataSelector::setSimultaneousFitLabel(const QString &label) { - m_ui.txtSimFitLabel->setText(label); + //do some checks that it is valid + auto safeLabel = label.toStdString(); + auto index = safeLabel.find(".nxs"); + if ( index != std::string::npos) { + safeLabel = safeLabel.substr(0, index); + } + index = safeLabel.find_last_of("\\"); + if (index != std::string::npos) { + safeLabel = safeLabel.substr(index+1 ,safeLabel.size()); + //need to remove instrument name and leading zeros + index = safeLabel.find_last_of("0"); + safeLabel = safeLabel.substr(index, safeLabel.size()); + while (safeLabel.front() == '0') { + safeLabel = safeLabel.substr(1, safeLabel.size()); + + } + } + m_ui.txtSimFitLabel->setText(QString::fromStdString(safeLabel)); } /** -- GitLab