summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloatercamera.cpp15
-rw-r--r--indra/newview/llfloatercamera.h3
-rw-r--r--indra/newview/llfloaterpreference.cpp18
-rw-r--r--indra/newview/llfloaterpreference.h3
-rw-r--r--indra/newview/skins/default/xui/en/floater_camera.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_general.xml27
6 files changed, 68 insertions, 2 deletions
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index ecb6254f8a..abf60a29b4 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -354,6 +354,8 @@ void LLFloaterCamera::updateState()
childSetVisible(ZOOM, CAMERA_CTRL_MODE_AVATAR_VIEW != mCurrMode);
childSetVisible(PRESETS, CAMERA_CTRL_MODE_AVATAR_VIEW == mCurrMode);
+ updateCameraPresetButtons();
+
//hiding or showing the panel with controls by reshaping the floater
bool showControls = CAMERA_CTRL_MODE_FREE_CAMERA != mCurrMode;
if (showControls == childIsVisible(CONTROLS)) return;
@@ -384,6 +386,16 @@ void LLFloaterCamera::updateState()
}
}
+void LLFloaterCamera::updateCameraPresetButtons()
+{
+ ECameraPreset preset = (ECameraPreset) gSavedSettings.getU32("CameraPreset");
+
+ childSetValue("rear_view", preset == CAMERA_PRESET_REAR_VIEW);
+ childSetValue("group_view", preset == CAMERA_PRESET_GROUP_VIEW);
+ childSetValue("front_view", preset == CAMERA_PRESET_FRONT_VIEW);
+ childSetValue("mouselook_view", gAgent.cameraMouselook());
+}
+
void LLFloaterCamera::onClickCameraPresets(const LLSD& param)
{
std::string name = param.asString();
@@ -405,4 +417,7 @@ void LLFloaterCamera::onClickCameraPresets(const LLSD& param)
gAgent.changeCameraToMouselook();
}
+ LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance();
+ if (camera_floater)
+ camera_floater->updateCameraPresetButtons();
}
diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h
index 45d5e9a845..f908ad08be 100644
--- a/indra/newview/llfloatercamera.h
+++ b/indra/newview/llfloatercamera.h
@@ -103,6 +103,9 @@ private:
/* updates the state (UI) according to the current mode */
void updateState();
+ /* update camera preset buttons toggle state according to the currently selected preset */
+ void updateCameraPresetButtons();
+
void onClickBtn(ECameraControlMode mode);
void assignButton2Mode(ECameraControlMode mode, const std::string& button_name);
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index fb7e757c43..780393a9c0 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -323,7 +323,8 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2));
mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2));
mCommitCallbackRegistrar.add("Pref.getUIColor", boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2));
-
+ mCommitCallbackRegistrar.add("Pref.MaturitySettings", boost::bind(&LLFloaterPreference::onChangeMaturity, this));
+
sSkin = gSavedSettings.getString("SkinCurrent");
gSavedSettings.getControl("AvatarNameTagMode")->getCommitSignal()->connect(boost::bind(&handleNameTagOptionChanged, _2));
@@ -536,6 +537,9 @@ void LLFloaterPreference::onOpen(const LLSD& key)
{
childSetText("maturity_desired_textbox", maturity_combo->getSelectedItemLabel());
childSetVisible("maturity_desired_combobox", false);
+
+ // Display selected maturity icons.
+ onChangeMaturity();
}
// Enabled/disabled popups, might have been changed by user actions
@@ -1212,7 +1216,19 @@ void LLFloaterPreference::applyResolution()
refresh();
}
+void LLFloaterPreference::onChangeMaturity()
+{
+ U8 sim_access = gSavedSettings.getU32("PreferredMaturity");
+ getChild<LLIconCtrl>("rating_icon_general")->setVisible(sim_access == SIM_ACCESS_PG
+ || sim_access == SIM_ACCESS_MATURE
+ || sim_access == SIM_ACCESS_ADULT);
+
+ getChild<LLIconCtrl>("rating_icon_moderate")->setVisible(sim_access == SIM_ACCESS_MATURE
+ || sim_access == SIM_ACCESS_ADULT);
+
+ getChild<LLIconCtrl>("rating_icon_adult")->setVisible(sim_access == SIM_ACCESS_ADULT);
+}
void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param)
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index 93b39d72bc..71aa5d3189 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -134,8 +134,9 @@ public:
void onCommitMediaEnabled();
void onCommitMusicEnabled();
void applyResolution();
+ void onChangeMaturity();
void applyUIColor(LLUICtrl* ctrl, const LLSD& param);
- void getUIColor(LLUICtrl* ctrl, const LLSD& param);
+ void getUIColor(LLUICtrl* ctrl, const LLSD& param);
void buildPopupLists();
static void refreshSkin(void* data);
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 1b8bbe42d2..f69c763f78 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -132,6 +132,7 @@
height="40"
image_selected="Cam_Preset_Back_On"
image_unselected="Cam_Preset_Back_Off"
+ is_toggle="true"
layout="topleft"
left="0"
name="rear_view"
@@ -146,6 +147,7 @@
height="40"
image_selected="Cam_Preset_Side_On"
image_unselected="Cam_Preset_Side_Off"
+ is_toggle="true"
layout="topleft"
left_pad="5"
name="group_view"
@@ -160,6 +162,7 @@
height="40"
image_selected="Cam_Preset_Front_On"
image_unselected="Cam_Preset_Front_Off"
+ is_toggle="true"
layout="topleft"
left="0"
name="front_view"
@@ -174,6 +177,7 @@
height="40"
image_selected="Cam_Preset_Eye_Off"
image_unselected="Cam_Preset_Eye_Off"
+ is_toggle="true"
layout="topleft"
left_pad="5"
name="mouselook_view"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
index 099c789e4b..d11aebe943 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
@@ -141,7 +141,34 @@
label="General"
name="Desired_PG"
value="13" />
+ <combo_box.commit_callback
+ function="Pref.MaturitySettings"/>
</combo_box>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_PG_Dark"
+ layout="topleft"
+ left_pad="5"
+ name="rating_icon_general"
+ top_delta="3"
+ width="18"/>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_M_Dark"
+ layout="topleft"
+ left_pad="2"
+ name="rating_icon_moderate"
+ width="18"/>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_R_Dark"
+ layout="topleft"
+ left_pad="2"
+ name="rating_icon_adult"
+ width="18"/>
<text
type="string"
length="1"