From 33bc1733b6354b05356bebb6e8b9999b2f3bb030 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Tue, 5 May 2015 19:41:31 +0200 Subject: [PATCH] Make time control in timeline view non-linear --- gui/timelineview/controlwidget.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/gui/timelineview/controlwidget.cpp b/gui/timelineview/controlwidget.cpp index 1bd65f0c7c..ad53a9903e 100644 --- a/gui/timelineview/controlwidget.cpp +++ b/gui/timelineview/controlwidget.cpp @@ -40,6 +40,7 @@ namespace { const ImportantDate ImportantDates[] = { { "2007-02-27T16:40:00.00", "JupiterProjection", "Jupiter" }, + { "2015-07-14T10:10:00.00", "PlutoProjection", "Pluto" }, { "2015-07-14T10:50:00.00", "PlutoProjection", "Pluto" }, { "2015-07-14T11:22:00.00", "PlutoProjection", "Pluto" }, { "2015-07-14T11:36:40.00", "PlutoProjection", "Pluto" }, @@ -59,7 +60,10 @@ namespace { { "Pluto", "PlutoProjection", "Pluto" }, { "Charon", "Charon", "Pluto" }, { "Jupiter", "JupiterProjection", "Jupiter" }, - { "New Horizons", "NewHorizons", ""} + { "New Horizons", "NewHorizons", "" }, + { "Nix", "Nix", "Pluto" }, + { "Kerberos", "Kerberos", "Pluto" }, + { "Hydra", "Hydra", "Pluto" }, }; } @@ -158,7 +162,20 @@ void ControlWidget::update(QString currentTime, QString currentDelta) { } void ControlWidget::onValueChange() { - QString script = "openspace.time.setDeltaTime(" + QString::number(_setDelta->value()) + ");"; + float value = static_cast(_setDelta->value()); + + int delta; + if (value < 0.f) { + value = -value; + float d = std::pow(2, value / 10); + delta = static_cast(-d); + } + else { + float d = std::pow(2, value / 10); + delta = static_cast(d); + } + + QString script = "openspace.time.setDeltaTime(" + QString::number(delta) + ");"; emit scriptActivity(script); }