diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloatercamera.cpp | 23 | ||||
-rw-r--r-- | indra/newview/llfloatercamera.h | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_roles.xml | 2 |
3 files changed, 23 insertions, 5 deletions
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index 75d3d188b1..f181872faa 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -62,6 +62,7 @@ const F32 CAMERA_BUTTON_DELAY = 0.0f; #define CONTROLS "controls" bool LLFloaterCamera::sFreeCamera = false; +bool LLFloaterCamera::sAppearanceEditing = false; // Zoom the camera in and out class LLPanelCameraZoom @@ -250,16 +251,21 @@ void LLFloaterCamera::resetCameraMode() void LLFloaterCamera::onAvatarEditingAppearance(bool editing) { + sAppearanceEditing = editing; LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); if (!floater_camera) return; + floater_camera->handleAvatarEditingAppearance(editing); +} +void LLFloaterCamera::handleAvatarEditingAppearance(bool editing) +{ //camera presets (rear, front, etc.) - floater_camera->getChildView("preset_views_list")->setEnabled(!editing); - floater_camera->getChildView("presets_btn")->setEnabled(!editing); + getChildView("preset_views_list")->setEnabled(!editing); + getChildView("presets_btn")->setEnabled(!editing); //camera modes (object view, mouselook view) - floater_camera->getChildView("camera_modes_list")->setEnabled(!editing); - floater_camera->getChildView("avatarview_btn")->setEnabled(!editing); + getChildView("camera_modes_list")->setEnabled(!editing); + getChildView("avatarview_btn")->setEnabled(!editing); } void LLFloaterCamera::update() @@ -354,6 +360,9 @@ BOOL LLFloaterCamera::postBuild() update(); + // ensure that appearance mode is handled while building. See EXT-7796. + handleAvatarEditingAppearance(sAppearanceEditing); + return LLDockableFloater::postBuild(); } @@ -376,6 +385,12 @@ void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* pane ECameraControlMode LLFloaterCamera::determineMode() { + if (sAppearanceEditing) + { + // this is the only enabled camera mode while editing agent appearance. + return CAMERA_CTRL_MODE_PAN; + } + LLTool* curr_tool = LLToolMgr::getInstance()->getCurrentTool(); if (curr_tool == LLToolCamera::getInstance()) { diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h index c5f8cd6db5..737bd17e72 100644 --- a/indra/newview/llfloatercamera.h +++ b/indra/newview/llfloatercamera.h @@ -124,9 +124,12 @@ private: // fills flatlist with items from given panel void fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel); + void handleAvatarEditingAppearance(bool editing); + // set to true when free camera mode is selected in modes list // remains true until preset camera mode is chosen, or pan button is clicked, or escape pressed static bool sFreeCamera; + static bool sAppearanceEditing; BOOL mClosed; ECameraControlMode mPrevMode; ECameraControlMode mCurrMode; diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml index 18a2f37ba2..4af4774304 100644 --- a/indra/newview/skins/default/xui/en/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml @@ -103,7 +103,7 @@ clicking on their names. height="23" follows="top|left" label="Invite" - left="0" + left="5" name="member_invite" width="100" /> <button |