STORM-1502 FIXED Disable "Delete Water/Sky/Day Preset" dialogs if no user presets exist.

meow-7.2.2
Vadim ProductEngine 2011-07-13 12:02:03 +03:00
parent 44c7c6feaa
commit b1473d4b6b
2 changed files with 46 additions and 0 deletions

View File

@ -44,6 +44,7 @@
#include "llbottomtray.h"
#include "llcompilequeue.h"
#include "llconsole.h"
#include "lldaycyclemanager.h"
#include "lldebugview.h"
#include "llenvmanager.h"
#include "llfilepicker.h"
@ -100,6 +101,7 @@
#include "llworldmap.h"
#include "pipeline.h"
#include "llviewerjoystick.h"
#include "llwaterparammanager.h"
#include "llwlanimator.h"
#include "llwlparammanager.h"
#include "llfloatercamera.h"
@ -7667,6 +7669,40 @@ class LLWorldEnvPreset : public view_listener_t
}
};
class LLWorldEnableEnvPreset : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
std::string item = userdata.asString();
if (item == "delete_water")
{
LLWaterParamManager::preset_name_list_t user_waters;
LLWaterParamManager::instance().getUserPresetNames(user_waters);
return !user_waters.empty();
}
else if (item == "delete_sky")
{
LLWLParamManager::preset_name_list_t user_skies;
LLWLParamManager::instance().getUserPresetNames(user_skies);
return !user_skies.empty();
}
else if (item == "delete_day_cycle")
{
LLDayCycleManager::preset_name_list_t user_days;
LLDayCycleManager::instance().getUserPresetNames(user_days);
return !user_days.empty();
}
else
{
llwarns << "Unknown item" << llendl;
}
return false;
}
};
/// Post-Process callbacks
class LLWorldPostProcess : public view_listener_t
{
@ -7906,6 +7942,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLWorldEnvSettings(), "World.EnvSettings");
view_listener_t::addMenu(new LLWorldEnvPreset(), "World.EnvPreset");
view_listener_t::addMenu(new LLWorldEnableEnvPreset(), "World.EnableEnvPreset");
view_listener_t::addMenu(new LLWorldPostProcess(), "World.PostProcess");
view_listener_t::addMenu(new LLWorldToggleMovementControls(), "World.Toggle.MovementControls");

View File

@ -557,6 +557,9 @@
<menu_item_call.on_click
function="World.EnvPreset"
parameter="delete_water"/>
<menu_item_call.on_enable
function="World.EnableEnvPreset"
parameter="delete_water"/>
</menu_item_call>
</menu>
@ -583,6 +586,9 @@
<menu_item_call.on_click
function="World.EnvPreset"
parameter="delete_sky"/>
<menu_item_call.on_enable
function="World.EnableEnvPreset"
parameter="delete_sky"/>
</menu_item_call>
</menu>
@ -609,6 +615,9 @@
<menu_item_call.on_click
function="World.EnvPreset"
parameter="delete_day_cycle"/>
<menu_item_call.on_enable
function="World.EnableEnvPreset"
parameter="delete_day_cycle"/>
</menu_item_call>
</menu>
</menu>