diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/lldaycyclemanager.cpp | 36 | ||||
| -rw-r--r-- | indra/newview/lldaycyclemanager.h | 7 | ||||
| -rw-r--r-- | indra/newview/llenvmanager.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llfloaterdeleteenvpreset.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llfloatereditdaycycle.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llfloaterenvironmentsettings.cpp | 20 | ||||
| -rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 22 | 
7 files changed, 96 insertions, 31 deletions
diff --git a/indra/newview/lldaycyclemanager.cpp b/indra/newview/lldaycyclemanager.cpp index ab442d7c83..347a467a8b 100644 --- a/indra/newview/lldaycyclemanager.cpp +++ b/indra/newview/lldaycyclemanager.cpp @@ -30,12 +30,40 @@  #include "lldiriterator.h" -const LLDayCycleManager::dc_map_t& LLDayCycleManager::getPresets() +void LLDayCycleManager::getPresetNames(preset_name_list_t& names) const  { -	// Refresh day cycles. -	loadAllPresets(); +	names.clear(); + +	for (dc_map_t::const_iterator it = mDayCycleMap.begin(); it != mDayCycleMap.end(); ++it) +	{ +		names.push_back(it->first); +	} +} + +void LLDayCycleManager::getPresetNames(preset_name_list_t& user, preset_name_list_t& sys) const +{ +	user.clear(); +	sys.clear(); -	return mDayCycleMap; +	for (dc_map_t::const_iterator it = mDayCycleMap.begin(); it != mDayCycleMap.end(); ++it) +	{ +		const std::string& name = it->first; + +		if (isSystemPreset(name)) +		{ +			sys.push_back(name); +		} +		else +		{ +			user.push_back(name); +		} +	} +} + +void LLDayCycleManager::getUserPresetNames(preset_name_list_t& user) const +{ +	preset_name_list_t sys; // unused +	getPresetNames(user, sys);  }  bool LLDayCycleManager::getPreset(const std::string name, LLWLDayCycle& day_cycle) const diff --git a/indra/newview/lldaycyclemanager.h b/indra/newview/lldaycyclemanager.h index 032e336491..3d2144960d 100644 --- a/indra/newview/lldaycyclemanager.h +++ b/indra/newview/lldaycyclemanager.h @@ -43,10 +43,15 @@ class LLDayCycleManager : public LLSingleton<LLDayCycleManager>  	LOG_CLASS(LLDayCycleManager);  public: +	typedef std::list<std::string> preset_name_list_t; +  	typedef std::map<std::string, LLWLDayCycle> dc_map_t;  	typedef boost::signals2::signal<void()> modify_signal_t; -	const dc_map_t& getPresets(); +	void getPresetNames(preset_name_list_t& names) const; +	void getPresetNames(preset_name_list_t& user, preset_name_list_t& sys) const; +	void getUserPresetNames(preset_name_list_t& user) const; +  	bool getPreset(const std::string name, LLWLDayCycle& day_cycle) const;  	bool getPreset(const std::string name, LLSD& day_cycle) const;  	bool presetExists(const std::string name) const; diff --git a/indra/newview/llenvmanager.cpp b/indra/newview/llenvmanager.cpp index c08ef34685..4051a4d8db 100644 --- a/indra/newview/llenvmanager.cpp +++ b/indra/newview/llenvmanager.cpp @@ -918,10 +918,11 @@ void LLEnvManagerNew::dumpPresets()  	{  		LL_DEBUGS("Windlight") << " - " << region_name << LL_ENDL;  	} -	const LLDayCycleManager::dc_map_t& map = LLDayCycleManager::instance().getPresets(); -	for (LLDayCycleManager::dc_map_t::const_iterator it = map.begin(); it != map.end(); ++it) +	LLDayCycleManager::preset_name_list_t days; +	LLDayCycleManager::instance().getPresetNames(days); +	for (LLDayCycleManager::preset_name_list_t::const_iterator it = days.begin(); it != days.end(); ++it)  	{ -		LL_DEBUGS("Windlight") << " - " << it->first << LL_ENDL; +		LL_DEBUGS("Windlight") << " - " << *it << LL_ENDL;  	}  } diff --git a/indra/newview/llfloaterdeleteenvpreset.cpp b/indra/newview/llfloaterdeleteenvpreset.cpp index cd9f46e5a2..4fefd2242a 100644 --- a/indra/newview/llfloaterdeleteenvpreset.cpp +++ b/indra/newview/llfloaterdeleteenvpreset.cpp @@ -244,17 +244,11 @@ void LLFloaterDeleteEnvPreset::populateDayCyclesList()  	}  	LLDayCycleManager& day_mgr = LLDayCycleManager::instance(); -	const LLDayCycleManager::dc_map_t& map = day_mgr.getPresets(); -	for (LLDayCycleManager::dc_map_t::const_iterator it = map.begin(); it != map.end(); ++it) +	LLDayCycleManager::preset_name_list_t user_days; +	day_mgr.getUserPresetNames(user_days); // list only user presets +	for (LLDayCycleManager::preset_name_list_t::const_iterator it = user_days.begin(); it != user_days.end(); ++it)  	{ -		const std::string& name = it->first; - -		// list only user presets -		if (day_mgr.isSystemPreset(name)) -		{ -			continue; -		} - +		const std::string& name = *it;  		mPresetCombo->add(name, ADD_BOTTOM, name != cur_day);  	} diff --git a/indra/newview/llfloatereditdaycycle.cpp b/indra/newview/llfloatereditdaycycle.cpp index 4f4739384d..165b271133 100644 --- a/indra/newview/llfloatereditdaycycle.cpp +++ b/indra/newview/llfloatereditdaycycle.cpp @@ -287,11 +287,24 @@ void LLFloaterEditDayCycle::refreshDayCyclesList()  	}  #endif -	const LLDayCycleManager::dc_map_t& map = LLDayCycleManager::instance().getPresets(); -	for (LLDayCycleManager::dc_map_t::const_iterator it = map.begin(); it != map.end(); ++it) +	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)  	{ -		LLWLParamKey key(it->first, LLEnvKey::SCOPE_LOCAL); -		mDayCyclesCombo->add(key.name, key.toLLSD()); +		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")); diff --git a/indra/newview/llfloaterenvironmentsettings.cpp b/indra/newview/llfloaterenvironmentsettings.cpp index e8d123a955..4dbc8cdee0 100644 --- a/indra/newview/llfloaterenvironmentsettings.cpp +++ b/indra/newview/llfloaterenvironmentsettings.cpp @@ -260,9 +260,23 @@ void LLFloaterEnvironmentSettings::populateDayCyclePresetsList()  {  	mDayCyclePresetCombo->removeall(); -	const LLDayCycleManager::dc_map_t& map = LLDayCycleManager::instance().getPresets(); -	for (LLDayCycleManager::dc_map_t::const_iterator it = map.begin(); it != map.end(); ++it) +	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->first); +		mDayCyclePresetCombo->add(*it);  	}  } diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 3734e5e280..4535ad0240 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -3504,13 +3504,23 @@ void LLPanelEnvironmentInfo::populateDayCyclesList()  		mDayCyclePresetCombo->addSeparator();  	} -	// Add local day cycles. -	const LLDayCycleManager::dc_map_t& map = LLDayCycleManager::instance().getPresets(); -	for (LLDayCycleManager::dc_map_t::const_iterator it = map.begin(); it != map.end(); ++it) +	// Add local user day cycles. +	LLDayCycleManager::preset_name_list_t user_days, sys_days; +	LLDayCycleManager::instance().getPresetNames(user_days, sys_days); +	for (LLDayCycleManager::preset_name_list_t::const_iterator it = user_days.begin(); it != user_days.end(); ++it)  	{ -		std::string name = it->first; -		LLWLParamKey key(name, LLEnvKey::SCOPE_LOCAL); -		mDayCyclePresetCombo->add(name, key.toStringVal()); +		mDayCyclePresetCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toStringVal()); +	} + +	if (user_days.size() > 0) +	{ +		mDayCyclePresetCombo->addSeparator(); +	} + +	// Add local system day cycles. +	for (LLDayCycleManager::preset_name_list_t::const_iterator it = sys_days.begin(); it != sys_days.end(); ++it) +	{ +		mDayCyclePresetCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toStringVal());  	}  	// Current day cycle is already selected.  | 
