]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/ModuleBase/ModuleBase_WidgetLineEdit.cpp
Salome HOME
Issue #3237: Allow usage of accented characters in ObjectBrowser
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetLineEdit.cpp
index 70d19c65db39e63b71dd633a8ea04444f6b74148..a2025b6f598667a4f5a42c38dc5ef7adac80aac4 100644 (file)
@@ -21,6 +21,8 @@
 #include <ModuleBase_Tools.h>
 #include <ModuleBase_IconFactory.h>
 
+#include <Locale_Convert.h>
+
 #include <ModelAPI_AttributeString.h>
 #include <ModelAPI_Data.h>
 #include <ModelAPI_Object.h>
@@ -124,7 +126,7 @@ bool ModuleBase_WidgetLineEdit::storeValueCustom()
   DataPtr aData = myFeature->data();
   AttributeStringPtr aStringAttr = aData->string(attributeID());
   QString aWidgetValue = myLineEdit->text();
-  aStringAttr->setValue(aWidgetValue.toStdString());
+  aStringAttr->setValue(aWidgetValue.toStdWString());
   updateObject(myFeature);
   return true;
 }
@@ -138,7 +140,12 @@ bool ModuleBase_WidgetLineEdit::restoreValueCustom()
   AttributeStringPtr aStringAttr = aData->string(attributeID());
 
   bool isBlocked = myLineEdit->blockSignals(true);
-  myLineEdit->setText(QString::fromStdString(aStringAttr->value()));
+  QString aText;
+  if (aStringAttr->isUValue())
+    aText = QString::fromStdWString(Locale::Convert::toWString(aStringAttr->valueU()));
+  else
+    aText = QString::fromStdString(aStringAttr->value());
+  myLineEdit->setText(aText);
   myLineEdit->blockSignals(isBlocked);
 
   return true;