summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rwxr-xr-xindra/newview/llviewermenu.cpp219
1 files changed, 141 insertions, 78 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index c7c8da27f3..38aaff9279 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -64,6 +64,7 @@
#include "llfloaterinventory.h"
#include "llfloaterimcontainer.h"
#include "llfloaterland.h"
+#include "llfloaterimnearbychat.h"
#include "llfloaterpathfindingcharacters.h"
#include "llfloaterpathfindinglinksets.h"
#include "llfloaterpay.h"
@@ -92,6 +93,7 @@
#include "llparcel.h"
#include "llrootview.h"
#include "llsceneview.h"
+#include "llscenemonitor.h"
#include "llselectmgr.h"
#include "llspellcheckmenuhandler.h"
#include "llstatusbar.h"
@@ -126,6 +128,7 @@
#include "lltoolgrab.h"
#include "llwindow.h"
#include "llpathfindingmanager.h"
+#include "llstartup.h"
#include "boost/unordered_map.hpp"
using namespace LLAvatarAppearanceDefines;
@@ -482,14 +485,12 @@ void init_menus()
gAttachSubMenu = gMenuBarView->findChildMenuByName("Attach Object", TRUE);
gDetachSubMenu = gMenuBarView->findChildMenuByName("Detach Object", TRUE);
-#if !MEM_TRACK_MEM
// Don't display the Memory console menu if the feature is turned off
LLMenuItemCheckGL *memoryMenu = gMenuBarView->getChild<LLMenuItemCheckGL>("Memory", TRUE);
if (memoryMenu)
{
memoryMenu->setVisible(FALSE);
}
-#endif
gMenuBarView->createJumpKeys();
@@ -528,19 +529,17 @@ class LLAdvancedToggleConsole : public view_listener_t
}
else if ("fast timers" == console_type)
{
- LLFloaterReg::toggleInstance("fast_timers");
+ LLFloaterReg::toggleInstance("block_timers");
}
else if ("scene view" == console_type)
{
toggle_visibility( (void*)gSceneView);
}
-
-#if MEM_TRACK_MEM
- else if ("memory view" == console_type)
+ else if ("scene monitor" == console_type)
{
- toggle_visibility( (void*)gDebugView->mMemoryView );
+ toggle_visibility( (void*)gSceneMonitorView);
}
-#endif
+
return true;
}
};
@@ -560,18 +559,16 @@ class LLAdvancedCheckConsole : public view_listener_t
}
else if ("fast timers" == console_type)
{
- new_value = LLFloaterReg::instanceVisible("fast_timers");
+ new_value = LLFloaterReg::instanceVisible("block_timers");
}
else if ("scene view" == console_type)
{
new_value = get_visibility( (void*) gSceneView);
}
-#if MEM_TRACK_MEM
- else if ("memory view" == console_type)
+ else if ("scene monitor" == console_type)
{
- new_value = get_visibility( (void*)gDebugView->mMemoryView );
+ new_value = get_visibility( (void*) gSceneMonitorView);
}
-#endif
return new_value;
}
@@ -1660,7 +1657,7 @@ class LLAdvancedAnimTenFaster : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- //llinfos << "LLAdvancedAnimTenFaster" << llendl;
+ //LL_INFOS() << "LLAdvancedAnimTenFaster" << LL_ENDL;
F32 time_factor = LLMotionController::getCurrentTimeFactor();
time_factor = llmin(time_factor + 0.1f, 2.f); // Upper limit is 200% speed
set_all_animation_time_factors(time_factor);
@@ -1672,7 +1669,7 @@ class LLAdvancedAnimTenSlower : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- //llinfos << "LLAdvancedAnimTenSlower" << llendl;
+ //LL_INFOS() << "LLAdvancedAnimTenSlower" << LL_ENDL;
F32 time_factor = LLMotionController::getCurrentTimeFactor();
time_factor = llmax(time_factor - 0.1f, 0.1f); // Lower limit is at 10% of normal speed
set_all_animation_time_factors(time_factor);
@@ -1971,9 +1968,9 @@ class LLAdvancedViewerEventRecorder : public view_listener_t
std::string command = userdata.asString();
if ("start playback" == command)
{
- llinfos << "Event Playback starting" << llendl;
+ LL_INFOS() << "Event Playback starting" << LL_ENDL;
LLViewerEventRecorder::instance().playbackRecording();
- llinfos << "Event Playback completed" << llendl;
+ LL_INFOS() << "Event Playback completed" << LL_ENDL;
}
else if ("stop playback" == command)
{
@@ -1982,12 +1979,12 @@ class LLAdvancedViewerEventRecorder : public view_listener_t
else if ("start recording" == command)
{
LLViewerEventRecorder::instance().setEventLoggingOn();
- llinfos << "Event recording started" << llendl;
+ LL_INFOS() << "Event recording started" << LL_ENDL;
}
else if ("stop recording" == command)
{
LLViewerEventRecorder::instance().setEventLoggingOff();
- llinfos << "Event recording stopped" << llendl;
+ LL_INFOS() << "Event recording stopped" << LL_ENDL;
}
return true;
@@ -2594,11 +2591,11 @@ bool enable_object_touch(LLUICtrl* ctrl)
LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
if (node && node->mValid && !node->mTouchName.empty())
{
- gMenuHolder->childSetText(item_name, node->mTouchName);
+ gMenuHolder->childSetValue(item_name, node->mTouchName);
}
else
{
- gMenuHolder->childSetText(item_name, get_default_item_label(item_name));
+ gMenuHolder->childSetValue(item_name, get_default_item_label(item_name));
}
return new_value;
@@ -3234,7 +3231,7 @@ class LLAvatarDebug : public view_listener_t
{
((LLVOAvatarSelf *)avatar)->dumpLocalTextures();
}
- llinfos << "Dumping temporary asset data to simulator logs for avatar " << avatar->getID() << llendl;
+ LL_INFOS() << "Dumping temporary asset data to simulator logs for avatar " << avatar->getID() << LL_ENDL;
std::vector<std::string> strings;
strings.push_back(avatar->getID().asString());
LLUUID invoice;
@@ -3508,7 +3505,7 @@ void handle_buy_contents(LLSaleInfo sale_info)
void handle_region_dump_temp_asset_data(void*)
{
- llinfos << "Dumping temporary asset data to simulator logs" << llendl;
+ LL_INFOS() << "Dumping temporary asset data to simulator logs" << LL_ENDL;
std::vector<std::string> strings;
LLUUID invoice;
send_generic_message("dumptempassetdata", strings, invoice);
@@ -3516,7 +3513,7 @@ void handle_region_dump_temp_asset_data(void*)
void handle_region_clear_temp_asset_data(void*)
{
- llinfos << "Clearing temporary asset data" << llendl;
+ LL_INFOS() << "Clearing temporary asset data" << LL_ENDL;
std::vector<std::string> strings;
LLUUID invoice;
send_generic_message("cleartempassetdata", strings, invoice);
@@ -3527,14 +3524,14 @@ void handle_region_dump_settings(void*)
LLViewerRegion* regionp = gAgent.getRegion();
if (regionp)
{
- llinfos << "Damage: " << (regionp->getAllowDamage() ? "on" : "off") << llendl;
- llinfos << "Landmark: " << (regionp->getAllowLandmark() ? "on" : "off") << llendl;
- llinfos << "SetHome: " << (regionp->getAllowSetHome() ? "on" : "off") << llendl;
- llinfos << "ResetHome: " << (regionp->getResetHomeOnTeleport() ? "on" : "off") << llendl;
- llinfos << "SunFixed: " << (regionp->getSunFixed() ? "on" : "off") << llendl;
- llinfos << "BlockFly: " << (regionp->getBlockFly() ? "on" : "off") << llendl;
- llinfos << "AllowP2P: " << (regionp->getAllowDirectTeleport() ? "on" : "off") << llendl;
- llinfos << "Water: " << (regionp->getWaterHeight()) << llendl;
+ LL_INFOS() << "Damage: " << (regionp->getAllowDamage() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "Landmark: " << (regionp->getAllowLandmark() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "SetHome: " << (regionp->getAllowSetHome() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "ResetHome: " << (regionp->getResetHomeOnTeleport() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "SunFixed: " << (regionp->getSunFixed() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "BlockFly: " << (regionp->getBlockFly() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "AllowP2P: " << (regionp->getAllowDirectTeleport() ? "on" : "off") << LL_ENDL;
+ LL_INFOS() << "Water: " << (regionp->getWaterHeight()) << LL_ENDL;
}
}
@@ -3565,7 +3562,7 @@ void handle_dump_focus()
{
LLUICtrl *ctrl = dynamic_cast<LLUICtrl*>(gFocusMgr.getKeyboardFocus());
- llinfos << "Keyboard focus " << (ctrl ? ctrl->getName() : "(none)") << llendl;
+ LL_INFOS() << "Keyboard focus " << (ctrl ? ctrl->getName() : "(none)") << LL_ENDL;
}
class LLSelfStandUp : public view_listener_t
@@ -3777,7 +3774,7 @@ void process_grant_godlike_powers(LLMessageSystem* msg, void**)
}
else
{
- llwarns << "Grant godlike for wrong agent " << agent_id << llendl;
+ LL_WARNS() << "Grant godlike for wrong agent " << agent_id << LL_ENDL;
}
}
@@ -4119,7 +4116,7 @@ class LLEditEnableDuplicate : public view_listener_t
void handle_duplicate_in_place(void*)
{
- llinfos << "handle_duplicate_in_place" << llendl;
+ LL_INFOS() << "handle_duplicate_in_place" << LL_ENDL;
LLVector3 offset(0.f, 0.f, 0.f);
LLSelectMgr::getInstance()->selectDuplicate(offset, TRUE);
@@ -4290,13 +4287,16 @@ static bool get_derezzable_objects(
EDeRezDestination dest,
std::string& error,
LLViewerRegion*& first_region,
- LLDynamicArray<LLViewerObjectPtr>* derez_objectsp,
+ std::vector<LLViewerObjectPtr>* derez_objectsp,
bool only_check = false)
{
bool found = false;
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
+ if (derez_objectsp)
+ derez_objectsp->reserve(selection->getRootObjectCount());
+
// Check conditions that we can't deal with, building a list of
// everything that we'll actually be derezzing.
for (LLObjectSelection::valid_root_iterator iter = selection->valid_root_begin();
@@ -4333,7 +4333,7 @@ static bool get_derezzable_objects(
&& dest != DRD_RETURN_TO_OWNER)
{
// this object is an asset container, derez its contents, not it
- llwarns << "Attempt to derez deprecated AssetContainer object type not supported." << llendl;
+ LL_WARNS() << "Attempt to derez deprecated AssetContainer object type not supported." << LL_ENDL;
/*
object->requestInventory(container_inventory_arrived,
(void *)(BOOL)(DRD_TAKE_INTO_AGENT_INVENTORY == dest));
@@ -4375,7 +4375,7 @@ static bool get_derezzable_objects(
break;
if (derez_objectsp)
- derez_objectsp->put(object);
+ derez_objectsp->push_back(object);
}
}
@@ -4395,16 +4395,16 @@ static void derez_objects(
const LLUUID& dest_id,
LLViewerRegion*& first_region,
std::string& error,
- LLDynamicArray<LLViewerObjectPtr>* objectsp)
+ std::vector<LLViewerObjectPtr>* objectsp)
{
- LLDynamicArray<LLViewerObjectPtr> derez_objects;
+ std::vector<LLViewerObjectPtr> derez_objects;
if (!objectsp) // if objects to derez not specified
{
// get them from selection
if (!get_derezzable_objects(dest, error, first_region, &derez_objects, false))
{
- llwarns << "No objects to derez" << llendl;
+ LL_WARNS() << "No objects to derez" << LL_ENDL;
return;
}
@@ -4424,13 +4424,13 @@ static void derez_objects(
// satisfy anybody.
const S32 MAX_ROOTS_PER_PACKET = 250;
const S32 MAX_PACKET_COUNT = 254;
- F32 packets = ceil((F32)objectsp->count() / (F32)MAX_ROOTS_PER_PACKET);
+ F32 packets = ceil((F32)objectsp->size() / (F32)MAX_ROOTS_PER_PACKET);
if(packets > (F32)MAX_PACKET_COUNT)
{
error = "AcquireErrorTooManyObjects";
}
- if(error.empty() && objectsp->count() > 0)
+ if(error.empty() && objectsp->size() > 0)
{
U8 d = (U8)dest;
LLUUID tid;
@@ -4455,11 +4455,11 @@ static void derez_objects(
msg->addU8Fast(_PREHASH_PacketCount, packet_count);
msg->addU8Fast(_PREHASH_PacketNumber, packet_number);
objects_in_packet = 0;
- while((object_index < objectsp->count())
+ while((object_index < objectsp->size())
&& (objects_in_packet++ < MAX_ROOTS_PER_PACKET))
{
- LLViewerObject* object = objectsp->get(object_index++);
+ LLViewerObject* object = objectsp->at(object_index++);
msg->nextBlockFast(_PREHASH_ObjectData);
msg->addU32Fast(_PREHASH_ObjectLocalID, object->getLocalID());
// VEFFECT: DerezObject
@@ -4539,7 +4539,7 @@ private:
LLObjectSelectionHandle mObjectSelection;
- LLDynamicArray<LLViewerObjectPtr> mReturnableObjects;
+ std::vector<LLViewerObjectPtr> mReturnableObjects;
std::string mError;
LLViewerRegion* mFirstRegion;
};
@@ -4892,7 +4892,7 @@ bool callback_show_buy_currency(const LLSD& notification, const LLSD& response)
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option)
{
- llinfos << "Loading page " << LLNotifications::instance().getGlobalString("BUY_CURRENCY_URL") << llendl;
+ LL_INFOS() << "Loading page " << LLNotifications::instance().getGlobalString("BUY_CURRENCY_URL") << LL_ENDL;
LLWeb::loadURL(LLNotifications::instance().getGlobalString("BUY_CURRENCY_URL"));
}
return false;
@@ -5411,7 +5411,7 @@ public:
};
LLObjectSelectionHandle mObjectSelection;
- LLDynamicArray<LLViewerObjectPtr> mReturnableObjects;
+ std::vector<LLViewerObjectPtr> mReturnableObjects;
std::string mError;
LLViewerRegion *mFirstRegion;
};
@@ -5579,7 +5579,7 @@ void print_agent_nvpairs(void*)
{
LLViewerObject *objectp;
- llinfos << "Agent Name Value Pairs" << llendl;
+ LL_INFOS() << "Agent Name Value Pairs" << LL_ENDL;
objectp = gObjectList.findObject(gAgentID);
if (objectp)
@@ -5588,10 +5588,10 @@ void print_agent_nvpairs(void*)
}
else
{
- llinfos << "Can't find agent object" << llendl;
+ LL_INFOS() << "Can't find agent object" << LL_ENDL;
}
- llinfos << "Camera at " << gAgentCamera.getCameraPositionGlobal() << llendl;
+ LL_INFOS() << "Camera at " << gAgentCamera.getCameraPositionGlobal() << LL_ENDL;
}
void show_debug_menus()
@@ -5644,7 +5644,7 @@ void toggle_debug_menus(void*)
// {
// return;
// }
-// llinfos << "Exporting selected objects:" << llendl;
+// LL_INFOS() << "Exporting selected objects:" << LL_ENDL;
// gExporterRequestID.generate();
// gExportDirectory = "";
@@ -5663,13 +5663,32 @@ void toggle_debug_menus(void*)
// LLViewerObject* object = node->getObject();
// msg->nextBlockFast(_PREHASH_ObjectData);
// msg->addUUIDFast(_PREHASH_ObjectID, object->getID());
-// llinfos << "Object: " << object->getID() << llendl;
+// LL_INFOS() << "Object: " << object->getID() << LL_ENDL;
// }
// msg->sendReliable(gAgent.getRegion()->getHost());
// gExportDialog = LLUploadDialog::modalUploadDialog("Exporting selected objects...");
// }
//
+
+class LLCommunicateNearbyChat : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ LLFloaterIMContainer* im_box = LLFloaterIMContainer::getInstance();
+ bool nearby_visible = LLFloaterReg::getTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")->isInVisibleChain();
+ if(nearby_visible && im_box->getSelectedSession() == LLUUID() && im_box->getConversationListItemSize() > 1)
+ {
+ im_box->selectNextorPreviousConversation(false);
+ }
+ else
+ {
+ LLFloaterReg::toggleInstanceOrBringToFront("nearby_chat");
+ }
+ return true;
+ }
+};
+
class LLWorldSetHomeLocation : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -6005,11 +6024,11 @@ bool enable_object_sit(LLUICtrl* ctrl)
LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
if (node && node->mValid && !node->mSitName.empty())
{
- gMenuHolder->childSetText(item_name, node->mSitName);
+ gMenuHolder->childSetValue(item_name, node->mSitName);
}
else
{
- gMenuHolder->childSetText(item_name, get_default_item_label(item_name));
+ gMenuHolder->childSetValue(item_name, get_default_item_label(item_name));
}
}
return !sitting_on_sel && is_object_sittable();
@@ -6186,7 +6205,7 @@ class LLPromptShowURL : public view_listener_t
std::string alert = param.substr(0, offset);
std::string url = param.substr(offset+1);
- if(gSavedSettings.getBOOL("UseExternalBrowser"))
+ if (LLWeb::useExternalBrowser(url))
{
LLSD payload;
payload["url"] = url;
@@ -6199,7 +6218,7 @@ class LLPromptShowURL : public view_listener_t
}
else
{
- llinfos << "PromptShowURL invalid parameters! Expecting \"ALERT,URL\"." << llendl;
+ LL_INFOS() << "PromptShowURL invalid parameters! Expecting \"ALERT,URL\"." << LL_ENDL;
}
return true;
}
@@ -6232,7 +6251,7 @@ class LLPromptShowFile : public view_listener_t
}
else
{
- llinfos << "PromptShowFile invalid parameters! Expecting \"ALERT,FILE\"." << llendl;
+ LL_INFOS() << "PromptShowFile invalid parameters! Expecting \"ALERT,FILE\"." << LL_ENDL;
}
return true;
}
@@ -6515,7 +6534,7 @@ void callback_attachment_drop(const LLSD& notification, const LLSD& response)
if (!object)
{
- llwarns << "handle_drop_attachment() - no object to drop" << llendl;
+ LL_WARNS() << "handle_drop_attachment() - no object to drop" << LL_ENDL;
return;
}
@@ -6532,13 +6551,13 @@ void callback_attachment_drop(const LLSD& notification, const LLSD& response)
if (!object)
{
- llwarns << "handle_detach() - no object to detach" << llendl;
+ LL_WARNS() << "handle_detach() - no object to detach" << LL_ENDL;
return;
}
if (object->isAvatar())
{
- llwarns << "Trying to detach avatar from avatar." << llendl;
+ LL_WARNS() << "Trying to detach avatar from avatar." << LL_ENDL;
return;
}
@@ -6563,7 +6582,7 @@ class LLAttachmentDrop : public view_listener_t
}
else
{
- llwarns << "Drop object not found" << llendl;
+ LL_WARNS() << "Drop object not found" << LL_ENDL;
return true;
}
@@ -6637,7 +6656,7 @@ class LLAttachmentDetach : public view_listener_t
LLViewerObject *object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
if (!object)
{
- llwarns << "handle_detach() - no object to detach" << llendl;
+ LL_WARNS() << "handle_detach() - no object to detach" << LL_ENDL;
return true;
}
@@ -6654,13 +6673,13 @@ class LLAttachmentDetach : public view_listener_t
if (!object)
{
- llwarns << "handle_detach() - no object to detach" << llendl;
+ LL_WARNS() << "handle_detach() - no object to detach" << LL_ENDL;
return true;
}
if (object->isAvatar())
{
- llwarns << "Trying to detach avatar from avatar." << llendl;
+ LL_WARNS() << "Trying to detach avatar from avatar." << LL_ENDL;
return true;
}
@@ -6924,14 +6943,14 @@ void queue_actions(LLFloaterScriptQueue* q, const std::string& msg)
}
else
{
- llerrs << "Bad logic." << llendl;
+ LL_ERRS() << "Bad logic." << LL_ENDL;
}
}
else
{
if (!q->start())
{
- llwarns << "Unexpected script compile failure." << llendl;
+ LL_WARNS() << "Unexpected script compile failure." << LL_ENDL;
}
}
}
@@ -6986,7 +7005,7 @@ class LLToolsSelectedScriptAction : public view_listener_t
}
else
{
- llwarns << "Failed to generate LLFloaterScriptQueue with action: " << action << llendl;
+ LL_WARNS() << "Failed to generate LLFloaterScriptQueue with action: " << action << LL_ENDL;
}
return true;
}
@@ -7118,12 +7137,12 @@ void handle_dump_attachments(void*)
!attached_object->mDrawable->isRenderType(0));
LLVector3 pos;
if (visible) pos = attached_object->mDrawable->getPosition();
- llinfos << "ATTACHMENT " << key << ": item_id=" << attached_object->getAttachmentItemID()
+ LL_INFOS() << "ATTACHMENT " << key << ": item_id=" << attached_object->getAttachmentItemID()
<< (attached_object ? " present " : " absent ")
<< (visible ? "visible " : "invisible ")
<< " at " << pos
<< " and " << (visible ? attached_object->getPosition() : LLVector3::zero)
- << llendl;
+ << LL_ENDL;
}
}
}
@@ -7556,7 +7575,7 @@ void handle_dump_avatar_local_textures(void*)
void handle_dump_timers()
{
- LLFastTimer::dumpCurTimes();
+ LLTrace::BlockTimer::dumpCurTimes();
}
void handle_debug_avatar_textures(void*)
@@ -7574,7 +7593,7 @@ void handle_grab_baked_texture(void* data)
if (!isAgentAvatarValid()) return;
const LLUUID& asset_id = gAgentAvatarp->grabBakedTexture(baked_tex_index);
- LL_INFOS("texture") << "Adding baked texture " << asset_id << " to inventory." << llendl;
+ LL_INFOS("texture") << "Adding baked texture " << asset_id << " to inventory." << LL_ENDL;
LLAssetType::EType asset_type = LLAssetType::AT_TEXTURE;
LLInventoryType::EType inv_type = LLInventoryType::IT_TEXTURE;
const LLUUID folder_id = gInventory.findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(asset_type));
@@ -7630,7 +7649,7 @@ void handle_grab_baked_texture(void* data)
}
else
{
- llwarns << "Can't find a folder to put it in" << llendl;
+ LL_WARNS() << "Can't find a folder to put it in" << LL_ENDL;
}
}
@@ -7806,7 +7825,7 @@ void handle_web_content_test(const LLSD& param)
void handle_show_url(const LLSD& param)
{
std::string url = param.asString();
- if(gSavedSettings.getBOOL("UseExternalBrowser"))
+ if (LLWeb::useExternalBrowser(url))
{
LLWeb::loadURLExternal(url);
}
@@ -7825,7 +7844,7 @@ void handle_report_bug(const LLSD& param)
replace["[ENVIRONMENT]"] = LLURI::escape(LLAppViewer::instance()->getViewerInfoString());
LLSLURL location_url;
LLAgentUI::buildSLURL(location_url);
- replace["[LOCATION]"] = location_url.getSLURLString();
+ replace["[LOCATION]"] = LLURI::escape(location_url.getSLURLString());
LLUIString file_bug_url = gSavedSettings.getString("ReportBugURL");
file_bug_url.setArgs(replace);
@@ -7844,11 +7863,12 @@ void handle_buy_currency_test(void*)
replace["[LANGUAGE]"] = LLUI::getLanguage();
LLStringUtil::format(url, replace);
- llinfos << "buy currency url " << url << llendl;
+ LL_INFOS() << "buy currency url " << url << LL_ENDL;
LLFloaterReg::showInstance("buy_currency_html", LLSD(url));
}
+// SUNSHINE CLEANUP - is only the request update at the end needed now?
void handle_rebake_textures(void*)
{
if (!isAgentAvatarValid()) return;
@@ -8235,6 +8255,45 @@ class LLWorldEnvSettings : public view_listener_t
}
};
+class LLWorldEnableEnvSettings : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ bool result = false;
+ std::string tod = userdata.asString();
+
+ if (LLEnvManagerNew::instance().getUseRegionSettings())
+ {
+ return (tod == "region");
+ }
+
+ if (LLEnvManagerNew::instance().getUseFixedSky())
+ {
+ if (tod == "sunrise")
+ {
+ result = (LLEnvManagerNew::instance().getSkyPresetName() == "Sunrise");
+ }
+ else if (tod == "noon")
+ {
+ result = (LLEnvManagerNew::instance().getSkyPresetName() == "Midday");
+ }
+ else if (tod == "sunset")
+ {
+ result = (LLEnvManagerNew::instance().getSkyPresetName() == "Sunset");
+ }
+ else if (tod == "midnight")
+ {
+ result = (LLEnvManagerNew::instance().getSkyPresetName() == "Midnight");
+ }
+ else
+ {
+ llwarns << "Unknown item" << llendl;
+ }
+ }
+ return result;
+ }
+};
+
class LLWorldEnvPreset : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -8279,7 +8338,7 @@ class LLWorldEnvPreset : public view_listener_t
}
else
{
- llwarns << "Unknown item selected" << llendl;
+ LL_WARNS() << "Unknown item selected" << LL_ENDL;
}
return true;
@@ -8312,7 +8371,7 @@ class LLWorldEnableEnvPreset : public view_listener_t
}
else
{
- llwarns << "Unknown item" << llendl;
+ LL_WARNS() << "Unknown item" << LL_ENDL;
}
return false;
@@ -8548,6 +8607,9 @@ void initialize_menus()
// Me > Movement
view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying");
+ //Communicate Nearby chat
+ view_listener_t::addMenu(new LLCommunicateNearbyChat(), "Communicate.NearbyChat");
+
// Communicate > Voice morphing > Subscribe...
commit.add("Communicate.VoiceMorphing.Subscribe", boost::bind(&handle_voice_morphing_subscribe));
LLVivoxVoiceClient * voice_clientp = LLVivoxVoiceClient::getInstance();
@@ -8573,6 +8635,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLWorldCheckAlwaysRun(), "World.CheckAlwaysRun");
view_listener_t::addMenu(new LLWorldEnvSettings(), "World.EnvSettings");
+ view_listener_t::addMenu(new LLWorldEnableEnvSettings(), "World.EnableEnvSettings");
view_listener_t::addMenu(new LLWorldEnvPreset(), "World.EnvPreset");
view_listener_t::addMenu(new LLWorldEnableEnvPreset(), "World.EnableEnvPreset");
view_listener_t::addMenu(new LLWorldPostProcess(), "World.PostProcess");