Mat: Tmp. block signals of material widget

Fixes #17523
This commit is contained in:
wmayer
2024-10-30 01:06:12 +01:00
parent 4f323f9580
commit 98e7dd94c5
2 changed files with 20 additions and 20 deletions

View File

@@ -165,16 +165,10 @@ DlgDisplayPropertiesImp::DlgDisplayPropertiesImp(bool floating, QWidget* parent,
// that contain the basic render model.
setupFilters();
std::vector<Gui::ViewProvider*> views = getSelection();
setDisplayModes(views);
setColorPlot(views);
setShapeAppearance(views);
setLineColor(views);
setPointColor(views);
setPointSize(views);
setLineWidth(views);
setTransparency(views);
setLineTransparency(views);
{
QSignalBlocker block(d->ui.widgetMaterial);
setPropertiesFromSelection();
}
// embed this dialog into a dockable widget container
if (floating) {
@@ -297,6 +291,20 @@ void DlgDisplayPropertiesImp::changeEvent(QEvent* e)
QDialog::changeEvent(e);
}
void DlgDisplayPropertiesImp::setPropertiesFromSelection()
{
std::vector<Gui::ViewProvider*> views = getSelection();
setDisplayModes(views);
setColorPlot(views);
setShapeAppearance(views);
setLineColor(views);
setPointColor(views);
setPointSize(views);
setLineWidth(views);
setTransparency(views);
setLineTransparency(views);
}
/// @cond DOXERR
void DlgDisplayPropertiesImp::OnChange(Gui::SelectionSingleton::SubjectType& rCaller,
Gui::SelectionSingleton::MessageType Reason)
@@ -306,16 +314,7 @@ void DlgDisplayPropertiesImp::OnChange(Gui::SelectionSingleton::SubjectType& rCa
|| Reason.Type == Gui::SelectionChanges::RmvSelection
|| Reason.Type == Gui::SelectionChanges::SetSelection
|| Reason.Type == Gui::SelectionChanges::ClrSelection) {
std::vector<Gui::ViewProvider*> views = getSelection();
setDisplayModes(views);
setColorPlot(views);
setShapeAppearance(views);
setLineColor(views);
setPointColor(views);
setPointSize(views);
setLineWidth(views);
setTransparency(views);
setLineTransparency(views);
setPropertiesFromSelection();
}
}
/// @endcond

View File

@@ -96,6 +96,7 @@ private:
void setTransparency(const std::vector<Gui::ViewProvider*>&);
void setLineTransparency(const std::vector<Gui::ViewProvider*>&);
std::vector<Gui::ViewProvider*> getSelection() const;
void setPropertiesFromSelection();
private:
class Private;