diff options
author | Robert Jonsson <spamatica@gmail.com> | 2011-10-05 20:52:49 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2011-10-05 20:52:49 +0000 |
commit | b936d9e9af142158c01d984d4fc9c47717148a35 (patch) | |
tree | 518fd224c6f9d4d13c173aa5883349db3ce5b133 /muse2/awl/sigspinbox.cpp | |
parent | ad507206af844ea5f9ca0b89726a92e159fc9c8c (diff) |
more SigEdit
Diffstat (limited to 'muse2/awl/sigspinbox.cpp')
-rw-r--r-- | muse2/awl/sigspinbox.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/muse2/awl/sigspinbox.cpp b/muse2/awl/sigspinbox.cpp index 3f1bf1f4..5ee98bc9 100644 --- a/muse2/awl/sigspinbox.cpp +++ b/muse2/awl/sigspinbox.cpp @@ -1,10 +1,12 @@ #include "sigspinbox.h" +#include "al/sig.h" #include <QKeyEvent> #include <stdio.h> SigSpinBox::SigSpinBox(QWidget *parent) : QSpinBox(parent) { + _denominator=false; } void SigSpinBox::keyPressEvent(QKeyEvent*ev) { @@ -17,8 +19,36 @@ void SigSpinBox::keyPressEvent(QKeyEvent*ev) 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; } QSpinBox::keyPressEvent(ev); } + +void SigSpinBox::setDenominator() +{ + _denominator=true; +} |