From deed7fc20f93a1d6bbc4b7fe7b43e4569890b19c Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 21 Jul 2014 20:23:56 +0200 Subject: [PATCH] Curve index is correctly resetted when its type is changed --- companion/src/helpers.cpp | 24 +++++++++++++++++++++++- companion/src/helpers.h | 1 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index 0ee27fabf..8263f8035 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -216,7 +216,7 @@ CurveGroup::CurveGroup(QComboBox *curveTypeCB, QCheckBox *curveGVarCB, QComboBox curveValueCB->setMaxVisibleItems(10); - connect(curveTypeCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); + connect(curveTypeCB, SIGNAL(currentIndexChanged(int)), this, SLOT(typeChanged(int))); connect(curveGVarCB, SIGNAL(stateChanged(int)), this, SLOT(gvarCBChanged(int))); connect(curveValueCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); connect(curveValueSB, SIGNAL(editingFinished()), this, SLOT(valuesChanged())); @@ -300,6 +300,28 @@ void CurveGroup::gvarCBChanged(int state) } } +void CurveGroup::typeChanged(int value) +{ + if (!lock) { + switch (value) { + case 0: + curve = CurveReference(CurveReference::CURVE_REF_DIFF, 0); + break; + case 1: + curve = CurveReference(CurveReference::CURVE_REF_EXPO, 0); + break; + case 2: + curve = CurveReference(CurveReference::CURVE_REF_FUNC, 0); + break; + case 3: + curve = CurveReference(CurveReference::CURVE_REF_CUSTOM, 0); + break; + } + + update(); + } +} + void CurveGroup::valuesChanged() { if (!lock) { diff --git a/companion/src/helpers.h b/companion/src/helpers.h index 2da96aa42..9f735870a 100644 --- a/companion/src/helpers.h +++ b/companion/src/helpers.h @@ -67,6 +67,7 @@ class CurveGroup : public QObject { protected slots: void gvarCBChanged(int); + void typeChanged(int); void valuesChanged(); protected: