From 42039e7f7f215f6008829d8c6be591c998f1228c Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Thu, 6 Oct 2011 19:59:32 +0000 Subject: more SigEdit --- muse2/awl/sigedit.cpp | 7 +------ muse2/awl/sigspinbox.cpp | 47 +++++++++++++++++++++++++---------------------- muse2/awl/sigspinbox.h | 1 + 3 files changed, 27 insertions(+), 28 deletions(-) (limited to 'muse2/awl') diff --git a/muse2/awl/sigedit.cpp b/muse2/awl/sigedit.cpp index ecfa4551..d3685a53 100644 --- a/muse2/awl/sigedit.cpp +++ b/muse2/awl/sigedit.cpp @@ -96,12 +96,7 @@ void SigEdit::moveFocus() void SigEdit::setZ(const int z) { _sig.z=z; - if (_sig.isValid()) { - zSpin->setStyleSheet(""); - emit valueChanged(_sig); - } - else - zSpin->setStyleSheet("QSpinBox { background-color: red; }"); + emit valueChanged(_sig); } //--------------------------------------------------------- // setN diff --git a/muse2/awl/sigspinbox.cpp b/muse2/awl/sigspinbox.cpp index 5ee98bc9..6e38b164 100644 --- a/muse2/awl/sigspinbox.cpp +++ b/muse2/awl/sigspinbox.cpp @@ -13,34 +13,13 @@ void SigSpinBox::keyPressEvent(QKeyEvent*ev) switch (ev->key()) { case Qt::Key_Return: emit returnPressed(); + return; break; case Qt::Key_Left: case Qt::Key_Right: case Qt::Key_Slash: emit moveFocus(); - break; - case Qt::Key_Up: - if (_denominator) { - // make sure that sig is valid then increase - AL::TimeSignature sig(4,value()); - if (sig.isValid()) - setValue(value()*2); - return; - } - break; - case Qt::Key_Down: - if (_denominator) { - // make sure that sig is valid then increase - AL::TimeSignature sig(4,value()); - if (sig.isValid()) { - int v = value()/2; - if (v<2) - v=2; - setValue(v); - return; - } return; - } break; default: break; @@ -52,3 +31,27 @@ void SigSpinBox::setDenominator() { _denominator=true; } + +void SigSpinBox::stepBy(int step) +{ + if (!_denominator) { + setValue(value() + step); + return; + } + + AL::TimeSignature sig(4, value()); + if (step == 1) { + // make sure that sig is valid then increase + if (sig.isValid()) + setValue(value() * 2); + } + else if (step == -1) { + // make sure that sig is valid then increase + if (sig.isValid()) { + int v = value() / 2; + if (v < 2) + v = 2; + setValue(v); + } + } +} diff --git a/muse2/awl/sigspinbox.h b/muse2/awl/sigspinbox.h index 2465bdf2..92fd1cbc 100644 --- a/muse2/awl/sigspinbox.h +++ b/muse2/awl/sigspinbox.h @@ -9,6 +9,7 @@ class SigSpinBox : public QSpinBox bool _denominator; protected: virtual void keyPressEvent(QKeyEvent*); + virtual void stepBy(int); public: explicit SigSpinBox(QWidget *parent = 0); void setDenominator(); -- cgit v1.2.3