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