diff options
Diffstat (limited to 'pokemodr/FractionWidget.cpp')
| -rw-r--r-- | pokemodr/FractionWidget.cpp | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/pokemodr/FractionWidget.cpp b/pokemodr/FractionWidget.cpp index c1e818ec..371af316 100644 --- a/pokemodr/FractionWidget.cpp +++ b/pokemodr/FractionWidget.cpp @@ -19,8 +19,7 @@ #include "FractionWidget.h" FractionWidget::FractionWidget(QWidget* parent, const Fraction& value) : - QWidget(parent), - m_behavior(-1) + QWidget(parent) { setupUi(this); connect(this, SIGNAL(valueChanged(const Fraction&)), SLOT(updateValue())); @@ -40,9 +39,6 @@ Fraction FractionWidget::value() const void FractionWidget::setBehavior(const int behavior) { m_behavior = behavior; - m_value = Fraction(1, 1); - varDenominator->setValue(1); - varNumerator->setValue(1); emit(valueChanged(m_value)); } @@ -53,36 +49,34 @@ void FractionWidget::setValue(const Fraction& value) m_value = value; varDenominator->setValue(m_value.denominator()); varNumerator->setValue(m_value.numerator()); - if (0 < m_behavior) - { + if (-1 < m_behavior) varNumerator->setMaximum(INT_MAX); - varDenominator->setMaximum(m_value.numerator()); - } else - { varNumerator->setMaximum(m_value.denominator()); + if (m_behavior < 1) varDenominator->setMaximum(INT_MAX); - } + else + varDenominator->setMaximum(m_value.numerator()); emit(valueChanged(m_value)); } void FractionWidget::on_varNumerator_valueChanged(const int numerator) { m_value.setNumerator(numerator); - if (0 < m_behavior) - varDenominator->setMaximum(numerator); - else + if (m_behavior < 1) varDenominator->setMaximum(INT_MAX); + else + varDenominator->setMaximum(m_value.numerator()); emit(valueChanged(m_value)); } void FractionWidget::on_varDenominator_valueChanged(const int denominator) { m_value.setDenominator(denominator); - if (m_behavior < 0) - varNumerator->setMaximum(denominator); - else + if (-1 < m_behavior) varNumerator->setMaximum(INT_MAX); + else + varNumerator->setMaximum(m_value.denominator()); emit(valueChanged(m_value)); } |
