From dd31be3b19ec3bcf8401957e1ef2224629ff8417 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 3 Mar 2021 10:32:46 +0100 Subject: [PATCH] PD: improve task panel for polar patterns: * set range of Occurrences property to spin box * connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies --- src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp | 11 +++++++---- src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 50f5b99e77..2fa8f63e01 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -103,7 +103,7 @@ TaskPolarPatternParameters::TaskPolarPatternParameters(TaskMultiTransformParamet setupUI(); } -void TaskPolarPatternParameters::setupUI() +void TaskPolarPatternParameters::connectSignals() { connect(ui->buttonAddFeature, SIGNAL(toggled(bool)), this, SLOT(onButtonAddFeature(bool))); connect(ui->buttonRemoveFeature, SIGNAL(toggled(bool)), this, SLOT(onButtonRemoveFeature(bool))); @@ -121,9 +121,6 @@ void TaskPolarPatternParameters::setupUI() connect(ui->listWidgetFeatures->model(), SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)), this, SLOT(indexesMoved())); - ui->spinOccurrences->setMaximum(INT_MAX); - ui->spinOccurrences->setMinimum(1); - updateViewTimer = new QTimer(this); updateViewTimer->setSingleShot(true); updateViewTimer->setInterval(getUpdateViewTimeout()); @@ -140,7 +137,10 @@ void TaskPolarPatternParameters::setupUI() this, SLOT(onOccurrences(uint))); connect(ui->checkBoxUpdateView, SIGNAL(toggled(bool)), this, SLOT(onUpdateView(bool))); +} +void TaskPolarPatternParameters::setupUI() +{ // Get the feature data PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); std::vector originals = pcPolarPattern->Originals.getValues(); @@ -159,6 +159,8 @@ void TaskPolarPatternParameters::setupUI() ui->polarAngle->bind(pcPolarPattern->Angle); ui->spinOccurrences->bind(pcPolarPattern->Occurrences); + ui->spinOccurrences->setMaximum(pcPolarPattern->Occurrences.getMaximum()); + ui->spinOccurrences->setMinimum(pcPolarPattern->Occurrences.getMinimum()); ui->comboAxis->setEnabled(true); ui->checkReverse->setEnabled(true); @@ -189,6 +191,7 @@ void TaskPolarPatternParameters::setupUI() } updateUI(); + connectSignals(); } void TaskPolarPatternParameters::updateUI() diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h index d9864cee4a..e3388d770f 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h @@ -82,6 +82,7 @@ protected: unsigned getOccurrences(void) const; private: + void connectSignals(); void setupUI(); void updateUI(); void kickUpdateViewTimer() const;