From f695f6c25c13652fa2253c36c92bd28ae6415fd8 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Sun, 13 Sep 2009 05:48:24 -0700 Subject: Fixed windlight toolbar not updating windlight floater pulldown --- linden/indra/newview/llfloaterwindlight.cpp | 8 ++++++++ linden/indra/newview/llwindlightremotectrl.cpp | 9 +++++---- linden/indra/newview/llwlparammanager.cpp | 6 +++++- linden/indra/newview/llwlparammanager.h | 3 +++ 4 files changed, 21 insertions(+), 5 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llfloaterwindlight.cpp b/linden/indra/newview/llfloaterwindlight.cpp index 43e8e1e..1c3db9b 100644 --- a/linden/indra/newview/llfloaterwindlight.cpp +++ b/linden/indra/newview/llfloaterwindlight.cpp @@ -439,6 +439,14 @@ void LLFloaterWindLight::syncMenu() childSetValue("WLGamma", param_mgr->mWLGamma.x); childSetValue("WLStarAlpha", param_mgr->mCurParams.getStarBrightness()); + + // Update combobox name + LLComboBox* comboBox = getChild("WLPresetsCombo"); + std::string current_name = param_mgr->mCurPresetName; + if (!current_name.empty() && current_name != comboBox->getSelectedValue().asString()) + { + comboBox->selectByValue(LLSD(current_name)); + } } diff --git a/linden/indra/newview/llwindlightremotectrl.cpp b/linden/indra/newview/llwindlightremotectrl.cpp index e47eef7..d6074b1 100644 --- a/linden/indra/newview/llwindlightremotectrl.cpp +++ b/linden/indra/newview/llwindlightremotectrl.cpp @@ -127,9 +127,10 @@ void LLWindlightRemoteCtrl::refreshPresets() { if (mPresetsCombo) { - //store current preset - std::string cur_preset = mPresetsCombo->getValue().asString(); + // snag current preset + std::string cur_preset = LLWLParamManager::instance()->mCurPresetName;//mPresetsCombo->getValue().asString(); + // clear in case presets names have changed mPresetsCombo->clearRows(); std::map::iterator mIt = @@ -139,7 +140,7 @@ void LLWindlightRemoteCtrl::refreshPresets() mPresetsCombo->add(mIt->first); } - // Insert label after sorting, at top, with separator below it + // insert separator and add World menu options mPresetsCombo->addSeparator(ADD_BOTTOM); mPresetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM); mPresetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM); @@ -148,7 +149,7 @@ void LLWindlightRemoteCtrl::refreshPresets() mPresetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM); if (!cur_preset.empty()) - { + { mPresetsCombo->selectByValue(LLSD(cur_preset)); } else diff --git a/linden/indra/newview/llwlparammanager.cpp b/linden/indra/newview/llwlparammanager.cpp index ba3d070..ba21a96 100644 --- a/linden/indra/newview/llwlparammanager.cpp +++ b/linden/indra/newview/llwlparammanager.cpp @@ -97,7 +97,10 @@ LLWLParamManager::LLWLParamManager() : // sky dome mDomeOffset(0.96f), - mDomeRadius(15000.f) + mDomeRadius(15000.f), + + // current name + mCurPresetName("") { } @@ -226,6 +229,7 @@ void LLWLParamManager::loadPreset(const std::string & name,bool propagate) setParamSet(name, paramsData); } presetsXML.close(); + mCurPresetName = name; } else { diff --git a/linden/indra/newview/llwlparammanager.h b/linden/indra/newview/llwlparammanager.h index 9895e91..4507307 100644 --- a/linden/indra/newview/llwlparammanager.h +++ b/linden/indra/newview/llwlparammanager.h @@ -262,6 +262,9 @@ public: // list of all the parameters, listed by name std::map mParamList; + + // current parameter name + std::string mCurPresetName; private: -- cgit v1.1