summaryrefslogtreecommitdiffstats
path: root/pokemodr/FractionWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/FractionWidget.cpp')
-rw-r--r--pokemodr/FractionWidget.cpp28
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));
}