[Part] Fix string encoding for document name and object name

This commit is contained in:
Syres916
2025-11-20 20:04:48 +00:00
committed by GitHub
parent 83c01fae68
commit 76071ffbeb

View File

@@ -72,7 +72,7 @@ QString getAutoGroupCommandStr(QString objectName)
"part"
);
if (activePart) {
QString activeObjectName = QString::fromLatin1(activePart->getNameInDocument());
QString activeObjectName = QString::fromUtf8(activePart->getNameInDocument());
return QStringLiteral(
"App.ActiveDocument.getObject('%1\')."
"addObject(App.ActiveDocument.getObject('%2\'))\n"
@@ -131,7 +131,7 @@ void Picker::createPrimitive(QWidget* widget, const QString& descr, Gui::Documen
// Execute the Python block
doc->openCommand(descr.toUtf8());
Gui::Command::runCommand(Gui::Command::Doc, cmd.toLatin1());
Gui::Command::runCommand(Gui::Command::Doc, cmd.toUtf8());
doc->commitCommand();
Gui::Command::runCommand(Gui::Command::Doc, "App.ActiveDocument.recompute()");
Gui::Command::runCommand(Gui::Command::Gui, "Gui.SendMsgToActiveView(\"ViewFit\")");
@@ -189,7 +189,7 @@ public:
Handle(Geom_TrimmedCurve) trim = arc.Value();
Handle(Geom_Circle) circle = Handle(Geom_Circle)::DownCast(trim->BasisCurve());
QString name = QString::fromLatin1(doc->getUniqueObjectName("Circle").c_str());
QString name = QString::fromUtf8(doc->getUniqueObjectName("Circle").c_str());
return QStringLiteral(
"App.ActiveDocument.addObject(\"Part::Circle\",\"%1\")\n"
"App.ActiveDocument.%1.Radius=%2\n"
@@ -2301,7 +2301,7 @@ void DlgPrimitives::tryCreatePrimitive(const QString& placement)
}
std::shared_ptr<AbstractPrimitive> primitive = getPrimitive(ui->PrimitiveTypeCB->currentIndex());
name = QString::fromLatin1(doc->getUniqueObjectName(primitive->getDefaultName()).c_str());
name = QString::fromUtf8(doc->getUniqueObjectName(primitive->getDefaultName()).c_str());
cmd = primitive->create(name, placement);
// Execute the Python block
@@ -2340,8 +2340,8 @@ void DlgPrimitives::acceptChanges(const QString& placement)
App::Document* doc = featurePtr->getDocument();
QString objectName = QStringLiteral("App.getDocument(\"%1\").%2")
.arg(
QString::fromLatin1(doc->getName()),
QString::fromLatin1(featurePtr->getNameInDocument())
QString::fromUtf8(doc->getName()),
QString::fromUtf8(featurePtr->getNameInDocument())
);
// read values from the properties