From 7d4010d2dfd307ac664e1b174d62ea1f17ac6d32 Mon Sep 17 00:00:00 2001 From: Matthew Moore Date: Sat, 21 Oct 2017 16:25:21 -0400 Subject: [PATCH] Fix Newtonian Gravity Tooltip --- src/gui/game/GameController.cpp | 7 +------ src/gui/game/GameModel.cpp | 20 ++++++++++++++++++++ src/gui/game/GameModel.h | 2 ++ src/gui/game/QuickOptions.h | 13 ++----------- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 88f5bbdf8..05eeb1244 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -938,14 +938,9 @@ bool GameController::GetAHeatEnable() void GameController::ToggleNewtonianGravity() { - if (gameModel->GetSimulation()->grav->ngrav_enable) - gameModel->GetSimulation()->grav->stop_grav_async(); - else - gameModel->GetSimulation()->grav->start_grav_async(); - gameModel->UpdateQuickOptions(); + gameModel->SetNewtonianGravity(!gameModel->GetNewtonianGrvity()); } - void GameController::LoadRenderPreset(int presetNum) { Renderer * renderer = gameModel->GetRenderer(); diff --git a/src/gui/game/GameModel.cpp b/src/gui/game/GameModel.cpp index 9e110aac2..c250f7533 100644 --- a/src/gui/game/GameModel.cpp +++ b/src/gui/game/GameModel.cpp @@ -963,6 +963,26 @@ bool GameModel::GetAHeatEnable() return sim->aheat_enable; } +void GameModel::SetNewtonianGravity(bool newtonainGravity) +{ + if (newtonainGravity) + { + sim->grav->start_grav_async(); + SetInfoTip("Newtonian Gravity: On"); + } + else + { + sim->grav->stop_grav_async(); + SetInfoTip("Newtonian Gravity: Off"); + } + UpdateQuickOptions(); +} + +bool GameModel::GetNewtonianGrvity() +{ + return sim->grav->ngrav_enable; +} + void GameModel::ShowGravityGrid(bool showGrid) { ren->gravityFieldEnabled = showGrid; diff --git a/src/gui/game/GameModel.h b/src/gui/game/GameModel.h index b747bcc86..f9ca40b95 100644 --- a/src/gui/game/GameModel.h +++ b/src/gui/game/GameModel.h @@ -172,6 +172,8 @@ public: void SetDecoration(bool decorationState); bool GetAHeatEnable(); void SetAHeatEnable(bool aHeat); + bool GetNewtonianGrvity(); + void SetNewtonianGravity(bool newtonainGravity); bool GetGravityGrid(); void ShowGravityGrid(bool showGrid); void ClearSimulation(); diff --git a/src/gui/game/QuickOptions.h b/src/gui/game/QuickOptions.h index c105633da..833fb480d 100644 --- a/src/gui/game/QuickOptions.h +++ b/src/gui/game/QuickOptions.h @@ -65,20 +65,11 @@ public: } virtual bool GetToggle() { - return m->GetSimulation()->grav->ngrav_enable; + return m->GetNewtonianGrvity(); } virtual void perform() { - if(m->GetSimulation()->grav->ngrav_enable) - { - m->GetSimulation()->grav->stop_grav_async(); - m->SetInfoTip("Newtonian Gravity: Off"); - } - else - { - m->GetSimulation()->grav->start_grav_async(); - m->SetInfoTip("Newtonian Gravity: On"); - } + m->SetNewtonianGravity(!m->GetNewtonianGrvity()); } };