Animation speed is a value, not a boolean

This breaks compatibility with old preferences, but it's a single
key and not that very important so I don't think it's a bigger issue
I've renamed prefs.animation to prefs.animation_speed to denote
that it's a value, and not a state.

Also, fixed the places that were treating it as a state (on/off)
to treat it like a correct value.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-07-21 19:10:31 -03:00 committed by Dirk Hohndel
parent 82bcb1767c
commit 65eefe7b59
6 changed files with 18 additions and 18 deletions

2
pref.h
View file

@ -35,7 +35,7 @@ struct preferences {
short calcndltts;
short gflow;
short gfhigh;
bool animation;
int animation_speed;
bool gf_low_at_maxdepth;
short display_invalid_dives;
short unit_system;

View file

@ -103,7 +103,7 @@ void PreferencesDialog::setUiFromPrefs()
ui.show_average_depth->setChecked(prefs.show_average_depth);
ui.vertical_speed_minutes->setChecked(prefs.units.vertical_speed_time == units::MINUTES);
ui.vertical_speed_seconds->setChecked(prefs.units.vertical_speed_time == units::SECONDS);
ui.velocitySlider->setValue(prefs.animation);
ui.velocitySlider->setValue(prefs.animation_speed);
QSortFilterProxyModel *filterModel = new QSortFilterProxyModel();
filterModel->setSourceModel(LanguageModel::instance());
@ -344,7 +344,7 @@ void PreferencesDialog::loadSettings()
s.endGroup();
s.beginGroup("Animations");
GET_INT("animation_speed", animation);
GET_INT("animation_speed", animation_speed);
s.endGroup();
s.beginGroup("Network");

View file

@ -122,14 +122,14 @@ int PrintLayout::estimateTotalDives() const
void PrintLayout::printProfileDives(int divesPerRow, int divesPerColumn)
{
int i, row = 0, col = 0, printed = 0, total = estimateTotalDives();
bool animationOriginal = prefs.animation;
int animationOriginal = prefs.animation_speed;
struct dive *dive;
if (!total)
return;
// disable animations on the profile:
prefs.animation = false;
prefs.animation_speed = 0;
// setup a painter
QPainter painter;
@ -223,7 +223,7 @@ void PrintLayout::printProfileDives(int divesPerRow, int divesPerColumn)
// we need to force a redraw of the profile so it switches back from print mode
profile->plotDive(0, true);
// re-enable animations
prefs.animation = animationOriginal;
prefs.animation_speed = animationOriginal;
}
/* we create a table that has a fixed height, but can stretch to fit certain width */

View file

@ -8,7 +8,7 @@ namespace Animations {
void hide(QObject *obj)
{
if (prefs.animation != 0) {
if (prefs.animation_speed != 0) {
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
animation->setStartValue(1);
animation->setEndValue(0);
@ -20,7 +20,7 @@ namespace Animations {
void animDelete(QObject *obj)
{
if (prefs.animation != 0) {
if (prefs.animation_speed != 0) {
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
obj->connect(animation, SIGNAL(finished()), SLOT(deleteLater()));
animation->setStartValue(1);
@ -33,9 +33,9 @@ namespace Animations {
void moveTo(QObject *obj, qreal x, qreal y)
{
if (prefs.animation != 0) {
if (prefs.animation_speed != 0) {
QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos");
animation->setDuration(prefs.animation);
animation->setDuration(prefs.animation_speed);
animation->setStartValue(obj->property("pos").toPointF());
animation->setEndValue(QPointF(x, y));
animation->start(QAbstractAnimation::DeleteWhenStopped);
@ -46,9 +46,9 @@ namespace Animations {
void scaleTo(QObject *obj, qreal scale)
{
if (prefs.animation != 0) {
if (prefs.animation_speed != 0) {
QPropertyAnimation *animation = new QPropertyAnimation(obj, "scale");
animation->setDuration(prefs.animation);
animation->setDuration(prefs.animation_speed);
animation->setStartValue(obj->property("scale").toReal());
animation->setEndValue(QVariant::fromValue(scale));
animation->setEasingCurve(QEasingCurve::InCubic);

View file

@ -386,10 +386,10 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
}
// special handling for the first time we display things
int animSpeedBackup = -1;
int animSpeedBackup = 0;
if (firstCall && MainWindow::instance()->filesFromCommandLine()) {
animSpeedBackup = prefs.animation;
prefs.animation = 0;
animSpeedBackup = prefs.animation_speed;
prefs.animation_speed = 0;
firstCall = false;
}
@ -518,8 +518,8 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
if ((nr = number_of_computers(&displayed_dive)) > 1)
dcText += tr(" (#%1 of %2)").arg(dc_number + 1).arg(nr);
diveComputerText->setText(dcText);
if (MainWindow::instance()->filesFromCommandLine() && animSpeedBackup != -1) {
prefs.animation = animSpeedBackup;
if (MainWindow::instance()->filesFromCommandLine() && animSpeedBackup != 0) {
prefs.animation_speed = animSpeedBackup;
}
if (currentState == ADD || currentState == PLAN) { // TODO: figure a way to move this from here.

View file

@ -26,7 +26,7 @@ struct preferences default_prefs = {
.calcndltts = false,
.gflow = 30,
.gfhigh = 75,
.animation = 500,
.animation_speed = 500,
.gf_low_at_maxdepth = false,
.font_size = -1,
.display_invalid_dives = false,