diff options
Diffstat (limited to 'indra/newview/llfloatereditextdaycycle.cpp')
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.cpp | 1456 |
1 files changed, 691 insertions, 765 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index c62ef85b02..76c275e47c 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -47,129 +47,180 @@ #include "llenvironment.h" #include "lltrans.h" -const F32 LLFloaterEditExtDayCycle::sHoursPerDay = 24.0f; - -LLFloaterEditExtDayCycle::LLFloaterEditExtDayCycle(const LLSD &key) -: LLFloater(key) -, mDayCycleNameEditor(NULL) -, mDayCyclesCombo(NULL) -, mTimeSlider(NULL) -, mKeysSlider(NULL) -, mSkyPresetsCombo(NULL) -, mTimeCtrl(NULL) -, mMakeDefaultCheckBox(NULL) -, mSaveButton(NULL) + +LLFloaterEditExtDayCycle::LLFloaterEditExtDayCycle(const LLSD &key): + LLFloater(key), + mDayPresetsCombo(NULL), + mSaveButton(NULL), + mCancelButton(NULL) +// mDayCyclesCombo(NULL) +// , mTimeSlider(NULL) +// , mKeysSlider(NULL) +// , mTimeCtrl(NULL) +// , mMakeDefaultCheckBox(NULL) +// , { } // virtual BOOL LLFloaterEditExtDayCycle::postBuild() { - mDayCycleNameEditor = getChild<LLLineEditor>("day_cycle_name"); - mDayCyclesCombo = getChild<LLComboBox>("day_cycle_combo"); +// mDayCyclesCombo = getChild<LLComboBox>("day_cycle_preset_combo"); + +// mTimeSlider = getChild<LLMultiSliderCtrl>("WLTimeSlider"); +// mKeysSlider = getChild<LLMultiSliderCtrl>("WLDayCycleKeys"); + mDayPresetsCombo = getChild<LLComboBox>("day_cycle_preset_combo"); +// mTimeCtrl = getChild<LLTimeCtrl>("time"); + mSaveButton = getChild<LLButton>("save_btn"); + mCancelButton = getChild<LLButton>("cancel_btn"); +// mMakeDefaultCheckBox = getChild<LLCheckBoxCtrl>("make_default_cb"); - mTimeSlider = getChild<LLMultiSliderCtrl>("WLTimeSlider"); - mKeysSlider = getChild<LLMultiSliderCtrl>("WLDayCycleKeys"); - mSkyPresetsCombo = getChild<LLComboBox>("WLSkyPresets"); - mTimeCtrl = getChild<LLTimeCtrl>("time"); - mSaveButton = getChild<LLButton>("save"); - mMakeDefaultCheckBox = getChild<LLCheckBoxCtrl>("make_default_cb"); - initCallbacks(); + mDayPresetsCombo->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayPresetChanged, this)); + mSaveButton->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnSave, this)); + mCancelButton->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnCancel, this)); - // add the time slider - mTimeSlider->addSlider(); + //initCallbacks(); + +// // add the time slider +// mTimeSlider->addSlider(); return TRUE; } -// virtual void LLFloaterEditExtDayCycle::onOpen(const LLSD& key) { - bool new_day = isNewDay(); - std::string param = key.asString(); - std::string floater_title = getString(std::string("title_") + param); - std::string hint = getString(std::string("hint_" + param)); - - // Update floater title. - setTitle(floater_title); - - // Update the hint at the top. - getChild<LLUICtrl>("hint")->setValue(hint); - - // Hide the hint to the right of the combo if we're invoked to create a new preset. - getChildView("note")->setVisible(!new_day); - - // Switch between the day cycle presets combobox and day cycle name input field. - mDayCyclesCombo->setVisible(!new_day); - mDayCycleNameEditor->setVisible(new_day); - - // TODO: Make sure only one instance of the floater exists? - - reset(); + refreshSkyPresetsList(); } -// virtual void LLFloaterEditExtDayCycle::onClose(bool app_quitting) { if (!app_quitting) // there's no point to change environment if we're quitting { + /* TODO: don't restore this environment. We may have gotten here from land or region. */ LLEnvironment::instance().applyChosenEnvironment(); } } -// virtual -void LLFloaterEditExtDayCycle::draw() +void LLFloaterEditExtDayCycle::onVisibilityChange(BOOL new_visibility) { - syncTimeSlider(); - LLFloater::draw(); + if (new_visibility) + { + LLEnvironment::instance().selectDayCycle(mEditDay, LLEnvironment::TRANSITION_FAST); + } + else + { + /* TODO: don't restore this environment. We may have gotten here from land or region. */ + LLEnvironment::instance().applyChosenEnvironment(); + } } -void LLFloaterEditExtDayCycle::initCallbacks(void) +//------------------------------------------------------------------------- +void LLFloaterEditExtDayCycle::onDayPresetChanged() { -#if 0 - mDayCycleNameEditor->setKeystrokeCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleNameEdited, this), NULL); - mDayCyclesCombo->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleSelected, this)); - mDayCyclesCombo->setTextEntryCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleNameEdited, this)); - mTimeSlider->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onTimeSliderMoved, this)); - mKeysSlider->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyTimeMoved, this)); - mTimeCtrl->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyTimeChanged, this)); - mSkyPresetsCombo->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyPresetChanged, this)); - - getChild<LLButton>("WLAddKey")->setClickedCallback(boost::bind(&LLFloaterEditExtDayCycle::onAddKey, this)); - getChild<LLButton>("WLDeleteKey")->setClickedCallback(boost::bind(&LLFloaterEditExtDayCycle::onDeleteKey, this)); - - mSaveButton->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnSave, this)); - mSaveButton->setRightMouseDownCallback(boost::bind(&LLFloaterEditExtDayCycle::dumpTrack, this)); - getChild<LLButton>("cancel")->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnCancel, this)); - - // Connect to env manager events. - LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance(); - env_mgr.setRegionSettingsChangeCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionSettingsChange, this)); - gAgent.addRegionChangedCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionChange, this)); - env_mgr.setRegionSettingsAppliedCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionSettingsApplied, this, _1)); - // Connect to day cycle manager events. - LLDayCycleManager::instance().setModifyCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleListChange, this)); - - // Connect to sky preset list changes. - LLWLParamManager::instance().setPresetListChangeCallback(boost::bind(&LLFloaterEditExtDayCycle::onSkyPresetListChange, this)); - - - // Connect to region info updates. - LLRegionInfoModel::instance().setUpdateCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionInfoUpdate, this)); -#endif + std::string dayname = mDayPresetsCombo->getSelectedValue().asString(); + + LLSettingsDay::ptr_t pday = LLEnvironment::instance().findDayCycleByName(dayname); + + if (pday) + { + pday = pday->buildClone(); + LLEnvironment::instance().selectDayCycle(pday, LLEnvironment::TRANSITION_INSTANT); + mEditDay = pday; + } + } -void LLFloaterEditExtDayCycle::syncTimeSlider() +void LLFloaterEditExtDayCycle::onBtnSave() +{ + if (!mCommitSignal.empty()) + mCommitSignal(mEditDay); + closeFloater(); +} + +void LLFloaterEditExtDayCycle::onBtnCancel() { -#if 0 - // set time - mTimeSlider->setCurSliderValue((F32)LLWLParamManager::getInstance()->mAnimator.getDayTime() * sHoursPerDay); -#endif + closeFloater(); } -void LLFloaterEditExtDayCycle::loadTrack() + +//------------------------------------------------------------------------- +void LLFloaterEditExtDayCycle::refreshSkyPresetsList() { + mDayPresetsCombo->removeall(); + + LLEnvironment::list_name_id_t cyclelist = LLEnvironment::instance().getDayCycleList(); + + mDayPresetsCombo->removeall(); + + + for (LLEnvironment::list_name_id_t::iterator it = cyclelist.begin(); it != cyclelist.end(); ++it) + { + mDayPresetsCombo->add((*it).first); + } + + // set defaults on combo boxes + mDayPresetsCombo->selectFirstItem(); +} + +LLFloaterEditExtDayCycle::connection_t LLFloaterEditExtDayCycle::setEditCommitSignal(LLFloaterEditExtDayCycle::edit_commit_signal_t::slot_type cb) +{ + return mCommitSignal.connect(cb); +} + +// +// virtual +// void LLFloaterEditExtDayCycle::draw() +// { +// syncTimeSlider(); +// LLFloater::draw(); +// } +// +// void LLFloaterEditExtDayCycle::initCallbacks(void) +// { +// #if 0 +// mDayCycleNameEditor->setKeystrokeCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleNameEdited, this), NULL); +// mDayCyclesCombo->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleSelected, this)); +// mDayCyclesCombo->setTextEntryCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleNameEdited, this)); +// mTimeSlider->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onTimeSliderMoved, this)); +// mKeysSlider->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyTimeMoved, this)); +// mTimeCtrl->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyTimeChanged, this)); +// mSkyPresetsCombo->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onKeyPresetChanged, this)); +// +// getChild<LLButton>("WLAddKey")->setClickedCallback(boost::bind(&LLFloaterEditExtDayCycle::onAddKey, this)); +// getChild<LLButton>("WLDeleteKey")->setClickedCallback(boost::bind(&LLFloaterEditExtDayCycle::onDeleteKey, this)); +// +// mSaveButton->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnSave, this)); +// mSaveButton->setRightMouseDownCallback(boost::bind(&LLFloaterEditExtDayCycle::dumpTrack, this)); +// getChild<LLButton>("cancel")->setCommitCallback(boost::bind(&LLFloaterEditExtDayCycle::onBtnCancel, this)); +// +// // Connect to env manager events. +// LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance(); +// env_mgr.setRegionSettingsChangeCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionSettingsChange, this)); +// gAgent.addRegionChangedCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionChange, this)); +// env_mgr.setRegionSettingsAppliedCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionSettingsApplied, this, _1)); +// // Connect to day cycle manager events. +// LLDayCycleManager::instance().setModifyCallback(boost::bind(&LLFloaterEditExtDayCycle::onDayCycleListChange, this)); +// +// // Connect to sky preset list changes. +// LLWLParamManager::instance().setPresetListChangeCallback(boost::bind(&LLFloaterEditExtDayCycle::onSkyPresetListChange, this)); +// +// +// // Connect to region info updates. +// LLRegionInfoModel::instance().setUpdateCallback(boost::bind(&LLFloaterEditExtDayCycle::onRegionInfoUpdate, this)); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::syncTimeSlider() +// { +// #if 0 +// // set time +// mTimeSlider->setCurSliderValue((F32)LLWLParamManager::getInstance()->mAnimator.getDayTime() * sHoursPerDay); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::loadTrack() +// { // // clear the slider // mKeysSlider->clear(); // mSliderToKey.clear(); @@ -192,681 +243,556 @@ void LLFloaterEditExtDayCycle::loadTrack() // } // // syncTimeSlider(); -} - -void LLFloaterEditExtDayCycle::applyTrack() -{ -#if 0 - LL_DEBUGS() << "Applying track (" << mSliderToKey.size() << ")" << LL_ENDL; - - // if no keys, do nothing - if (mSliderToKey.size() == 0) - { - LL_DEBUGS() << "No keys, not syncing" << LL_ENDL; - return; - } - - llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); - - // create a new animation track - LLWLParamManager::getInstance()->mDay.clearKeyframes(); - - // add the keys one by one - for (std::map<std::string, SliderKey>::iterator it = mSliderToKey.begin(); - it != mSliderToKey.end(); ++it) - { - LLWLParamManager::getInstance()->mDay.addKeyframe(it->second.time / sHoursPerDay, - it->second.keyframe); - } - - // set the param manager's track to the new one - LLWLParamManager::getInstance()->resetAnimator( - mTimeSlider->getCurSliderValue() / sHoursPerDay, false); - - LLWLParamManager::getInstance()->mAnimator.update( - LLWLParamManager::getInstance()->mCurParams); -#endif -} - -void LLFloaterEditExtDayCycle::refreshSkyPresetsList() -{ -#if 0 - // Don't allow selecting region skies for a local day cycle, - // because thus we may end up with invalid day cycle. - bool include_region_skies = getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION; - - mSkyPresetsCombo->removeall(); - - LLWLParamManager::preset_name_list_t region_presets; - LLWLParamManager::preset_name_list_t user_presets, sys_presets; - LLWLParamManager::instance().getPresetNames(region_presets, user_presets, sys_presets); - - if (include_region_skies) - { - // Add region presets. - for (LLWLParamManager::preset_name_list_t::const_iterator it = region_presets.begin(); it != region_presets.end(); ++it) - { - std::string preset_name = *it; - std::string item_title = preset_name + " (" + getRegionName() + ")"; - mSkyPresetsCombo->add(preset_name, LLWLParamKey(*it, LLEnvKey::SCOPE_REGION).toStringVal()); - } - - if (!region_presets.empty()) - { - mSkyPresetsCombo->addSeparator(); - } - } - - // Add user presets. - for (LLWLParamManager::preset_name_list_t::const_iterator it = user_presets.begin(); it != user_presets.end(); ++it) - { - mSkyPresetsCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toStringVal()); - } - - if (!user_presets.empty()) - { - mSkyPresetsCombo->addSeparator(); - } - - // Add system presets. - for (LLWLParamManager::preset_name_list_t::const_iterator it = sys_presets.begin(); it != sys_presets.end(); ++it) - { - mSkyPresetsCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toStringVal()); - } - - // set defaults on combo boxes - mSkyPresetsCombo->selectFirstItem(); -#endif -} - -void LLFloaterEditExtDayCycle::refreshDayCyclesList() -{ -#if 0 - llassert(isNewDay() == false); - - mDayCyclesCombo->removeall(); - -#if 0 // Disable editing existing day cycle until the workflow is clear enough. - const LLSD& region_day = LLEnvManagerNew::instance().getRegionSettings().getWLDayCycle(); - if (region_day.size() > 0) - { - LLWLParamKey key(getRegionName(), LLEnvKey::SCOPE_REGION); - mDayCyclesCombo->add(key.name, key.toLLSD()); - mDayCyclesCombo->addSeparator(); - } -#endif - - LLDayCycleManager::preset_name_list_t user_days, sys_days; - LLDayCycleManager::instance().getPresetNames(user_days, sys_days); - - // Add user days. - for (LLDayCycleManager::preset_name_list_t::const_iterator it = user_days.begin(); it != user_days.end(); ++it) - { - mDayCyclesCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); - } - - if (user_days.size() > 0) - { - mDayCyclesCombo->addSeparator(); - } - - // Add system days. - for (LLDayCycleManager::preset_name_list_t::const_iterator it = sys_days.begin(); it != sys_days.end(); ++it) - { - mDayCyclesCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); - } - - mDayCyclesCombo->setLabel(getString("combo_label")); -#endif -} - -void LLFloaterEditExtDayCycle::onTimeSliderMoved() -{ -#if 0 - /// get the slider value - F32 val = mTimeSlider->getCurSliderValue() / sHoursPerDay; - - // set the value, turn off animation - LLWLParamManager::getInstance()->mAnimator.setDayTime((F64)val); - LLWLParamManager::getInstance()->mAnimator.deactivate(); - - // then call update once - LLWLParamManager::getInstance()->mAnimator.update( - LLWLParamManager::getInstance()->mCurParams); -#endif -} - -void LLFloaterEditExtDayCycle::onKeyTimeMoved() -{ -#if 0 - if (mKeysSlider->getValue().size() == 0) - { - return; - } - - // make sure we have a slider - const std::string& cur_sldr = mKeysSlider->getCurSlider(); - if (cur_sldr == "") - { - return; - } - - F32 time24 = mKeysSlider->getCurSliderValue(); - - // check to see if a key exists - LLWLParamKey key = mSliderToKey[cur_sldr].keyframe; - LL_DEBUGS() << "Setting key time: " << time24 << LL_ENDL; - mSliderToKey[cur_sldr].time = time24; - - // if it exists, turn on check box - mSkyPresetsCombo->selectByValue(key.toStringVal()); - - mTimeCtrl->setTime24(time24); - - applyTrack(); -#endif -} - -void LLFloaterEditExtDayCycle::onKeyTimeChanged() -{ -#if 0 - // if no keys, skipped - if (mSliderToKey.size() == 0) - { - return; - } - - F32 time24 = mTimeCtrl->getTime24(); - - const std::string& cur_sldr = mKeysSlider->getCurSlider(); - mKeysSlider->setCurSliderValue(time24, TRUE); - F32 time = mKeysSlider->getCurSliderValue() / sHoursPerDay; - - // now set the key's time in the sliderToKey map - LL_DEBUGS() << "Setting key time: " << time << LL_ENDL; - mSliderToKey[cur_sldr].time = time; - - applyTrack(); -#endif -} - -void LLFloaterEditExtDayCycle::onKeyPresetChanged() -{ -#if 0 - // do nothing if no sliders - if (mKeysSlider->getValue().size() == 0) - { - return; - } - - // change the map - - std::string stringVal = mSkyPresetsCombo->getSelectedValue().asString(); - LLWLParamKey new_key(stringVal); - llassert(!new_key.name.empty()); - const std::string& cur_sldr = mKeysSlider->getCurSlider(); - - // if null, don't use - if (cur_sldr == "") - { - return; - } - - mSliderToKey[cur_sldr].keyframe = new_key; - - // Apply changes to current day cycle. - applyTrack(); -#endif -} - -void LLFloaterEditExtDayCycle::onAddKey() -{ -#if 0 - llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); - - S32 max_sliders; - LLEnvKey::EScope scope = LLEnvKey::SCOPE_LOCAL; // *TODO: editing region day cycle - switch (scope) - { - case LLEnvKey::SCOPE_LOCAL: - max_sliders = 20; // *HACK this should be LLWLPacketScrubber::MAX_LOCAL_KEY_FRAMES; - break; - case LLEnvKey::SCOPE_REGION: - max_sliders = 12; // *HACK this should be LLWLPacketScrubber::MAX_REGION_KEY_FRAMES; - break; - default: - max_sliders = (S32) mKeysSlider->getMaxValue(); - break; - } - -#if 0 - if ((S32)mSliderToKey.size() >= max_sliders) - { - LLSD args; - args["SCOPE"] = LLEnvManagerNew::getScopeString(scope); - args["MAX"] = max_sliders; - LLNotificationsUtil::add("DayCycleTooManyKeyframes", args, LLSD(), LLNotificationFunctorRegistry::instance().DONOTHING); - return; - } -#endif - - // add the slider key - std::string key_val = mSkyPresetsCombo->getSelectedValue().asString(); - LLWLParamKey sky_params(key_val); - llassert(!sky_params.name.empty()); - - F32 time = mTimeSlider->getCurSliderValue(); - addSliderKey(time, sky_params); - - // apply the change to current day cycles - applyTrack(); -#endif -} - -#if 0 -void LLFloaterEditExtDayCycle::addSliderKey(F32 time, LLWLParamKey keyframe) -{ - // make a slider - const std::string& sldr_name = mKeysSlider->addSlider(time); - if (sldr_name.empty()) - { - return; - } - - // set the key - SliderKey newKey(keyframe, mKeysSlider->getCurSliderValue()); - - llassert_always(sldr_name != LLStringUtil::null); - - // add to map - mSliderToKey.insert(std::pair<std::string, SliderKey>(sldr_name, newKey)); - - llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); -} -#endif - -#if 0 -LLWLParamKey LLFloaterEditExtDayCycle::getSelectedDayCycle() -{ - LLWLParamKey dc_key; - - if (mDayCycleNameEditor->getVisible()) - { - dc_key.name = mDayCycleNameEditor->getText(); - dc_key.scope = LLEnvKey::SCOPE_LOCAL; - } - else - { - LLSD combo_val = mDayCyclesCombo->getValue(); - - if (!combo_val.isArray()) // manually typed text - { - dc_key.name = combo_val.asString(); - dc_key.scope = LLEnvKey::SCOPE_LOCAL; - } - else - { - dc_key.fromLLSD(combo_val); - } - } - - return dc_key; -} -#endif - -bool LLFloaterEditExtDayCycle::isNewDay() const -{ - return mKey.asString() == "new"; -} - -void LLFloaterEditExtDayCycle::dumpTrack() -{ -#if 0 - LL_DEBUGS("Windlight") << "Dumping day cycle" << LL_ENDL; - - LLWLDayCycle& cur_dayp = LLWLParamManager::instance().mDay; - for (std::map<F32, LLWLParamKey>::iterator it = cur_dayp.mTimeMap.begin(); it != cur_dayp.mTimeMap.end(); ++it) - { - F32 time = it->first * 24.0f; - S32 h = (S32) time; - S32 m = (S32) ((time - h) * 60.0f); - LL_DEBUGS("Windlight") << llformat("(%.3f) %02d:%02d", time, h, m) << " => " << it->second.name << LL_ENDL; - } -#endif -} - -void LLFloaterEditExtDayCycle::enableEditing(bool enable) -{ - mSkyPresetsCombo->setEnabled(enable); - mTimeCtrl->setEnabled(enable); - getChild<LLPanel>("day_cycle_slider_panel")->setCtrlsEnabled(enable); - mSaveButton->setEnabled(enable); - mMakeDefaultCheckBox->setEnabled(enable); -} - -void LLFloaterEditExtDayCycle::reset() -{ -#if 0 - // clear the slider - mKeysSlider->clear(); - mSliderToKey.clear(); - - refreshSkyPresetsList(); - - if (isNewDay()) - { - mDayCycleNameEditor->setValue(LLSD()); - F32 time = 0.5f * sHoursPerDay; - mSaveButton->setEnabled(FALSE); // will be enabled as soon as users enters a name - mTimeSlider->setCurSliderValue(time); - - addSliderKey(time, LLWLParamKey("Default", LLEnvKey::SCOPE_LOCAL)); - onKeyTimeMoved(); // update the time control and sky sky combo - - applyTrack(); - } - else - { - refreshDayCyclesList(); - - // Disable controls until a day cycle to edit is selected. - enableEditing(false); - } -#endif -} - -void LLFloaterEditExtDayCycle::saveRegionDayCycle() -{ -#if 0 - LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance(); - LLWLDayCycle& cur_dayp = LLWLParamManager::instance().mDay; // the day cycle being edited - - // Get current day cycle and the sky preset it references. - LLSD day_cycle = cur_dayp.asLLSD(); - LLSD sky_map; - cur_dayp.getSkyMap(sky_map); - - // Apply it to the region. - LLEnvironmentSettings new_region_settings; - new_region_settings.saveParams(day_cycle, sky_map, env_mgr.getRegionSettings().getWaterParams(), 0.0f); - -#if 1 - LLEnvManagerNew::instance().setRegionSettings(new_region_settings); -#else // Temporary disabled ability to upload new region settings from the Day Cycle Editor. - if (!LLEnvManagerNew::instance().sendRegionSettings(new_region_settings)) - { - LL_WARNS() << "Error applying region environment settings" << LL_ENDL; - return; - } - - setApplyProgress(true); -#endif -#endif -} - -void LLFloaterEditExtDayCycle::setApplyProgress(bool started) -{ - LLLoadingIndicator* indicator = getChild<LLLoadingIndicator>("progress_indicator"); - - indicator->setVisible(started); - - if (started) - { - indicator->start(); - } - else - { - indicator->stop(); - } -} - -bool LLFloaterEditExtDayCycle::getApplyProgress() const -{ - return getChild<LLLoadingIndicator>("progress_indicator")->getVisible(); -} - -void LLFloaterEditExtDayCycle::onDeleteKey() -{ -#if 0 - if (mSliderToKey.size() == 0) - { - return; - } - else if (mSliderToKey.size() == 1) - { - LLNotifications::instance().add("EnvCannotDeleteLastDayCycleKey", LLSD(), LLSD()); - return; - } - - // delete from map - const std::string& sldr_name = mKeysSlider->getCurSlider(); - std::map<std::string, SliderKey>::iterator mIt = mSliderToKey.find(sldr_name); - mSliderToKey.erase(mIt); - - mKeysSlider->deleteCurSlider(); - - if (mSliderToKey.size() == 0) - { - return; - } - - const std::string& name = mKeysSlider->getCurSlider(); - mSkyPresetsCombo->selectByValue(mSliderToKey[name].keyframe.toStringVal()); - F32 time24 = mSliderToKey[name].time; - - mTimeCtrl->setTime24(time24); - - applyTrack(); -#endif -} - -void LLFloaterEditExtDayCycle::onRegionSettingsChange() -{ -#if 0 - LL_DEBUGS("Windlight") << "Region settings changed" << LL_ENDL; - - if (getApplyProgress()) // our region settings have being applied - { - setApplyProgress(false); - - // Change preference if requested. - if (mMakeDefaultCheckBox->getValue()) - { - LL_DEBUGS("Windlight") << "Changed environment preference to region settings" << LL_ENDL; - LLEnvManagerNew::instance().setUseRegionSettings(true); - } - - closeFloater(); - } -#endif -} - -void LLFloaterEditExtDayCycle::onRegionChange() -{ -#if 0 - LL_DEBUGS("Windlight") << "Region changed" << LL_ENDL; - - // If we're editing the region day cycle - if (getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION) - { - reset(); // undoes all unsaved changes - } -#endif -} - -void LLFloaterEditExtDayCycle::onRegionSettingsApplied(bool success) -{ - LL_DEBUGS("Windlight") << "Region settings applied: " << success << LL_ENDL; - - if (!success) - { - // stop progress indicator - setApplyProgress(false); - } -} - -void LLFloaterEditExtDayCycle::onRegionInfoUpdate() -{ -#if 0 - LL_DEBUGS("Windlight") << "Region info updated" << LL_ENDL; - bool can_edit = true; - - // If we've selected the region day cycle for editing. - if (getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION) - { - // check whether we have the access - can_edit = LLEnvManagerNew::canEditRegionSettings(); - } - - enableEditing(can_edit); -#endif -} - -void LLFloaterEditExtDayCycle::onDayCycleNameEdited() -{ -#if 0 - // Disable saving a day cycle having empty name. - LLWLParamKey key = getSelectedDayCycle(); - mSaveButton->setEnabled(!key.name.empty()); -#endif -} - -void LLFloaterEditExtDayCycle::onDayCycleSelected() -{ -#if 0 - - LLSD day_data; - LLWLParamKey dc_key = getSelectedDayCycle(); - bool can_edit = true; - - if (dc_key.scope == LLEnvKey::SCOPE_LOCAL) - { - if (!LLDayCycleManager::instance().getPreset(dc_key.name, day_data)) - { - LL_WARNS() << "No day cycle named " << dc_key.name << LL_ENDL; - return; - } - } - else - { - day_data = LLEnvManagerNew::instance().getRegionSettings().getWLDayCycle(); - if (day_data.size() == 0) - { - LL_WARNS() << "Empty region day cycle" << LL_ENDL; - llassert(day_data.size() > 0); - return; - } - - can_edit = LLEnvManagerNew::canEditRegionSettings(); - } - - // We may need to add or remove region skies from the list. - refreshSkyPresetsList(); - - F32 slider_time = mTimeSlider->getCurSliderValue() / sHoursPerDay; - LLWLParamManager::instance().applyDayCycleParams(day_data, dc_key.scope, slider_time); - loadTrack(); -#endif - enableEditing(false); -} - -void LLFloaterEditExtDayCycle::onBtnSave() -{ -#if 0 - LLDayCycleManager& day_mgr = LLDayCycleManager::instance(); - LLWLParamKey selected_day = getSelectedDayCycle(); - - if (selected_day.scope == LLEnvKey::SCOPE_REGION) - { - saveRegionDayCycle(); - closeFloater(); - return; - } - - std::string name = selected_day.name; - if (name.empty()) - { - // *TODO: show an alert - LL_WARNS() << "Empty day cycle name" << LL_ENDL; - return; - } - - // Don't allow overwriting system presets. - if (day_mgr.isSystemPreset(name)) - { - LLNotificationsUtil::add("WLNoEditDefault"); - return; - } - - // Save, ask for confirmation for overwriting an existing preset. - if (day_mgr.presetExists(name)) - { - LLNotificationsUtil::add("WLSavePresetAlert", LLSD(), LLSD(), boost::bind(&LLFloaterEditExtDayCycle::onSaveAnswer, this, _1, _2)); - } - else - { - // new preset, hence no confirmation needed - onSaveConfirmed(); - } -#endif -} - -void LLFloaterEditExtDayCycle::onBtnCancel() -{ - closeFloater(); -} - -bool LLFloaterEditExtDayCycle::onSaveAnswer(const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - - // If they choose save, do it. Otherwise, don't do anything - if (option == 0) - { - onSaveConfirmed(); - } - - return false; -} - -void LLFloaterEditExtDayCycle::onSaveConfirmed() -{ -#if 0 - std::string name = getSelectedDayCycle().name; - - // Save preset. - LLSD data = LLWLParamManager::instance().mDay.asLLSD(); - LL_DEBUGS("Windlight") << "Saving day cycle " << name << ": " << data << LL_ENDL; - LLDayCycleManager::instance().savePreset(name, data); - - // Change preference if requested. - if (mMakeDefaultCheckBox->getValue()) - { - LL_DEBUGS("Windlight") << name << " is now the new preferred day cycle" << LL_ENDL; - LLEnvManagerNew::instance().setUseDayCycle(name); - } -#endif - closeFloater(); -} - -void LLFloaterEditExtDayCycle::onDayCycleListChange() -{ - if (!isNewDay()) - { - refreshDayCyclesList(); - } -} - -void LLFloaterEditExtDayCycle::onSkyPresetListChange() -{ - refreshSkyPresetsList(); - - // Refresh sliders from the currently visible day cycle. - loadTrack(); -} - +// } +// +// void LLFloaterEditExtDayCycle::applyTrack() +// { +// #if 0 +// LL_DEBUGS() << "Applying track (" << mSliderToKey.size() << ")" << LL_ENDL; +// +// // if no keys, do nothing +// if (mSliderToKey.size() == 0) +// { +// LL_DEBUGS() << "No keys, not syncing" << LL_ENDL; +// return; +// } +// +// llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); +// +// // create a new animation track +// LLWLParamManager::getInstance()->mDay.clearKeyframes(); +// +// // add the keys one by one +// for (std::map<std::string, SliderKey>::iterator it = mSliderToKey.begin(); +// it != mSliderToKey.end(); ++it) +// { +// LLWLParamManager::getInstance()->mDay.addKeyframe(it->second.time / sHoursPerDay, +// it->second.keyframe); +// } +// +// // set the param manager's track to the new one +// LLWLParamManager::getInstance()->resetAnimator( +// mTimeSlider->getCurSliderValue() / sHoursPerDay, false); +// +// LLWLParamManager::getInstance()->mAnimator.update( +// LLWLParamManager::getInstance()->mCurParams); +// #endif +// } + +// void LLFloaterEditExtDayCycle::refreshDayCyclesList() +// { +// #if 0 +// llassert(isNewDay() == false); +// +// mDayCyclesCombo->removeall(); +// +// #if 0 // Disable editing existing day cycle until the workflow is clear enough. +// const LLSD& region_day = LLEnvManagerNew::instance().getRegionSettings().getWLDayCycle(); +// if (region_day.size() > 0) +// { +// LLWLParamKey key(getRegionName(), LLEnvKey::SCOPE_REGION); +// mDayCyclesCombo->add(key.name, key.toLLSD()); +// mDayCyclesCombo->addSeparator(); +// } +// #endif +// +// LLDayCycleManager::preset_name_list_t user_days, sys_days; +// LLDayCycleManager::instance().getPresetNames(user_days, sys_days); +// +// // Add user days. +// for (LLDayCycleManager::preset_name_list_t::const_iterator it = user_days.begin(); it != user_days.end(); ++it) +// { +// mDayCyclesCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); +// } +// +// if (user_days.size() > 0) +// { +// mDayCyclesCombo->addSeparator(); +// } +// +// // Add system days. +// for (LLDayCycleManager::preset_name_list_t::const_iterator it = sys_days.begin(); it != sys_days.end(); ++it) +// { +// mDayCyclesCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); +// } +// +// mDayCyclesCombo->setLabel(getString("combo_label")); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onTimeSliderMoved() +// { +// #if 0 +// /// get the slider value +// F32 val = mTimeSlider->getCurSliderValue() / sHoursPerDay; +// +// // set the value, turn off animation +// LLWLParamManager::getInstance()->mAnimator.setDayTime((F64)val); +// LLWLParamManager::getInstance()->mAnimator.deactivate(); +// +// // then call update once +// LLWLParamManager::getInstance()->mAnimator.update( +// LLWLParamManager::getInstance()->mCurParams); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onKeyTimeMoved() +// { +// #if 0 +// if (mKeysSlider->getValue().size() == 0) +// { +// return; +// } +// +// // make sure we have a slider +// const std::string& cur_sldr = mKeysSlider->getCurSlider(); +// if (cur_sldr == "") +// { +// return; +// } +// +// F32 time24 = mKeysSlider->getCurSliderValue(); +// +// // check to see if a key exists +// LLWLParamKey key = mSliderToKey[cur_sldr].keyframe; +// LL_DEBUGS() << "Setting key time: " << time24 << LL_ENDL; +// mSliderToKey[cur_sldr].time = time24; +// +// // if it exists, turn on check box +// mSkyPresetsCombo->selectByValue(key.toStringVal()); +// +// mTimeCtrl->setTime24(time24); +// +// applyTrack(); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onKeyTimeChanged() +// { +// #if 0 +// // if no keys, skipped +// if (mSliderToKey.size() == 0) +// { +// return; +// } +// +// F32 time24 = mTimeCtrl->getTime24(); +// +// const std::string& cur_sldr = mKeysSlider->getCurSlider(); +// mKeysSlider->setCurSliderValue(time24, TRUE); +// F32 time = mKeysSlider->getCurSliderValue() / sHoursPerDay; +// +// // now set the key's time in the sliderToKey map +// LL_DEBUGS() << "Setting key time: " << time << LL_ENDL; +// mSliderToKey[cur_sldr].time = time; +// +// applyTrack(); +// #endif +// } +// +// +// void LLFloaterEditExtDayCycle::onAddKey() +// { +// #if 0 +// llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); +// +// S32 max_sliders; +// LLEnvKey::EScope scope = LLEnvKey::SCOPE_LOCAL; // *TODO: editing region day cycle +// switch (scope) +// { +// case LLEnvKey::SCOPE_LOCAL: +// max_sliders = 20; // *HACK this should be LLWLPacketScrubber::MAX_LOCAL_KEY_FRAMES; +// break; +// case LLEnvKey::SCOPE_REGION: +// max_sliders = 12; // *HACK this should be LLWLPacketScrubber::MAX_REGION_KEY_FRAMES; +// break; +// default: +// max_sliders = (S32) mKeysSlider->getMaxValue(); +// break; +// } +// +// #if 0 +// if ((S32)mSliderToKey.size() >= max_sliders) +// { +// LLSD args; +// args["SCOPE"] = LLEnvManagerNew::getScopeString(scope); +// args["MAX"] = max_sliders; +// LLNotificationsUtil::add("DayCycleTooManyKeyframes", args, LLSD(), LLNotificationFunctorRegistry::instance().DONOTHING); +// return; +// } +// #endif +// +// // add the slider key +// std::string key_val = mSkyPresetsCombo->getSelectedValue().asString(); +// LLWLParamKey sky_params(key_val); +// llassert(!sky_params.name.empty()); +// +// F32 time = mTimeSlider->getCurSliderValue(); +// addSliderKey(time, sky_params); +// +// // apply the change to current day cycles +// applyTrack(); +// #endif +// } +// +// #if 0 +// void LLFloaterEditExtDayCycle::addSliderKey(F32 time, LLWLParamKey keyframe) +// { +// // make a slider +// const std::string& sldr_name = mKeysSlider->addSlider(time); +// if (sldr_name.empty()) +// { +// return; +// } +// +// // set the key +// SliderKey newKey(keyframe, mKeysSlider->getCurSliderValue()); +// +// llassert_always(sldr_name != LLStringUtil::null); +// +// // add to map +// mSliderToKey.insert(std::pair<std::string, SliderKey>(sldr_name, newKey)); +// +// llassert_always(mSliderToKey.size() == mKeysSlider->getValue().size()); +// } +// #endif +// +// #if 0 +// LLWLParamKey LLFloaterEditExtDayCycle::getSelectedDayCycle() +// { +// LLWLParamKey dc_key; +// +// if (mDayCycleNameEditor->getVisible()) +// { +// dc_key.name = mDayCycleNameEditor->getText(); +// dc_key.scope = LLEnvKey::SCOPE_LOCAL; +// } +// else +// { +// LLSD combo_val = mDayCyclesCombo->getValue(); +// +// if (!combo_val.isArray()) // manually typed text +// { +// dc_key.name = combo_val.asString(); +// dc_key.scope = LLEnvKey::SCOPE_LOCAL; +// } +// else +// { +// dc_key.fromLLSD(combo_val); +// } +// } +// +// return dc_key; +// } +// #endif +// +// bool LLFloaterEditExtDayCycle::isNewDay() const +// { +// return mKey.asString() == "new"; +// } +// +// void LLFloaterEditExtDayCycle::dumpTrack() +// { +// #if 0 +// LL_DEBUGS("Windlight") << "Dumping day cycle" << LL_ENDL; +// +// LLWLDayCycle& cur_dayp = LLWLParamManager::instance().mDay; +// for (std::map<F32, LLWLParamKey>::iterator it = cur_dayp.mTimeMap.begin(); it != cur_dayp.mTimeMap.end(); ++it) +// { +// F32 time = it->first * 24.0f; +// S32 h = (S32) time; +// S32 m = (S32) ((time - h) * 60.0f); +// LL_DEBUGS("Windlight") << llformat("(%.3f) %02d:%02d", time, h, m) << " => " << it->second.name << LL_ENDL; +// } +// #endif +// } +// +// void LLFloaterEditExtDayCycle::enableEditing(bool enable) +// { +// mSkyPresetsCombo->setEnabled(enable); +// mTimeCtrl->setEnabled(enable); +// getChild<LLPanel>("day_cycle_slider_panel")->setCtrlsEnabled(enable); +// mSaveButton->setEnabled(enable); +// mMakeDefaultCheckBox->setEnabled(enable); +// } +// +// void LLFloaterEditExtDayCycle::reset() +// { +// #if 0 +// // clear the slider +// mKeysSlider->clear(); +// mSliderToKey.clear(); +// +// refreshSkyPresetsList(); +// +// if (isNewDay()) +// { +// mDayCycleNameEditor->setValue(LLSD()); +// F32 time = 0.5f * sHoursPerDay; +// mSaveButton->setEnabled(FALSE); // will be enabled as soon as users enters a name +// mTimeSlider->setCurSliderValue(time); +// +// addSliderKey(time, LLWLParamKey("Default", LLEnvKey::SCOPE_LOCAL)); +// onKeyTimeMoved(); // update the time control and sky sky combo +// +// applyTrack(); +// } +// else +// { +// refreshDayCyclesList(); +// +// // Disable controls until a day cycle to edit is selected. +// enableEditing(false); +// } +// #endif +// } +// +// void LLFloaterEditExtDayCycle::saveRegionDayCycle() +// { +// #if 0 +// LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance(); +// LLWLDayCycle& cur_dayp = LLWLParamManager::instance().mDay; // the day cycle being edited +// +// // Get current day cycle and the sky preset it references. +// LLSD day_cycle = cur_dayp.asLLSD(); +// LLSD sky_map; +// cur_dayp.getSkyMap(sky_map); +// +// // Apply it to the region. +// LLEnvironmentSettings new_region_settings; +// new_region_settings.saveParams(day_cycle, sky_map, env_mgr.getRegionSettings().getWaterParams(), 0.0f); +// +// #if 1 +// LLEnvManagerNew::instance().setRegionSettings(new_region_settings); +// #else // Temporary disabled ability to upload new region settings from the Day Cycle Editor. +// if (!LLEnvManagerNew::instance().sendRegionSettings(new_region_settings)) +// { +// LL_WARNS() << "Error applying region environment settings" << LL_ENDL; +// return; +// } +// +// setApplyProgress(true); +// #endif +// #endif +// } +// +// void LLFloaterEditExtDayCycle::setApplyProgress(bool started) +// { +// LLLoadingIndicator* indicator = getChild<LLLoadingIndicator>("progress_indicator"); +// +// indicator->setVisible(started); +// +// if (started) +// { +// indicator->start(); +// } +// else +// { +// indicator->stop(); +// } +// } +// +// bool LLFloaterEditExtDayCycle::getApplyProgress() const +// { +// return getChild<LLLoadingIndicator>("progress_indicator")->getVisible(); +// } +// +// void LLFloaterEditExtDayCycle::onDeleteKey() +// { +// #if 0 +// if (mSliderToKey.size() == 0) +// { +// return; +// } +// else if (mSliderToKey.size() == 1) +// { +// LLNotifications::instance().add("EnvCannotDeleteLastDayCycleKey", LLSD(), LLSD()); +// return; +// } +// +// // delete from map +// const std::string& sldr_name = mKeysSlider->getCurSlider(); +// std::map<std::string, SliderKey>::iterator mIt = mSliderToKey.find(sldr_name); +// mSliderToKey.erase(mIt); +// +// mKeysSlider->deleteCurSlider(); +// +// if (mSliderToKey.size() == 0) +// { +// return; +// } +// +// const std::string& name = mKeysSlider->getCurSlider(); +// mSkyPresetsCombo->selectByValue(mSliderToKey[name].keyframe.toStringVal()); +// F32 time24 = mSliderToKey[name].time; +// +// mTimeCtrl->setTime24(time24); +// +// applyTrack(); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onRegionSettingsChange() +// { +// #if 0 +// LL_DEBUGS("Windlight") << "Region settings changed" << LL_ENDL; +// +// if (getApplyProgress()) // our region settings have being applied +// { +// setApplyProgress(false); +// +// // Change preference if requested. +// if (mMakeDefaultCheckBox->getValue()) +// { +// LL_DEBUGS("Windlight") << "Changed environment preference to region settings" << LL_ENDL; +// LLEnvManagerNew::instance().setUseRegionSettings(true); +// } +// +// closeFloater(); +// } +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onRegionChange() +// { +// #if 0 +// LL_DEBUGS("Windlight") << "Region changed" << LL_ENDL; +// +// // If we're editing the region day cycle +// if (getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION) +// { +// reset(); // undoes all unsaved changes +// } +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onRegionSettingsApplied(bool success) +// { +// LL_DEBUGS("Windlight") << "Region settings applied: " << success << LL_ENDL; +// +// if (!success) +// { +// // stop progress indicator +// setApplyProgress(false); +// } +// } +// +// void LLFloaterEditExtDayCycle::onRegionInfoUpdate() +// { +// #if 0 +// LL_DEBUGS("Windlight") << "Region info updated" << LL_ENDL; +// bool can_edit = true; +// +// // If we've selected the region day cycle for editing. +// if (getSelectedDayCycle().scope == LLEnvKey::SCOPE_REGION) +// { +// // check whether we have the access +// can_edit = LLEnvManagerNew::canEditRegionSettings(); +// } +// +// enableEditing(can_edit); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onDayCycleNameEdited() +// { +// #if 0 +// // Disable saving a day cycle having empty name. +// LLWLParamKey key = getSelectedDayCycle(); +// mSaveButton->setEnabled(!key.name.empty()); +// #endif +// } +// +// void LLFloaterEditExtDayCycle::onDayCycleSelected() +// { +// #if 0 +// +// LLSD day_data; +// LLWLParamKey dc_key = getSelectedDayCycle(); +// bool can_edit = true; +// +// if (dc_key.scope == LLEnvKey::SCOPE_LOCAL) +// { +// if (!LLDayCycleManager::instance().getPreset(dc_key.name, day_data)) +// { +// LL_WARNS() << "No day cycle named " << dc_key.name << LL_ENDL; +// return; +// } +// } +// else +// { +// day_data = LLEnvManagerNew::instance().getRegionSettings().getWLDayCycle(); +// if (day_data.size() == 0) +// { +// LL_WARNS() << "Empty region day cycle" << LL_ENDL; +// llassert(day_data.size() > 0); +// return; +// } +// +// can_edit = LLEnvManagerNew::canEditRegionSettings(); +// } +// +// // We may need to add or remove region skies from the list. +// refreshSkyPresetsList(); +// +// F32 slider_time = mTimeSlider->getCurSliderValue() / sHoursPerDay; +// LLWLParamManager::instance().applyDayCycleParams(day_data, dc_key.scope, slider_time); +// loadTrack(); +// #endif +// enableEditing(false); +// } +// +// bool LLFloaterEditExtDayCycle::onSaveAnswer(const LLSD& notification, const LLSD& response) +// { +// S32 option = LLNotificationsUtil::getSelectedOption(notification, response); +// +// // If they choose save, do it. Otherwise, don't do anything +// if (option == 0) +// { +// onSaveConfirmed(); +// } +// +// return false; +// } +// +// void LLFloaterEditExtDayCycle::onSaveConfirmed() +// { +// #if 0 +// std::string name = getSelectedDayCycle().name; +// +// // Save preset. +// LLSD data = LLWLParamManager::instance().mDay.asLLSD(); +// LL_DEBUGS("Windlight") << "Saving day cycle " << name << ": " << data << LL_ENDL; +// LLDayCycleManager::instance().savePreset(name, data); +// +// // Change preference if requested. +// if (mMakeDefaultCheckBox->getValue()) +// { +// LL_DEBUGS("Windlight") << name << " is now the new preferred day cycle" << LL_ENDL; +// LLEnvManagerNew::instance().setUseDayCycle(name); +// } +// #endif +// closeFloater(); +// } +// +// void LLFloaterEditExtDayCycle::onDayCycleListChange() +// { +// if (!isNewDay()) +// { +// refreshDayCyclesList(); +// } +// } +// +// void LLFloaterEditExtDayCycle::onSkyPresetListChange() +// { +// refreshSkyPresetsList(); +// +// // Refresh sliders from the currently visible day cycle. +// loadTrack(); +// } +// // static -std::string LLFloaterEditExtDayCycle::getRegionName() -{ - return gAgent.getRegion() ? gAgent.getRegion()->getName() : LLTrans::getString("Unknown"); -} +// std::string LLFloaterEditExtDayCycle::getRegionName() +// { +// return gAgent.getRegion() ? gAgent.getRegion()->getName() : LLTrans::getString("Unknown"); +// } |