diff --git a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp index 6bb7b87e0e..b326a68f38 100644 --- a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp @@ -380,22 +380,28 @@ void TaskDressUpParameters::hideOnError() showObject(); } -void TaskDressUpParameters::hideObject() +void TaskDressUpParameters::setDressUpVisibility(bool visible) { App::DocumentObject* base = getBase(); - if(base) { - DressUpView->getObject()->Visibility.setValue(false); - base->Visibility.setValue(true); + if (base) { + App::DocumentObject* duv = DressUpView->getObject(); + if (duv->Visibility.getValue() != visible) { + duv->Visibility.setValue(visible); + } + if (base->Visibility.getValue() == visible) { + base->Visibility.setValue(!visible); + } } } +void TaskDressUpParameters::hideObject() +{ + setDressUpVisibility(false); +} + void TaskDressUpParameters::showObject() { - App::DocumentObject* base = getBase(); - if (base) { - DressUpView->getObject()->Visibility.setValue(true); - base->Visibility.setValue(false); - } + setDressUpVisibility(true); } ViewProviderDressUp* TaskDressUpParameters::getDressUpView() const diff --git a/src/Mod/PartDesign/Gui/TaskDressUpParameters.h b/src/Mod/PartDesign/Gui/TaskDressUpParameters.h index 9220f2395c..d5a338415d 100644 --- a/src/Mod/PartDesign/Gui/TaskDressUpParameters.h +++ b/src/Mod/PartDesign/Gui/TaskDressUpParameters.h @@ -104,6 +104,7 @@ protected: private: void tryAddSelection(const std::string& doc, const std::string& obj, const std::string& sub); + void setDressUpVisibility(bool visible); protected: QWidget* proxy; diff --git a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp index a26f18f179..59a348635f 100644 --- a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp @@ -186,11 +186,10 @@ void TaskExtrudeParameters::setupDialog() ui->listWidgetReferences->addAction(unselectShapeFaceAction); ui->listWidgetReferences->setContextMenuPolicy(Qt::ActionsContextMenu); + ui->checkBoxAllFaces->setChecked(ui->listWidgetReferences->count() == 0); connectSlots(); - ui->checkBoxAllFaces->setChecked(ui->listWidgetReferences->count() == 0); - this->propReferenceAxis = &(extrude->ReferenceAxis); // Due to signals attached after changes took took into effect we should update the UI now.