From 794db370856ff69aa3f149237fdf07f25a4bbe3c Mon Sep 17 00:00:00 2001 From: Cinders Date: Thu, 15 Aug 2013 20:53:41 -0600 Subject: [PATCH] FIRE-10650: Save the last selected pose and use it when opening the pose stand --- indra/newview/app_settings/settings.xml | 51 +++++++++++++++---------- indra/newview/fsfloaterposestand.cpp | 5 ++- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ceb0faaa04..4dd70626e8 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -20913,26 +20913,37 @@ Change of this parameter will affect the layout of buttons in notification toast 0 FSLegacyRadarFriendColoring - - Comment - Use old style for friends on the radar. Uses same color as minimap. - Persist - 1 - Type - Boolean - Value - 0 - + + Comment + Use old style for friends on the radar. Uses same color as minimap. + Persist + 1 + Type + Boolean + Value + 0 + FSLegacyRadarLindenColoring - - Comment - Color Lindens on the radar the same as the minimap. - Persist - 1 - Type - Boolean - Value - 0 - + + Comment + Color Lindens on the radar the same as the minimap. + Persist + 1 + Type + Boolean + Value + 0 + + FSPoseStandLastSelectedPose + + Comment + Last selected pose in the pose stand + Persist + 1 + Type + String + Value + + diff --git a/indra/newview/fsfloaterposestand.cpp b/indra/newview/fsfloaterposestand.cpp index 7804f43d07..8472819edc 100644 --- a/indra/newview/fsfloaterposestand.cpp +++ b/indra/newview/fsfloaterposestand.cpp @@ -36,7 +36,6 @@ BOOL FSFloaterPoseStand::postBuild() mComboPose = getChild("pose_combo"); mComboPose->setCommitCallback(boost::bind(&FSFloaterPoseStand::onCommitCombo, this)); loadPoses(); - onCommitCombo(); return TRUE; } @@ -55,6 +54,9 @@ void FSFloaterPoseStand::onOpen(const LLSD& key) gAgent.setCustomAnim(TRUE); gFocusMgr.setKeyboardFocus(NULL); gFocusMgr.setMouseCapture(NULL); + std::string last_pose = gSavedSettings.getString("FSPoseStandLastSelectedPose"); + if (!last_pose.empty()) + mComboPose->setSelectedByValue(last_pose, TRUE); onCommitCombo(); } @@ -96,6 +98,7 @@ void FSFloaterPoseStand::loadPoses() void FSFloaterPoseStand::onCommitCombo() { std::string selected_pose = mComboPose->getValue(); + gSavedSettings.setString("FSPoseStandLastSelectedPose", selected_pose); FSPose::getInstance()->setPose(selected_pose); }