From e8196ca93f24644998777da6b2286920c7709cbe Mon Sep 17 00:00:00 2001 From: angela Date: Thu, 3 Dec 2009 18:38:15 +0800 Subject: EXT-2313 Add auto-close behavior to mini-inspector floater --- indra/newview/app_settings/settings.xml | 13 ++++++++++++- indra/newview/llinspect.cpp | 21 +++++++++++++++++---- indra/newview/llinspect.h | 3 +++ 3 files changed, 32 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d9607e5f6b..fb1aac6e95 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3706,7 +3706,18 @@ Type F32 Value - 0.15 + 0.5 + + InspectorShowTime + + Comment + Stay timing for inspectors + Persist + 1 + Type + F32 + Value + 3.0 InstallLanguage diff --git a/indra/newview/llinspect.cpp b/indra/newview/llinspect.cpp index aa299014ee..c7b8db9635 100644 --- a/indra/newview/llinspect.cpp +++ b/indra/newview/llinspect.cpp @@ -50,16 +50,16 @@ LLInspect::~LLInspect() void LLInspect::draw() { static LLCachedControl FADE_TIME(*LLUI::sSettingGroups["config"], "InspectorFadeTime", 1.f); + static LLCachedControl STAY_TIME(*LLUI::sSettingGroups["config"], "InspectorShowTime", 1.f); if (mOpenTimer.getStarted()) { - F32 alpha = clamp_rescale(mOpenTimer.getElapsedTimeF32(), 0.f, FADE_TIME, 0.f, 1.f); - LLViewDrawContext context(alpha); LLFloater::draw(); - if (alpha == 1.f) + if (mOpenTimer.getElapsedTimeF32() > STAY_TIME) { mOpenTimer.stop(); + mCloseTimer.start(); } - + } else if (mCloseTimer.getStarted()) { @@ -95,3 +95,16 @@ void LLInspect::onFocusLost() mCloseTimer.start(); mOpenTimer.stop(); } + +// virtual +BOOL LLInspect::handleHover(S32 x, S32 y, MASK mask) +{ + mOpenTimer.pause(); + return LLView::handleHover(x, y, mask); +} + +// virtual +void LLInspect::onMouseLeave(S32 x, S32 y, MASK mask) +{ + mOpenTimer.unpause(); +} diff --git a/indra/newview/llinspect.h b/indra/newview/llinspect.h index a461c2fa16..731e99534b 100644 --- a/indra/newview/llinspect.h +++ b/indra/newview/llinspect.h @@ -46,6 +46,9 @@ public: /// Inspectors have a custom fade-in/fade-out animation /*virtual*/ void draw(); + /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask); + /*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask); + /// Start open animation /*virtual*/ void onOpen(const LLSD& avatar_id); -- cgit v1.2.3