diff --git a/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.h b/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.h --- a/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.h +++ b/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.h @@ -22,18 +22,24 @@ #include "kis_curve_option_widget.h" - +class QCheckBox; class PAINTOP_EXPORT KisPressureSpacingOptionWidget : public KisCurveOptionWidget { Q_OBJECT public: KisPressureSpacingOptionWidget(); + void readOptionSetting(const KisPropertiesConfigurationSP setting) override; + private Q_SLOTS: void setIsotropicSpacing(int isotropic); void setUseSpacingUpdates(int useSpacingUpdates); + +private: + QCheckBox *m_isotropicSpacing; + QCheckBox *m_useSpacingUpdates; }; #endif // KIS_PRESSURE_SPACING_OPTION_WIDGET_H diff --git a/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.cpp b/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.cpp --- a/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.cpp +++ b/plugins/paintops/libpaintop/kis_pressure_spacing_option_widget.cpp @@ -34,12 +34,12 @@ KisPressureSpacingOptionWidget::KisPressureSpacingOptionWidget(): KisCurveOptionWidget(new KisPressureSpacingOption(), i18n("0%"), i18n("100%")) { - QCheckBox *isotropicSpacing = new QCheckBox(i18n("Isotropic Spacing")); - QCheckBox *useSpacingUpdates = new QCheckBox(i18n("Update Between Dabs")); + m_isotropicSpacing = new QCheckBox(i18n("Isotropic Spacing")); + m_useSpacingUpdates = new QCheckBox(i18n("Update Between Dabs")); QHBoxLayout *hl = new QHBoxLayout; - hl->addWidget(isotropicSpacing); - hl->addWidget(useSpacingUpdates); + hl->addWidget(m_isotropicSpacing); + hl->addWidget(m_useSpacingUpdates); QVBoxLayout *vl = new QVBoxLayout; vl->setMargin(0); @@ -51,14 +51,24 @@ KisCurveOptionWidget::setConfigurationPage(w); - connect(isotropicSpacing, SIGNAL(stateChanged(int)), + connect(m_isotropicSpacing, SIGNAL(stateChanged(int)), this, SLOT(setIsotropicSpacing(int))); - connect(useSpacingUpdates, SIGNAL(stateChanged(int)), + connect(m_useSpacingUpdates, SIGNAL(stateChanged(int)), this, SLOT(setUseSpacingUpdates(int))); setIsotropicSpacing(false); } +void KisPressureSpacingOptionWidget::readOptionSetting(const KisPropertiesConfigurationSP setting) +{ + // First invoke superclass behavior. + KisCurveOptionWidget::readOptionSetting(setting); + + KisPressureSpacingOption *option = dynamic_cast(curveOption()); + m_isotropicSpacing->setChecked(option->isotropicSpacing()); + m_useSpacingUpdates->setChecked(option->usingSpacingUpdates()); +} + void KisPressureSpacingOptionWidget::setIsotropicSpacing(int isotropic) { dynamic_cast(KisCurveOptionWidget::curveOption())->setIsotropicSpacing(isotropic);