Hi,
I replaced QSpinBox controls with QDoubleSpinBox in interface preferences
and made some changes in enginebuffer.cpp, so that rate slider range won't
affect the temp/perm values.
Cheers,
Martin
Index: src/dlgprefcontrols.h
===================================================================
--- src/dlgprefcontrols.h (revision 2211)
+++ src/dlgprefcontrols.h (working copy)
@@ -40,10 +40,10 @@
void slotUpdate();
void slotSetRateRange(int pos);
void slotSetRateDir(int pos);
- void slotSetRateTempLeft(int);
- void slotSetRateTempRight(int);
- void slotSetRatePermLeft(int);
- void slotSetRatePermRight(int);
+ void slotSetRateTempLeft(double);
+ void slotSetRateTempRight(double);
+ void slotSetRatePermLeft(double);
+ void slotSetRatePermRight(double);
void slotSetVisuals(int pos);
void slotSetScaleBpm(int pos);
void slotSetTooltips(int pos);
Index: src/dlgprefcontrols.cpp
===================================================================
--- src/dlgprefcontrols.cpp (revision 2211)
+++ src/dlgprefcontrols.cpp (working copy)
@@ -18,7 +18,7 @@
#include <QList>
#include <QDir>
#include <QToolTip>
-#include <QSpinBox>
+#include <QDoubleSpinBox>
#include <QWidget>
#include "dlgprefcontrols.h"
@@ -96,23 +96,23 @@
// Rate buttons configuration
//
if (m_pConfig->getValueString(ConfigKey("[Controls]","RateTempLeft")).length() == 0)
- m_pConfig->set(ConfigKey("[Controls]","RateTempLeft"),ConfigValue(400));
+ m_pConfig->set(ConfigKey("[Controls]","RateTempLeft"),ConfigValue(QString("4.0")));
if (m_pConfig->getValueString(ConfigKey("[Controls]","RateTempRight")).length() == 0)
- m_pConfig->set(ConfigKey("[Controls]","RateTempRight"),ConfigValue(200));
+ m_pConfig->set(ConfigKey("[Controls]","RateTempRight"),ConfigValue(QString("2.0")));
if (m_pConfig->getValueString(ConfigKey("[Controls]","RatePermLeft")).length() == 0)
- m_pConfig->set(ConfigKey("[Controls]","RatePermLeft"),ConfigValue(10));
+ m_pConfig->set(ConfigKey("[Controls]","RatePermLeft"),ConfigValue(QString("1.0")));
if (m_pConfig->getValueString(ConfigKey("[Controls]","RatePermRight")).length() == 0)
- m_pConfig->set(ConfigKey("[Controls]","RatePermRight"),ConfigValue(10));
+ m_pConfig->set(ConfigKey("[Controls]","RatePermRight"),ConfigValue(QString("1.0")));
- connect(spinBoxTempRateLeft, SIGNAL(valueChanged(int)), this, SLOT(slotSetRateTempLeft(int)));
- connect(spinBoxTempRateRight, SIGNAL(valueChanged(int)), this, SLOT(slotSetRateTempRight(int)));
- connect(spinBoxPermRateLeft, SIGNAL(valueChanged(int)), this, SLOT(slotSetRatePermLeft(int)));
- connect(spinBoxPermRateRight, SIGNAL(valueChanged(int)), this, SLOT(slotSetRatePermRight(int)));
+ connect(spinBoxTempRateLeft, SIGNAL(valueChanged(double)), this, SLOT(slotSetRateTempLeft(double)));
+ connect(spinBoxTempRateRight, SIGNAL(valueChanged(double)), this, SLOT(slotSetRateTempRight(double)));
+ connect(spinBoxPermRateLeft, SIGNAL(valueChanged(double)), this, SLOT(slotSetRatePermLeft(double)));
+ connect(spinBoxPermRateRight, SIGNAL(valueChanged(double)), this, SLOT(slotSetRatePermRight(double)));
- spinBoxTempRateLeft->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RateTempLeft")).toInt());
- spinBoxTempRateRight->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RateTempRight")).toInt());
- spinBoxPermRateLeft->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RatePermLeft")).toInt());
- spinBoxPermRateRight->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RatePermRight")).toInt());
+ spinBoxTempRateLeft->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RateTempLeft")).toDouble());
+ spinBoxTempRateRight->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RateTempRight")).toDouble());
+ spinBoxPermRateLeft->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RatePermLeft")).toDouble());
+ spinBoxPermRateRight->setValue(m_pConfig->getValueString(ConfigKey("[Controls]","RatePermRight")).toDouble());
//
@@ -406,28 +406,36 @@
}
}
-void DlgPrefControls::slotSetRateTempLeft(int v)
+void DlgPrefControls::slotSetRateTempLeft(double v)
{
- m_pConfig->set(ConfigKey("[Controls]","RateTempLeft"),ConfigValue(v));
- EngineBuffer::setTemp(v/1000.);
+ QString str;
+ str = str.setNum(v, 'f', 1);
+ m_pConfig->set(ConfigKey("[Controls]","RateTempLeft"),ConfigValue(str));
+ EngineBuffer::setTemp(v);
}
-void DlgPrefControls::slotSetRateTempRight(int v)
+void DlgPrefControls::slotSetRateTempRight(double v)
{
- m_pConfig->set(ConfigKey("[Controls]","RateTempRight"),ConfigValue(v));
- EngineBuffer::setTempSmall(v/1000.);
+ QString str;
+ str = str.setNum(v, 'f', 1);
+ m_pConfig->set(ConfigKey("[Controls]","RateTempRight"),ConfigValue(str));
+ EngineBuffer::setTempSmall(v);
}
-void DlgPrefControls::slotSetRatePermLeft(int v)
+void DlgPrefControls::slotSetRatePermLeft(double v)
{
- m_pConfig->set(ConfigKey("[Controls]","RatePermLeft"),ConfigValue(v));
- EngineBuffer::setPerm(v/1000.);
+ QString str;
+ str = str.setNum(v, 'f', 1);
+ m_pConfig->set(ConfigKey("[Controls]","RatePermLeft"),ConfigValue(str));
+ EngineBuffer::setPerm(v);
}
-void DlgPrefControls::slotSetRatePermRight(int v)
+void DlgPrefControls::slotSetRatePermRight(double v)
{
- m_pConfig->set(ConfigKey("[Controls]","RatePermRight"),ConfigValue(v));
- EngineBuffer::setPermSmall(v/1000.);
+ QString str;
+ str = str.setNum(v, 'f', 1);
+ m_pConfig->set(ConfigKey("[Controls]","RatePermRight"),ConfigValue(str));
+ EngineBuffer::setPermSmall(v);
}
void DlgPrefControls::slotApply()
Index: src/dlgprefcontrolsdlg.ui
===================================================================
--- src/dlgprefcontrolsdlg.ui (revision 2211)
+++ src/dlgprefcontrolsdlg.ui (working copy)
@@ -353,16 +353,25 @@
</widget>
</item>
<item row="1" column="1" >
- <widget class="QSpinBox" name="spinBoxTempRateLeft" >
+ <widget class="QDoubleSpinBox" name="spinBoxTempRateLeft" >
<property name="toolTip" >
<string>Temporary rate change (between 1 and 8000) when left clicking</string>
</property>
- <property name="minimum" >
+ <property name="accelerated" >
+ <bool>true</bool>
+ </property>
+ <property name="decimals" >
<number>1</number>
</property>
+ <property name="minimum" >
+ <double>0.100000000000000</double>
+ </property>
<property name="maximum" >
- <number>8000</number>
+ <double>10.000000000000000</double>
</property>
+ <property name="singleStep" >
+ <double>0.100000000000000</double>
+ </property>
</widget>
</item>
<item row="1" column="3" >
@@ -382,16 +391,25 @@
</widget>
</item>
<item row="1" column="4" >
- <widget class="QSpinBox" name="spinBoxPermRateLeft" >
+ <widget class="QDoubleSpinBox" name="spinBoxPermRateLeft" >
<property name="toolTip" >
<string>Permanent rate change (between 1 and 8000) when left clicking</string>
</property>
- <property name="minimum" >
+ <property name="accelerated" >
+ <bool>true</bool>
+ </property>
+ <property name="decimals" >
<number>1</number>
</property>
+ <property name="minimum" >
+ <double>0.100000000000000</double>
+ </property>
<property name="maximum" >
- <number>8000</number>
+ <double>10.000000000000000</double>
</property>
+ <property name="singleStep" >
+ <double>0.100000000000000</double>
+ </property>
</widget>
</item>
<item row="2" column="0" >
@@ -411,16 +429,25 @@
</widget>
</item>
<item row="2" column="1" >
- <widget class="QSpinBox" name="spinBoxTempRateRight" >
+ <widget class="QDoubleSpinBox" name="spinBoxTempRateRight" >
<property name="toolTip" >
<string>Temporary rate change (between 1 and 8000) when right clicking</string>
</property>
- <property name="minimum" >
+ <property name="accelerated" >
+ <bool>true</bool>
+ </property>
+ <property name="decimals" >
<number>1</number>
</property>
+ <property name="minimum" >
+ <double>0.100000000000000</double>
+ </property>
<property name="maximum" >
- <number>8000</number>
+ <double>10.000000000000000</double>
</property>
+ <property name="singleStep" >
+ <double>0.100000000000000</double>
+ </property>
</widget>
</item>
<item row="2" column="3" >
@@ -440,16 +467,25 @@
</widget>
</item>
<item row="2" column="4" >
- <widget class="QSpinBox" name="spinBoxPermRateRight" >
+ <widget class="QDoubleSpinBox" name="spinBoxPermRateRight" >
<property name="toolTip" >
<string>Permanent rate change (between 1 and 8000) when right clicking</string>
</property>
- <property name="minimum" >
+ <property name="accelerated" >
+ <bool>true</bool>
+ </property>
+ <property name="decimals" >
<number>1</number>
</property>
+ <property name="minimum" >
+ <double>0.100000000000000</double>
+ </property>
<property name="maximum" >
- <number>8000</number>
+ <double>10.000000000000000</double>
</property>
+ <property name="singleStep" >
+ <double>0.100000000000000</double>
+ </property>
</widget>
</item>
<item row="3" column="0" >
@@ -457,7 +493,7 @@
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>40</height>
Index: src/enginebuffer.cpp
===================================================================
--- src/enginebuffer.cpp (revision 2211)
+++ src/enginebuffer.cpp (working copy)
@@ -595,28 +595,28 @@
{
// Adjusts temp rate down if button pressed
if (buttonRatePermDown->get())
- rateSlider->sub(m_dPerm * m_pRateDir->get());
+ rateSlider->sub(m_pRateDir->get() * m_dPerm / (100. * m_pRateRange->get()));
}
void EngineBuffer::slotControlRatePermDownSmall(double)
{
// Adjusts temp rate down if button pressed
if (buttonRatePermDownSmall->get())
- rateSlider->sub(m_dPermSmall * m_pRateDir->get());
+ rateSlider->sub(m_pRateDir->get() * m_dPermSmall / (100. * m_pRateRange->get()));
}
void EngineBuffer::slotControlRatePermUp(double)
{
// Adjusts temp rate up if button pressed
if (buttonRatePermUp->get())
- rateSlider->add(m_dPerm * m_pRateDir->get());
+ rateSlider->add(m_pRateDir->get() * m_dPerm / (100. * m_pRateRange->get()));
}
void EngineBuffer::slotControlRatePermUpSmall(double)
{
// Adjusts temp rate up if button pressed
if (buttonRatePermUpSmall->get())
- rateSlider->add(m_dPermSmall * m_pRateDir->get());
+ rateSlider->add(m_pRateDir->get() * m_dPermSmall / (100. * m_pRateRange->get()));
}
void EngineBuffer::slotControlRateTempDown(double)
@@ -626,7 +626,7 @@
{
m_bTempPress = true;
m_dOldRate = rateSlider->get();
- rateSlider->sub(m_dTemp * m_pRateDir->get());
+ rateSlider->sub(m_pRateDir->get() * m_dTemp / (100. * m_pRateRange->get()));
}
else if (!buttonRateTempDown->get())
{
@@ -642,7 +642,7 @@
{
m_bTempPress = true;
m_dOldRate = rateSlider->get();
- rateSlider->sub(m_dTempSmall * m_pRateDir->get());
+ rateSlider->sub(m_pRateDir->get() * m_dTempSmall / (100. * m_pRateRange->get()));
}
else if (!buttonRateTempDownSmall->get())
{
@@ -658,7 +658,7 @@
{
m_bTempPress = true;
m_dOldRate = rateSlider->get();
- rateSlider->add(m_dTemp * m_pRateDir->get());
+ rateSlider->add(m_pRateDir->get() * m_dTemp / (100. * m_pRateRange->get()));
}
else if (!buttonRateTempUp->get())
{
@@ -674,7 +674,7 @@
{
m_bTempPress = true;
m_dOldRate = rateSlider->get();
- rateSlider->add(m_dTempSmall * m_pRateDir->get());
+ rateSlider->add(m_pRateDir->get() * m_dTempSmall / (100. * m_pRateRange->get()));
}
else if (!buttonRateTempUpSmall->get())
{
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel