EXT-3667 Usability : Returning back from mousehook does not set the user back to See as Avatar
--HG-- branch : product-enginemaster
parent
5043fcce37
commit
7669c07572
|
|
@ -2812,7 +2812,7 @@ void LLAgent::endAnimationUpdateUI()
|
|||
|
||||
LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);
|
||||
|
||||
LLFloaterCamera::toPrevModeIfInAvatarViewMode();
|
||||
LLFloaterCamera::onLeavingMouseLook();
|
||||
|
||||
// Only pop if we have pushed...
|
||||
if (TRUE == mViewsPushed)
|
||||
|
|
@ -2915,10 +2915,6 @@ void LLAgent::endAnimationUpdateUI()
|
|||
// JC - Added for always chat in third person option
|
||||
gFocusMgr.setKeyboardFocus(NULL);
|
||||
|
||||
//Making sure Camera Controls floater is in the right state
|
||||
//when entering Mouse Look using wheel scrolling
|
||||
LLFloaterCamera::updateIfNotInAvatarViewMode();
|
||||
|
||||
LLToolMgr::getInstance()->setCurrentToolset(gMouselookToolset);
|
||||
|
||||
mViewsPushed = TRUE;
|
||||
|
|
|
|||
|
|
@ -144,6 +144,11 @@ void LLPanelCameraZoom::onSliderValueChanged()
|
|||
mSavedSliderVal = val;
|
||||
}
|
||||
|
||||
void activate_camera_tool()
|
||||
{
|
||||
LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance());
|
||||
};
|
||||
|
||||
//
|
||||
// Member functions
|
||||
//
|
||||
|
|
@ -151,7 +156,7 @@ void LLPanelCameraZoom::onSliderValueChanged()
|
|||
/*static*/ bool LLFloaterCamera::inFreeCameraMode()
|
||||
{
|
||||
LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance();
|
||||
if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA)
|
||||
if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA && gAgent.getCameraMode() != CAMERA_MODE_MOUSELOOK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -177,27 +182,17 @@ void LLFloaterCamera::update()
|
|||
}
|
||||
|
||||
|
||||
/*static*/ void LLFloaterCamera::updateIfNotInAvatarViewMode()
|
||||
{
|
||||
LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance();
|
||||
if (floater_camera && !floater_camera->inAvatarViewMode())
|
||||
{
|
||||
floater_camera->update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LLFloaterCamera::toPrevMode()
|
||||
{
|
||||
switchMode(mPrevMode);
|
||||
}
|
||||
|
||||
/*static*/ void LLFloaterCamera::toPrevModeIfInAvatarViewMode()
|
||||
/*static*/ void LLFloaterCamera::onLeavingMouseLook()
|
||||
{
|
||||
LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance();
|
||||
if (floater_camera && floater_camera->inAvatarViewMode())
|
||||
if (floater_camera && floater_camera->inFreeCameraMode())
|
||||
{
|
||||
floater_camera->toPrevMode();
|
||||
activate_camera_tool();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -325,7 +320,7 @@ void LLFloaterCamera::switchMode(ECameraControlMode mode)
|
|||
break;
|
||||
|
||||
case CAMERA_CTRL_MODE_FREE_CAMERA:
|
||||
LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance());
|
||||
activate_camera_tool();
|
||||
break;
|
||||
|
||||
case CAMERA_CTRL_MODE_AVATAR_VIEW:
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public:
|
|||
/* callback for camera presets changing */
|
||||
static void onClickCameraPresets(const LLSD& param);
|
||||
|
||||
static void toPrevModeIfInAvatarViewMode();
|
||||
static void onLeavingMouseLook();
|
||||
|
||||
/** resets current camera mode to orbit mode */
|
||||
static void resetCameraMode();
|
||||
|
|
@ -69,8 +69,6 @@ public:
|
|||
/* determines actual mode and updates ui */
|
||||
void update();
|
||||
|
||||
static void updateIfNotInAvatarViewMode();
|
||||
|
||||
virtual void onOpen(const LLSD& key);
|
||||
virtual void onClose(bool app_quitting);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue