summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llfloatercamera.cpp23
-rw-r--r--indra/newview/llfloatercamera.h3
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_roles.xml2
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