From 5c97b7e713374cd5f7365879b87aaae4b4f9825d Mon Sep 17 00:00:00 2001 From: James Turner Date: Fri, 25 Oct 2013 09:18:59 +0100 Subject: [PATCH] Change tooltips to enable explicit. Instead of using a negative delay to disable, make the setting operate directly. This simplifies UI on top. --- src/Input/FGMouseInput.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Input/FGMouseInput.cxx b/src/Input/FGMouseInput.cxx index 0ea62d011..545c9890e 100644 --- a/src/Input/FGMouseInput.cxx +++ b/src/Input/FGMouseInput.cxx @@ -164,12 +164,14 @@ public: { tooltipTimeoutDone = false; hoverPickScheduled = false; - + tooltipsEnabled = false; + fgGetNode("/sim/mouse/hide-cursor", true )->addChangeListener(this, true); fgGetNode("/sim/mouse/cursor-timeout-sec", true )->addChangeListener(this, true); fgGetNode("/sim/mouse/right-button-mode-cycle-enabled", true)->addChangeListener(this, true); fgGetNode("/sim/mouse/tooltip-delay-msec", true)->addChangeListener(this, true); fgGetNode("/sim/mouse/click-shows-tooltip", true)->addChangeListener(this, true); + fgGetNode("/sim/mouse/tooltips-enabled", true)->addChangeListener(this, true); fgGetNode("/sim/mouse/drag-sensitivity", true)->addChangeListener(this, true); fgGetNode("/sim/mouse/invert-mouse-wheel", true)->addChangeListener(this, true); } @@ -313,7 +315,8 @@ public: rightClickModeCycle = node->getBoolValue(); } else if (node->getNameString() == "click-shows-tooltip") { clickTriggersTooltip = node->getBoolValue(); - + } else if (node->getNameString() == "tooltips-enabled") { + tooltipsEnabled = node->getBoolValue(); } } @@ -327,6 +330,7 @@ public: bool clickTriggersTooltip; int tooltipDelayMsec, cursorTimeoutMsec; bool rightClickModeCycle; + bool tooltipsEnabled; SGPropertyNode_ptr xSizeNode; SGPropertyNode_ptr ySizeNode; @@ -478,9 +482,8 @@ void FGMouseInput::update ( double dt ) d->hoverPickScheduled = false; } - // if delay is <= 0, disable tooltips if ( !d->tooltipTimeoutDone && - (d->tooltipDelayMsec > 0) && + d->tooltipsEnabled && (m.timeSinceLastMove.elapsedMSec() > d->tooltipDelayMsec)) { d->tooltipTimeoutDone = true; -- 2.39.5