PD: Avoid touching the document when opening pad or pocket dialog

This commit is contained in:
wmayer
2024-10-19 00:57:49 +02:00
committed by wwmayer
parent d795acc378
commit 92e96839c9
3 changed files with 17 additions and 11 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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.