aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llviewermenu.cpp')
-rw-r--r--linden/indra/newview/llviewermenu.cpp219
1 files changed, 55 insertions, 164 deletions
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 217fb80..64f1af8 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -4,6 +4,7 @@
4 * 4 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 5 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 6 *
7 * Second Life Viewer Source Code
7 * The source code in this file ("Source Code") is provided by Linden Lab 8 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0 9 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement 10 * ("GPL"), unless you have obtained a separate licensing agreement
@@ -100,6 +101,7 @@
100#include "llfloatergodtools.h" 101#include "llfloatergodtools.h"
101#include "llfloatergroupinfo.h" 102#include "llfloatergroupinfo.h"
102#include "llfloatergroups.h" 103#include "llfloatergroups.h"
104#include "llfloaterhtml.h"
103#include "llfloaterhtmlhelp.h" 105#include "llfloaterhtmlhelp.h"
104#include "llfloaterhtmlfind.h" 106#include "llfloaterhtmlfind.h"
105#include "llfloaterimport.h" 107#include "llfloaterimport.h"
@@ -113,7 +115,6 @@
113#include "llfloateropenobject.h" 115#include "llfloateropenobject.h"
114#include "llfloaterpermissionsmgr.h" 116#include "llfloaterpermissionsmgr.h"
115#include "llfloaterpreference.h" 117#include "llfloaterpreference.h"
116#include "llfloaterrate.h"
117#include "llfloaterregioninfo.h" 118#include "llfloaterregioninfo.h"
118#include "llfloaterreporter.h" 119#include "llfloaterreporter.h"
119#include "llfloaterscriptdebug.h" 120#include "llfloaterscriptdebug.h"
@@ -173,6 +174,7 @@
173#include "lluuid.h" 174#include "lluuid.h"
174#include "llvelocitybar.h" 175#include "llvelocitybar.h"
175#include "llviewercamera.h" 176#include "llviewercamera.h"
177#include "llviewergenericmessage.h"
176#include "llviewergesture.h" 178#include "llviewergesture.h"
177#include "llviewerimagelist.h" 179#include "llviewerimagelist.h"
178#include "llviewerinventory.h" 180#include "llviewerinventory.h"
@@ -193,6 +195,7 @@
193#include "pipeline.h" 195#include "pipeline.h"
194#include "viewer.h" 196#include "viewer.h"
195#include "roles_constants.h" 197#include "roles_constants.h"
198#include "llviewerjoystick.h"
196 199
197#include "lltexlayer.h" 200#include "lltexlayer.h"
198 201
@@ -394,8 +397,6 @@ void handle_force_parcel_owner_to_me(void*);
394void handle_force_parcel_to_content(void*); 397void handle_force_parcel_to_content(void*);
395void handle_claim_public_land(void*); 398void handle_claim_public_land(void*);
396 399
397void handle_god_expunge_user(void*);
398
399void handle_god_request_havok(void *); 400void handle_god_request_havok(void *);
400void handle_god_request_avatar_geometry(void *); // Hack for easy testing of new avatar geometry 401void handle_god_request_avatar_geometry(void *); // Hack for easy testing of new avatar geometry
401void reload_personal_settings_overrides(void *); 402void reload_personal_settings_overrides(void *);
@@ -441,6 +442,8 @@ void handle_dump_image_list(void*);
441void handle_fullscreen_debug(void*); 442void handle_fullscreen_debug(void*);
442void handle_crash(void*); 443void handle_crash(void*);
443void handle_dump_followcam(void*); 444void handle_dump_followcam(void*);
445void handle_toggle_flycam(void*);
446BOOL check_flycam(void*);
444void handle_viewer_enable_message_log(void*); 447void handle_viewer_enable_message_log(void*);
445void handle_viewer_disable_message_log(void*); 448void handle_viewer_disable_message_log(void*);
446void handle_send_postcard(void*); 449void handle_send_postcard(void*);
@@ -903,6 +906,9 @@ void init_client_menu(LLMenuGL* menu)
903 menu->append(new LLMenuItemToggleGL("Disable Camera Constraints", 906 menu->append(new LLMenuItemToggleGL("Disable Camera Constraints",
904 &LLViewerCamera::sDisableCameraConstraints)); 907 &LLViewerCamera::sDisableCameraConstraints));
905 908
909 menu->append(new LLMenuItemCheckGL("Joystick Flycam",
910 &handle_toggle_flycam,NULL,&check_flycam,NULL));
911
906 menu->append(new LLMenuItemCheckGL("Mouse Smoothing", 912 menu->append(new LLMenuItemCheckGL("Mouse Smoothing",
907 &menu_toggle_control, 913 &menu_toggle_control,
908 NULL, 914 NULL,
@@ -1008,6 +1014,10 @@ void init_debug_ui_menu(LLMenuGL* menu)
1008 menu->append(new LLMenuItemToggleGL("Debug Keys", &LLView::sDebugKeys)); 1014 menu->append(new LLMenuItemToggleGL("Debug Keys", &LLView::sDebugKeys));
1009 menu->append(new LLMenuItemToggleGL("Debug WindowProc", &gDebugWindowProc)); 1015 menu->append(new LLMenuItemToggleGL("Debug WindowProc", &gDebugWindowProc));
1010 menu->append(new LLMenuItemToggleGL("Debug Text Editor Tips", &gDebugTextEditorTips)); 1016 menu->append(new LLMenuItemToggleGL("Debug Text Editor Tips", &gDebugTextEditorTips));
1017 menu->appendSeparator();
1018 menu->append(new LLMenuItemCheckGL("Show Time", menu_toggle_control, NULL, menu_check_control, (void*)"DebugShowTime"));
1019 menu->append(new LLMenuItemCheckGL("Show Render Info", menu_toggle_control, NULL, menu_check_control, (void*)"DebugShowRenderInfo"));
1020
1011 menu->createJumpKeys(); 1021 menu->createJumpKeys();
1012} 1022}
1013 1023
@@ -1177,6 +1187,9 @@ void init_debug_rendering_menu(LLMenuGL* menu)
1177 sub_menu->append(new LLMenuItemCheckGL("LightTrace",&LLPipeline::toggleRenderDebug, NULL, 1187 sub_menu->append(new LLMenuItemCheckGL("LightTrace",&LLPipeline::toggleRenderDebug, NULL,
1178 &LLPipeline::toggleRenderDebugControl, 1188 &LLPipeline::toggleRenderDebugControl,
1179 (void*)LLPipeline::RENDER_DEBUG_LIGHT_TRACE)); 1189 (void*)LLPipeline::RENDER_DEBUG_LIGHT_TRACE));
1190 sub_menu->append(new LLMenuItemCheckGL("Glow",&LLPipeline::toggleRenderDebug, NULL,
1191 &LLPipeline::toggleRenderDebugControl,
1192 (void*)LLPipeline::RENDER_DEBUG_GLOW));
1180 1193
1181 sub_menu->append(new LLMenuItemCheckGL("Show Depth Buffer", 1194 sub_menu->append(new LLMenuItemCheckGL("Show Depth Buffer",
1182 &menu_toggle_control, 1195 &menu_toggle_control,
@@ -1242,11 +1255,6 @@ void init_debug_rendering_menu(LLMenuGL* menu)
1242 item = new LLMenuItemCheckGL("Cheesy Beacon", menu_toggle_control, NULL, menu_check_control, (void*)"CheesyBeacon"); 1255 item = new LLMenuItemCheckGL("Cheesy Beacon", menu_toggle_control, NULL, menu_check_control, (void*)"CheesyBeacon");
1243 menu->append(item); 1256 menu->append(item);
1244 1257
1245#if 0 // 1.9.2
1246 item = new LLMenuItemCheckGL("Vertex Shaders", toggle_vertex_shaders, NULL, check_vertex_shaders, (void*)"VertexShaderEnable", 'V', MASK_CONTROL|MASK_ALT);
1247 item->setEnabled(gGLManager.mHasVertexShader);
1248 menu->append(item);
1249#endif
1250 menu->createJumpKeys(); 1258 menu->createJumpKeys();
1251} 1259}
1252 1260
@@ -1391,8 +1399,6 @@ void init_server_menu(LLMenuGL* menu)
1391 &handle_force_parcel_to_content, 1399 &handle_force_parcel_to_content,
1392 &enable_god_customer_service, NULL, 1400 &enable_god_customer_service, NULL,
1393 'C', MASK_SHIFT | MASK_ALT | MASK_CONTROL)); 1401 'C', MASK_SHIFT | MASK_ALT | MASK_CONTROL));
1394 //sub->append(new LLMenuItemCallGL("Toggle First Land bit",
1395 // &handle_toggle_parcel_newbie));
1396 sub->appendSeparator(); 1402 sub->appendSeparator();
1397 sub->append(new LLMenuItemCallGL("Claim Public Land", 1403 sub->append(new LLMenuItemCallGL("Claim Public Land",
1398 &handle_claim_public_land, &enable_god_customer_service)); 1404 &handle_claim_public_land, &enable_god_customer_service));
@@ -1445,33 +1451,6 @@ void cleanup_menus()
1445// Object pie menu 1451// Object pie menu
1446//----------------------------------------------------------------------------- 1452//-----------------------------------------------------------------------------
1447 1453
1448class LLObjectRateCreator : public view_listener_t
1449{
1450 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
1451 {
1452 LLFloaterRate::show(LLFloaterRate::RS_CREATOR);
1453 return true;
1454 }
1455};
1456
1457class LLObjectRateOwner : public view_listener_t
1458{
1459 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
1460 {
1461 // Don't allow rating of group owned objects.
1462 LLSelectNode* node = gSelectMgr->getSelection()->getFirstRootNode();
1463 if (!node) return true;
1464 if (node->mPermissions->isGroupOwned())
1465 {
1466 gViewerWindow->alertXml("CantRateOwnedByGroup");
1467 return true;
1468 }
1469
1470 LLFloaterRate::show(LLFloaterRate::RS_OWNER);
1471 return true;
1472 }
1473};
1474
1475class LLObjectReportAbuse : public view_listener_t 1454class LLObjectReportAbuse : public view_listener_t
1476{ 1455{
1477 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 1456 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
@@ -1481,59 +1460,6 @@ class LLObjectReportAbuse : public view_listener_t
1481 } 1460 }
1482}; 1461};
1483 1462
1484// Enable only when you didn't create it, and the creator
1485// is not the owner.
1486class LLObjectEnableRateCreator : public view_listener_t
1487{
1488 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
1489 {
1490 LLUUID creator_id;
1491 LLUUID owner_id;
1492 LLString dummy;
1493 BOOL identical_creator = gSelectMgr->selectGetCreator(creator_id, dummy);
1494
1495 BOOL new_value;
1496 if (!identical_creator)
1497 {
1498 new_value = FALSE;
1499 }
1500 else
1501 {
1502 new_value = (creator_id != gAgent.getID());
1503 }
1504 gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
1505 return true;
1506 }
1507};
1508
1509// Enabled if object owner isn't the agent.
1510class LLObjectEnableRateOwner : public view_listener_t
1511{
1512 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
1513 {
1514 LLUUID owner_id;
1515 LLString dummy;
1516 BOOL identical_owner = gSelectMgr->selectGetOwner(owner_id, dummy);
1517
1518 BOOL new_value;
1519 if (!identical_owner)
1520 {
1521 new_value = FALSE;
1522 }
1523 else if (owner_id.isNull())
1524 {
1525 new_value = FALSE;
1526 }
1527 else
1528 {
1529 new_value = (owner_id != gAgent.getID());
1530 }
1531 gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
1532 return true;
1533 }
1534};
1535
1536
1537// Enabled it you clicked an object 1463// Enabled it you clicked an object
1538class LLObjectEnableReportAbuse : public view_listener_t 1464class LLObjectEnableReportAbuse : public view_listener_t
1539{ 1465{
@@ -2257,20 +2183,6 @@ void login_done(S32 which, void *user)
2257} 2183}
2258 2184
2259 2185
2260
2261class LLAvatarRate : public view_listener_t
2262{
2263 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2264 {
2265 LLVOAvatar* avatar = find_avatar_from_object( gViewerWindow->lastObjectHit() );
2266 if( avatar )
2267 {
2268 LLFloaterRate::show( avatar->getID() );
2269 }
2270 return true;
2271 }
2272};
2273
2274void callback_leave_group(S32 option, void *userdata) 2186void callback_leave_group(S32 option, void *userdata)
2275{ 2187{
2276 if (option == 0) 2188 if (option == 0)
@@ -3156,6 +3068,11 @@ void reset_view_final( BOOL proceed, void* )
3156 3068
3157 gAgent.changeCameraToDefault(); 3069 gAgent.changeCameraToDefault();
3158 3070
3071 if (LLViewerJoystick::sOverrideCamera)
3072 {
3073 handle_toggle_flycam(NULL);
3074 }
3075
3159 gAgent.resetView(!gFloaterTools->getVisible()); 3076 gAgent.resetView(!gFloaterTools->getVisible());
3160 gFloaterTools->close(); 3077 gFloaterTools->close();
3161 3078
@@ -3402,40 +3319,6 @@ void handle_claim_public_land(void*)
3402 gAgent.sendReliableMessage(); 3319 gAgent.sendReliableMessage();
3403} 3320}
3404 3321
3405//void handle_toggle_parcel_newbie(void*)
3406//{
3407// gParcelMgr->toggleParcelGodReserveForNewbie();
3408//}
3409
3410void on_expunge_user(S32 option, const LLString& text, void*)
3411{
3412 if(option == -1) return;
3413 llinfos << "on_expunge_user(" << option << "," << text << ")" << llendl;
3414 LLMessageSystem* msg = gMessageSystem;
3415 LLUUID user_id;
3416 if(user_id.set(text))
3417 {
3418 msg->newMessage("GodExpungeUser");
3419 msg->nextBlock("AgentData");
3420 msg->addUUID("AgentID", gAgent.getID());
3421 msg->addUUID("SessionID", gAgent.getSessionID());
3422 msg->nextBlock("ExpungeData");
3423 msg->addUUID("AgentID", user_id);
3424 msg->sendReliable(gUserServer);
3425 }
3426 else
3427 {
3428 gViewerWindow->alertXml("InvalidUUID");
3429 }
3430}
3431
3432void handle_god_expunge_user(void*)
3433{
3434 gViewerWindow->alertXmlEditText("ExpungeUser", LLString::format_map_t(),
3435 NULL, NULL,
3436 on_expunge_user, NULL);
3437}
3438
3439void handle_god_request_havok(void *) 3322void handle_god_request_havok(void *)
3440{ 3323{
3441 if (gAgent.isGodlike()) 3324 if (gAgent.isGodlike())
@@ -5402,7 +5285,7 @@ void upload_new_resource(const LLString& src_filename, std::string name,
5402 LLString short_name = filename.substr(offset); 5285 LLString short_name = filename.substr(offset);
5403 5286
5404 // No extension 5287 // No extension
5405 snprintf(error_message, /* Flawfinder: ignore */ 5288 snprintf(error_message, /* Flawfinder: ignore */
5406 MAX_STRING, 5289 MAX_STRING,
5407 "No file extension for the file: '%s'\nPlease make sure the file has a correct file extension", 5290 "No file extension for the file: '%s'\nPlease make sure the file has a correct file extension",
5408 short_name.c_str()); 5291 short_name.c_str());
@@ -5551,7 +5434,7 @@ void upload_new_resource(const LLString& src_filename, std::string name,
5551 else 5434 else
5552 { 5435 {
5553 fclose(in); 5436 fclose(in);
5554 snprintf(error_message, MAX_STRING, "unknown linden resource file version in file: %s", src_filename.c_str()); /* Flawfinder: ignore */ 5437 snprintf(error_message, MAX_STRING, "unknown linden resource file version in file: %s", src_filename.c_str()); /* Flawfinder: ignore */
5555 args["[FILE]"] = src_filename; 5438 args["[FILE]"] = src_filename;
5556 upload_error(error_message, "UnknownResourceFileVersion", filename, args); 5439 upload_error(error_message, "UnknownResourceFileVersion", filename, args);
5557 return; 5440 return;
@@ -5587,7 +5470,7 @@ void upload_new_resource(const LLString& src_filename, std::string name,
5587 else 5470 else
5588 { 5471 {
5589 fclose(in); 5472 fclose(in);
5590 snprintf(error_message, MAX_STRING, "Unable to create output file: %s", filename.c_str()); /* Flawfinder: ignore */ 5473 snprintf(error_message, MAX_STRING, "Unable to create output file: %s", filename.c_str()); /* Flawfinder: ignore */
5591 args["[FILE]"] = filename; 5474 args["[FILE]"] = filename;
5592 upload_error(error_message, "UnableToCreateOutputFile", filename, args); 5475 upload_error(error_message, "UnableToCreateOutputFile", filename, args);
5593 return; 5476 return;
@@ -6340,6 +6223,21 @@ void handle_dump_followcam(void*)
6340 LLFollowCamMgr::dump(); 6223 LLFollowCamMgr::dump();
6341} 6224}
6342 6225
6226BOOL check_flycam(void*)
6227{
6228 return LLViewerJoystick::sOverrideCamera;
6229}
6230
6231void handle_toggle_flycam(void*)
6232{
6233 LLViewerJoystick::sOverrideCamera = !LLViewerJoystick::sOverrideCamera;
6234 if (LLViewerJoystick::sOverrideCamera)
6235 {
6236 LLViewerJoystick::updateCamera(TRUE);
6237 LLFloaterJoystick::show(NULL);
6238 }
6239}
6240
6343void handle_viewer_enable_message_log(void*) 6241void handle_viewer_enable_message_log(void*)
6344{ 6242{
6345 gMessageSystem->startLogging(); 6243 gMessageSystem->startLogging();
@@ -6423,14 +6321,7 @@ class LLShowFloater : public view_listener_t
6423 { 6321 {
6424 if (gParcelMgr->selectionEmpty()) 6322 if (gParcelMgr->selectionEmpty())
6425 { 6323 {
6426 if (gLastHitPosGlobal.isExactlyZero()) 6324 gParcelMgr->selectParcelAt(gAgent.getPositionGlobal());
6427 {
6428 gParcelMgr->selectParcelAt(gAgent.getPositionGlobal());
6429 }
6430 else
6431 {
6432 gParcelMgr->selectParcelAt( gLastHitPosGlobal );
6433 }
6434 } 6325 }
6435 6326
6436 LLFloaterLand::show(); 6327 LLFloaterLand::show();
@@ -6439,14 +6330,7 @@ class LLShowFloater : public view_listener_t
6439 { 6330 {
6440 if (gParcelMgr->selectionEmpty()) 6331 if (gParcelMgr->selectionEmpty())
6441 { 6332 {
6442 if (gLastHitPosGlobal.isExactlyZero()) 6333 gParcelMgr->selectParcelAt(gAgent.getPositionGlobal());
6443 {
6444 gParcelMgr->selectParcelAt(gAgent.getPositionGlobal());
6445 }
6446 else
6447 {
6448 gParcelMgr->selectParcelAt( gLastHitPosGlobal );
6449 }
6450 } 6334 }
6451 6335
6452 gParcelMgr->startBuyLand(); 6336 gParcelMgr->startBuyLand();
@@ -6463,10 +6347,22 @@ class LLShowFloater : public view_listener_t
6463 { 6347 {
6464 LLFloaterScriptDebug::show(LLUUID::null); 6348 LLFloaterScriptDebug::show(LLUUID::null);
6465 } 6349 }
6466 else if (floater_name == "help") 6350 else if (floater_name == "help f1")
6351 {
6352#if LL_LIBXUL_ENABLED
6353 gViewerHtmlHelp.show();
6354#endif
6355 }
6356 else if (floater_name == "help in-world")
6357 {
6358#if LL_LIBXUL_ENABLED
6359 LLFloaterHtml::getInstance()->show( "in-world_help" );
6360#endif
6361 }
6362 else if (floater_name == "help additional")
6467 { 6363 {
6468#if LL_LIBXUL_ENABLED 6364#if LL_LIBXUL_ENABLED
6469 LLHtmlHelp::show(NULL); 6365 LLFloaterHtml::getInstance()->show( "additional_help" );
6470#endif 6366#endif
6471 } 6367 }
6472 else if (floater_name == "complaint reporter") 6368 else if (floater_name == "complaint reporter")
@@ -8687,7 +8583,6 @@ void initialize_menu_actions()
8687 8583
8688 // Avatar pie menu 8584 // Avatar pie menu
8689 (new LLObjectMute())->registerListener(gMenuHolder, "Avatar.Mute"); 8585 (new LLObjectMute())->registerListener(gMenuHolder, "Avatar.Mute");
8690 (new LLAvatarRate())->registerListener(gMenuHolder, "Avatar.Rate");
8691 (new LLAvatarAddFriend())->registerListener(gMenuHolder, "Avatar.AddFriend"); 8586 (new LLAvatarAddFriend())->registerListener(gMenuHolder, "Avatar.AddFriend");
8692 (new LLAvatarFreeze())->registerListener(gMenuHolder, "Avatar.Freeze"); 8587 (new LLAvatarFreeze())->registerListener(gMenuHolder, "Avatar.Freeze");
8693 (new LLAvatarDebug())->registerListener(gMenuHolder, "Avatar.Debug"); 8588 (new LLAvatarDebug())->registerListener(gMenuHolder, "Avatar.Debug");
@@ -8709,9 +8604,7 @@ void initialize_menu_actions()
8709 (new LLObjectDelete())->registerListener(gMenuHolder, "Object.Delete"); 8604 (new LLObjectDelete())->registerListener(gMenuHolder, "Object.Delete");
8710 (new LLObjectAttachToAvatar())->registerListener(gMenuHolder, "Object.AttachToAvatar"); 8605 (new LLObjectAttachToAvatar())->registerListener(gMenuHolder, "Object.AttachToAvatar");
8711 (new LLObjectReturn())->registerListener(gMenuHolder, "Object.Return"); 8606 (new LLObjectReturn())->registerListener(gMenuHolder, "Object.Return");
8712 (new LLObjectRateOwner())->registerListener(gMenuHolder, "Object.RateOwner");
8713 (new LLObjectReportAbuse())->registerListener(gMenuHolder, "Object.ReportAbuse"); 8607 (new LLObjectReportAbuse())->registerListener(gMenuHolder, "Object.ReportAbuse");
8714 (new LLObjectRateCreator())->registerListener(gMenuHolder, "Object.RateCreator");
8715 (new LLObjectMute())->registerListener(gMenuHolder, "Object.Mute"); 8608 (new LLObjectMute())->registerListener(gMenuHolder, "Object.Mute");
8716 (new LLObjectBuy())->registerListener(gMenuHolder, "Object.Buy"); 8609 (new LLObjectBuy())->registerListener(gMenuHolder, "Object.Buy");
8717 (new LLObjectEdit())->registerListener(gMenuHolder, "Object.Edit"); 8610 (new LLObjectEdit())->registerListener(gMenuHolder, "Object.Edit");
@@ -8723,9 +8616,7 @@ void initialize_menu_actions()
8723 (new LLObjectEnableDelete())->registerListener(gMenuHolder, "Object.EnableDelete"); 8616 (new LLObjectEnableDelete())->registerListener(gMenuHolder, "Object.EnableDelete");
8724 (new LLObjectEnableWear())->registerListener(gMenuHolder, "Object.EnableWear"); 8617 (new LLObjectEnableWear())->registerListener(gMenuHolder, "Object.EnableWear");
8725 (new LLObjectEnableReturn())->registerListener(gMenuHolder, "Object.EnableReturn"); 8618 (new LLObjectEnableReturn())->registerListener(gMenuHolder, "Object.EnableReturn");
8726 (new LLObjectEnableRateOwner())->registerListener(gMenuHolder, "Object.EnableRateOwner");
8727 (new LLObjectEnableReportAbuse())->registerListener(gMenuHolder, "Object.EnableReportAbuse"); 8619 (new LLObjectEnableReportAbuse())->registerListener(gMenuHolder, "Object.EnableReportAbuse");
8728 (new LLObjectEnableRateCreator())->registerListener(gMenuHolder, "Object.EnableRateCreator");
8729 (new LLObjectEnableMute())->registerListener(gMenuHolder, "Object.EnableMute"); 8620 (new LLObjectEnableMute())->registerListener(gMenuHolder, "Object.EnableMute");
8730 (new LLObjectEnableBuy())->registerListener(gMenuHolder, "Object.EnableBuy"); 8621 (new LLObjectEnableBuy())->registerListener(gMenuHolder, "Object.EnableBuy");
8731 8622