summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets/tempolabel.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2010-11-07 23:45:24 +0000
committerTim E. Real <termtech@rogers.com>2010-11-07 23:45:24 +0000
commit0fd9f3ae6d36777d6d3aac2d6d6c19f3f61dd769 (patch)
treed57c1dc7b180133af1a4d76eb073c69107a3bdec /muse2/muse/widgets/tempolabel.cpp
parent990e587a24686c77f63b9f7d280e3d16ac9d7626 (diff)
Conversion of TempoEdit class to QT4. Displays proper doubles now.
Diffstat (limited to 'muse2/muse/widgets/tempolabel.cpp')
-rw-r--r--muse2/muse/widgets/tempolabel.cpp61
1 files changed, 29 insertions, 32 deletions
diff --git a/muse2/muse/widgets/tempolabel.cpp b/muse2/muse/widgets/tempolabel.cpp
index 35f75b09..25a3176a 100644
--- a/muse2/muse/widgets/tempolabel.cpp
+++ b/muse2/muse/widgets/tempolabel.cpp
@@ -5,9 +5,8 @@
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
//=========================================================
-#include <qapplication.h>
-#include <qstyle.h>
-#include <qvalidator.h>
+#include <QApplication>
+#include <QStyle>
//Added by qt3to4:
#include <QLabel>
#include "tempolabel.h"
@@ -63,14 +62,13 @@ QSize TempoLabel::sizeHint() const
// TempoSpinBox
//---------------------------------------------------------
-TempoEdit::TempoEdit(QWidget* parent, const char* name)
- : QSpinBox(parent, name)
+TempoEdit::TempoEdit(QWidget* parent)
+ : QDoubleSpinBox(parent)
{
- setLineStep(100);
- setMaxValue(60000);
- setMinValue(3000);
- //setValidator(new QDoubleValidator(this)); ddskrjo
- connect(this, SIGNAL(valueChanged(int)), SLOT(tempoChanged(int)));
+ curVal = -1.0;
+ setSingleStep(1.0);
+ setRange(30.0, 600.0);
+ connect(this, SIGNAL(valueChanged(double)), SLOT(newValue(double)));
}
//---------------------------------------------------------
@@ -80,47 +78,46 @@ TempoEdit::TempoEdit(QWidget* parent, const char* name)
QSize TempoEdit::sizeHint() const
{
QFontMetrics fm(font());
- int fw = style()->pixelMetric(QStyle::PM_DefaultFrameWidth,0, this); // ddskrjo
+ int fw = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
int h = fm.height() + fw * 2;
int w = 2 + fm.width(QString("000.00")) + fw * 4 + 30;
return QSize(w, h).expandedTo(QApplication::globalStrut());
}
//---------------------------------------------------------
-// mapValueToText
+// tempoChanged
//---------------------------------------------------------
-QString TempoEdit::mapValueToText(int val)
+void TempoEdit::newValue(double val)
{
- double v = val / 100.0;
- return QString("%1").arg(v, 3, 'f', 2);
+ if (val != curVal) {
+ curVal = val;
+ emit tempoChanged(curVal);
+ }
}
//---------------------------------------------------------
-// mapTextToValue
+// setValue
//---------------------------------------------------------
-int TempoEdit::mapTextToValue(bool* ok)
+void TempoEdit::setValue(double val)
{
- double v = text().toDouble(ok);
- return int(v * 100);
+ if (val != curVal) {
+ curVal = val;
+ blockSignals(true);
+ QDoubleSpinBox::setValue(val);
+ blockSignals(false);
+ }
}
-//---------------------------------------------------------
-// tempoChanged
-//---------------------------------------------------------
-
-void TempoEdit::tempoChanged(int val)
- {
- emit valueChanged(double(val)/100.0);
- }
//---------------------------------------------------------
-// setValue
+// tempo
//---------------------------------------------------------
-void TempoEdit::setValue(double val)
- {
- QSpinBox::setValue(int(val*100));
- }
+//int TempoEdit::tempo() const
+// {
+// return lrint(60000000.0/value());
+// }
+