summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterenvironmentsettings.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-20 21:21:12 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-20 21:21:12 +0300
commit7a311fe30ee3c4a4de0149822b0670f612eb4a67 (patch)
treeaacf08a74bf2214c17d6de7c5edaa1a6da8d9eec /indra/newview/llfloaterenvironmentsettings.cpp
parent6666fdb5d6f52df3d68bed35a4ad05139f49f93c (diff)
parentd7f1c88c35849e56f5b352f13c16a08467d1533b (diff)
Merge branch 'master' into DRTVWR-497
Diffstat (limited to 'indra/newview/llfloaterenvironmentsettings.cpp')
-rw-r--r--indra/newview/llfloaterenvironmentsettings.cpp282
1 files changed, 0 insertions, 282 deletions
diff --git a/indra/newview/llfloaterenvironmentsettings.cpp b/indra/newview/llfloaterenvironmentsettings.cpp
deleted file mode 100644
index 4dbc8cdee0..0000000000
--- a/indra/newview/llfloaterenvironmentsettings.cpp
+++ /dev/null
@@ -1,282 +0,0 @@
-/**
- * @file llfloaterenvironmentsettings.cpp
- * @brief LLFloaterEnvironmentSettings class definition
- *
- * $LicenseInfo:firstyear=2011&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2011, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#include "llviewerprecompiledheaders.h"
-
-#include "llfloaterenvironmentsettings.h"
-
-#include "llcombobox.h"
-#include "llradiogroup.h"
-
-#include "lldaycyclemanager.h"
-#include "llenvmanager.h"
-#include "llwaterparammanager.h"
-#include "llwlparamset.h"
-#include "llwlparammanager.h"
-
-LLFloaterEnvironmentSettings::LLFloaterEnvironmentSettings(const LLSD &key)
-: LLFloater(key)
- ,mRegionSettingsRadioGroup(NULL)
- ,mDayCycleSettingsRadioGroup(NULL)
- ,mWaterPresetCombo(NULL)
- ,mSkyPresetCombo(NULL)
- ,mDayCyclePresetCombo(NULL)
-{
-}
-
-// virtual
-BOOL LLFloaterEnvironmentSettings::postBuild()
-{
- mRegionSettingsRadioGroup = getChild<LLRadioGroup>("region_settings_radio_group");
- mRegionSettingsRadioGroup->setCommitCallback(boost::bind(&LLFloaterEnvironmentSettings::onSwitchRegionSettings, this));
-
- mDayCycleSettingsRadioGroup = getChild<LLRadioGroup>("sky_dayc_settings_radio_group");
- mDayCycleSettingsRadioGroup->setCommitCallback(boost::bind(&LLFloaterEnvironmentSettings::onSwitchDayCycle, this));
-
- mWaterPresetCombo = getChild<LLComboBox>("water_settings_preset_combo");
- mWaterPresetCombo->setCommitCallback(boost::bind(&LLFloaterEnvironmentSettings::onSelectWaterPreset, this));
-
- mSkyPresetCombo = getChild<LLComboBox>("sky_settings_preset_combo");
- mSkyPresetCombo->setCommitCallback(boost::bind(&LLFloaterEnvironmentSettings::onSelectSkyPreset, this));
-
- mDayCyclePresetCombo = getChild<LLComboBox>("dayc_settings_preset_combo");
- mDayCyclePresetCombo->setCommitCallback(boost::bind(&LLFloaterEnvironmentSettings::onSelectDayCyclePreset, this));
-
- childSetCommitCallback("ok_btn", boost::bind(&LLFloaterEnvironmentSettings::onBtnOK, this), NULL);
- getChild<LLUICtrl>("ok_btn")->setRightMouseDownCallback(boost::bind(&LLEnvManagerNew::dumpUserPrefs, LLEnvManagerNew::getInstance()));
- childSetCommitCallback("cancel_btn", boost::bind(&LLFloaterEnvironmentSettings::onBtnCancel, this), NULL);
- getChild<LLUICtrl>("cancel_btn")->setRightMouseDownCallback(boost::bind(&LLEnvManagerNew::dumpPresets, LLEnvManagerNew::getInstance()));
-
- setCloseCallback(boost::bind(&LLFloaterEnvironmentSettings::cancel, this));
-
- LLEnvManagerNew::instance().setPreferencesChangeCallback(boost::bind(&LLFloaterEnvironmentSettings::refresh, this));
- LLDayCycleManager::instance().setModifyCallback(boost::bind(&LLFloaterEnvironmentSettings::populateDayCyclePresetsList, this));
- LLWLParamManager::instance().setPresetListChangeCallback(boost::bind(&LLFloaterEnvironmentSettings::populateSkyPresetsList, this));
- LLWaterParamManager::instance().setPresetListChangeCallback(boost::bind(&LLFloaterEnvironmentSettings::populateWaterPresetsList, this));
-
- return TRUE;
-}
-
-// virtual
-void LLFloaterEnvironmentSettings::onOpen(const LLSD& key)
-{
- refresh();
-}
-
-void LLFloaterEnvironmentSettings::onSwitchRegionSettings()
-{
- getChild<LLView>("user_environment_settings")->setEnabled(mRegionSettingsRadioGroup->getSelectedIndex() != 0);
-
- apply();
-}
-
-void LLFloaterEnvironmentSettings::onSwitchDayCycle()
-{
- bool is_fixed_sky = mDayCycleSettingsRadioGroup->getSelectedIndex() == 0;
-
- mSkyPresetCombo->setEnabled(is_fixed_sky);
- mDayCyclePresetCombo->setEnabled(!is_fixed_sky);
-
- apply();
-}
-
-void LLFloaterEnvironmentSettings::onSelectWaterPreset()
-{
- apply();
-}
-
-void LLFloaterEnvironmentSettings::onSelectSkyPreset()
-{
- apply();
-}
-
-void LLFloaterEnvironmentSettings::onSelectDayCyclePreset()
-{
- apply();
-}
-
-void LLFloaterEnvironmentSettings::onBtnOK()
-{
- // Save and apply new user preferences.
- bool use_region_settings = mRegionSettingsRadioGroup->getSelectedIndex() == 0;
- bool use_fixed_sky = mDayCycleSettingsRadioGroup->getSelectedIndex() == 0;
- std::string water_preset = mWaterPresetCombo->getValue().asString();
- std::string sky_preset = mSkyPresetCombo->getValue().asString();
- std::string day_cycle = mDayCyclePresetCombo->getValue().asString();
-
- LLEnvManagerNew::instance().setUserPrefs(
- water_preset,
- sky_preset,
- day_cycle,
- use_fixed_sky,
- use_region_settings);
-
- // *TODO: This triggers applying user preferences again, which is suboptimal.
- closeFloater();
-}
-
-void LLFloaterEnvironmentSettings::onBtnCancel()
-{
- closeFloater();
-}
-
-void LLFloaterEnvironmentSettings::refresh()
-{
- LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance();
-
- bool use_region_settings = env_mgr.getUseRegionSettings();
- bool use_fixed_sky = env_mgr.getUseFixedSky();
-
- // Set up radio buttons according to user preferences.
- mRegionSettingsRadioGroup->setSelectedIndex(use_region_settings ? 0 : 1);
- mDayCycleSettingsRadioGroup->setSelectedIndex(use_fixed_sky ? 0 : 1);
-
- // Populate the combo boxes with appropriate lists of available presets.
- populateWaterPresetsList();
- populateSkyPresetsList();
- populateDayCyclePresetsList();
-
- // Enable/disable other controls based on user preferences.
- getChild<LLView>("user_environment_settings")->setEnabled(!use_region_settings);
- mSkyPresetCombo->setEnabled(use_fixed_sky);
- mDayCyclePresetCombo->setEnabled(!use_fixed_sky);
-
- // Select the current presets in combo boxes.
- mWaterPresetCombo->selectByValue(env_mgr.getWaterPresetName());
- mSkyPresetCombo->selectByValue(env_mgr.getSkyPresetName());
- mDayCyclePresetCombo->selectByValue(env_mgr.getDayCycleName());
-}
-
-void LLFloaterEnvironmentSettings::apply()
-{
- // Update environment with the user choice.
- bool use_region_settings = mRegionSettingsRadioGroup->getSelectedIndex() == 0;
- bool use_fixed_sky = mDayCycleSettingsRadioGroup->getSelectedIndex() == 0;
- std::string water_preset = mWaterPresetCombo->getValue().asString();
- std::string sky_preset = mSkyPresetCombo->getValue().asString();
- std::string day_cycle = mDayCyclePresetCombo->getValue().asString();
-
- LLEnvManagerNew& env_mgr = LLEnvManagerNew::instance();
- if (use_region_settings)
- {
- env_mgr.useRegionSettings();
- }
- else
- {
- if (use_fixed_sky)
- {
- env_mgr.useSkyPreset(sky_preset);
- }
- else
- {
- env_mgr.useDayCycle(day_cycle, LLEnvKey::SCOPE_LOCAL);
- }
-
- env_mgr.useWaterPreset(water_preset);
- }
-}
-
-void LLFloaterEnvironmentSettings::cancel()
-{
- // Revert environment to user preferences.
- LLEnvManagerNew::instance().usePrefs();
-}
-
-void LLFloaterEnvironmentSettings::populateWaterPresetsList()
-{
- mWaterPresetCombo->removeall();
-
- std::list<std::string> user_presets, system_presets;
- LLWaterParamManager::instance().getPresetNames(user_presets, system_presets);
-
- // Add user presets first.
- for (std::list<std::string>::const_iterator it = user_presets.begin(); it != user_presets.end(); ++it)
- {
- mWaterPresetCombo->add(*it);
- }
-
- if (user_presets.size() > 0)
- {
- mWaterPresetCombo->addSeparator();
- }
-
- // Add system presets.
- for (std::list<std::string>::const_iterator it = system_presets.begin(); it != system_presets.end(); ++it)
- {
- mWaterPresetCombo->add(*it);
- }
-}
-
-void LLFloaterEnvironmentSettings::populateSkyPresetsList()
-{
- mSkyPresetCombo->removeall();
-
- LLWLParamManager::preset_name_list_t region_presets; // unused as we don't list region presets here
- LLWLParamManager::preset_name_list_t user_presets, sys_presets;
- LLWLParamManager::instance().getPresetNames(region_presets, user_presets, sys_presets);
-
- // Add user presets.
- for (LLWLParamManager::preset_name_list_t::const_iterator it = user_presets.begin(); it != user_presets.end(); ++it)
- {
- mSkyPresetCombo->add(*it);
- }
-
- if (!user_presets.empty())
- {
- mSkyPresetCombo->addSeparator();
- }
-
- // Add system presets.
- for (LLWLParamManager::preset_name_list_t::const_iterator it = sys_presets.begin(); it != sys_presets.end(); ++it)
- {
- mSkyPresetCombo->add(*it);
- }
-}
-
-void LLFloaterEnvironmentSettings::populateDayCyclePresetsList()
-{
- mDayCyclePresetCombo->removeall();
-
- 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)
- {
- mDayCyclePresetCombo->add(*it);
- }
-
- if (user_days.size() > 0)
- {
- mDayCyclePresetCombo->addSeparator();
- }
-
- // Add system days.
- for (LLDayCycleManager::preset_name_list_t::const_iterator it = sys_days.begin(); it != sys_days.end(); ++it)
- {
- mDayCyclePresetCombo->add(*it);
- }
-}