From a106f55ebeeae5d82d360959d2f797e1a0542f54 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 11 Jun 2022 21:00:15 +0200 Subject: [PATCH] PD: show object label instead of internal name in shape binder dialog --- src/Mod/PartDesign/Gui/TaskShapeBinder.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp index c443b4302c..b7618a7746 100644 --- a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp +++ b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp @@ -84,7 +84,7 @@ TaskShapeBinder::TaskShapeBinder(ViewProviderShapeBinder* view, bool /*newObj*/, PartDesign::ShapeBinder::getFilteredReferences(&static_cast(vp->getObject())->Support, obj, subs); if (obj) - ui->baseEdit->setText(QString::fromUtf8(obj->getNameInDocument())); + ui->baseEdit->setText(QString::fromStdString(obj->Label.getStrValue())); for (auto sub : subs) ui->listWidgetReferences->addItem(QString::fromStdString(sub)); @@ -109,6 +109,13 @@ void TaskShapeBinder::updateUI() void TaskShapeBinder::onSelectionChanged(const Gui::SelectionChanges& msg) { + auto setObjectLabel = [=](const Gui::SelectionChanges& msg) { + App::DocumentObject* obj = msg.Object.getObject(); + if (obj) { + ui->baseEdit->setText(QString::fromStdString(obj->Label.getStrValue())); + } + }; + if (selectionMode == none) return; @@ -119,7 +126,7 @@ void TaskShapeBinder::onSelectionChanged(const Gui::SelectionChanges& msg) if (!sub.isEmpty()) ui->listWidgetReferences->addItem(QString::fromStdString(msg.pSubName)); - ui->baseEdit->setText(QString::fromStdString(msg.pObjectName)); + setObjectLabel(msg); } else if (selectionMode == refRemove) { QString sub = QString::fromStdString(msg.pSubName); @@ -131,7 +138,7 @@ void TaskShapeBinder::onSelectionChanged(const Gui::SelectionChanges& msg) } else if (selectionMode == refObjAdd) { ui->listWidgetReferences->clear(); - ui->baseEdit->setText(QString::fromUtf8(msg.pObjectName)); + setObjectLabel(msg); } clearButtons(); static_cast(vp)->highlightReferences(false, false);