summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r--indra/newview/llviewermenu.cpp309
1 files changed, 99 insertions, 210 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8bcf2c6281..36d9e7935f 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -31,186 +31,77 @@
*/
#include "llviewerprecompiledheaders.h"
-
#include "llviewermenu.h"
-// system library includes
-#include <iostream>
-#include <fstream>
-#include <sstream>
-
// linden library includes
-#include "llaudioengine.h"
#include "llfloaterreg.h"
-#include "indra_constants.h"
-#include "llassetstorage.h"
-#include "llchat.h"
#include "llcombobox.h"
-#include "llfeaturemanager.h"
-#include "llfocusmgr.h"
-#include "llfontgl.h"
-#include "llinstantmessage.h"
#include "llinventorypanel.h"
-#include "llpermissionsflags.h"
-#include "llrect.h"
-#include "llsecondlifeurls.h"
-#include "lltransactiontypes.h"
-#include "llui.h"
-#include "llview.h"
-#include "llxfermanager.h"
-#include "message.h"
-#include "raytrace.h"
-#include "llsdserialize.h"
-#include "lltimer.h"
-#include "llvfile.h"
-#include "llvolumemgr.h"
+#include "llnotifications.h"
+#include "llnotificationsutil.h"
// newview includes
#include "llagent.h"
#include "llagentwearables.h"
#include "llagentpilot.h"
-#include "llbox.h"
-#include "llcallingcard.h"
-#include "llclipboard.h"
#include "llcompilequeue.h"
#include "llconsole.h"
-#include "llviewercontrol.h"
#include "lldebugview.h"
-#include "lldir.h"
-#include "lldrawable.h"
-#include "lldrawpoolalpha.h"
-#include "lldrawpooltree.h"
-#include "llface.h"
#include "llfilepicker.h"
#include "llfirstuse.h"
-#include "llfloater.h"
-#include "llfloaterabout.h"
-#include "llfloaterbuycurrency.h"
-#include "llfloateractivespeakers.h"
-#include "llfloateranimpreview.h"
-#include "llfloateravatartextures.h"
-#include "llfloaterbuildoptions.h"
-#include "llfloaterbump.h"
#include "llfloaterbuy.h"
#include "llfloaterbuycontents.h"
#include "llfloaterbuycurrency.h"
-#include "llfloaterbuyland.h"
#include "llfloaterchat.h"
#include "llfloatercustomize.h"
-#include "llfloaterdaycycle.h"
#include "llfloaterchatterbox.h"
-#include "llfloaterfonttest.h"
#include "llfloatergodtools.h"
-#include "llfloatergroupinvite.h"
-#include "llfloatergroups.h"
-#include "llfloaterhud.h"
-#include "llfloaterinspect.h"
-#include "llfloaterlagmeter.h"
#include "llfloaterland.h"
-#include "llfloaterlandholdings.h"
-#include "llfloatermap.h"
-#include "llfloateropenobject.h"
#include "llfloaterpay.h"
-#include "llfloaterperms.h"
-#include "llfloaterpostprocess.h"
-#include "llfloaterpreference.h"
-#include "llfloaterreg.h"
-#include "llfloaterregioninfo.h"
#include "llfloaterreporter.h"
+#include "llfloatersearch.h"
#include "llfloaterscriptdebug.h"
-#include "llfloatersettingsdebug.h"
-#include "llfloaterenvsettings.h"
#include "llfloatertools.h"
-#include "llfloaterwater.h"
-#include "llfloaterwindlight.h"
#include "llfloaterworldmap.h"
-#include "llfloatermemleak.h"
-#include "llfasttimerview.h"
#include "llavataractions.h"
#include "lllandmarkactions.h"
-#include "llmemoryview.h"
#include "llgroupmgr.h"
#include "lltooltip.h"
#include "llhudeffecttrail.h"
#include "llhudmanager.h"
-#include "llimage.h"
-#include "llimagebmp.h"
-#include "llimagej2c.h"
-#include "llimagetga.h"
#include "llinventorybridge.h"
-#include "llinventorymodel.h"
-#include "llfloaterinventory.h"
-#include "llkeyboard.h"
#include "llpanellogin.h"
#include "llpanelblockedlist.h"
#include "llmenucommands.h"
-#include "llmenugl.h"
-#include "llmimetypes.h"
#include "llmoveview.h"
-#include "llmutelist.h"
-#include "llnotify.h"
-#include "llpanelobject.h"
#include "llparcel.h"
-#include "llprimitive.h"
-#include "llresmgr.h"
#include "llrootview.h"
#include "llselectmgr.h"
#include "llsidetray.h"
-#include "llsky.h"
#include "llstatusbar.h"
-#include "llstatview.h"
-#include "llstring.h"
-#include "llsurfacepatch.h"
-#include "llimview.h"
#include "lltextureview.h"
-#include "lltool.h"
#include "lltoolbar.h"
#include "lltoolcomp.h"
-#include "lltoolfocus.h"
-#include "lltoolgrab.h"
#include "lltoolmgr.h"
#include "lltoolpie.h"
#include "lltoolselectland.h"
-#include "lltrans.h"
-#include "lluictrlfactory.h"
-#include "lluploaddialog.h"
-#include "lluserauth.h"
-#include "lluuid.h"
-#include "llviewercamera.h"
#include "llviewergenericmessage.h"
#include "llviewerhelp.h"
-#include "llviewertexturelist.h" // gTextureList
-#include "llviewerinventory.h"
#include "llviewermenufile.h" // init_menu_file()
#include "llviewermessage.h"
#include "llviewernetwork.h"
#include "llviewerobjectlist.h"
#include "llviewerparcelmgr.h"
-#include "llviewerparceloverlay.h"
-#include "llviewerregion.h"
#include "llviewerstats.h"
-#include "llviewerwindow.h"
-#include "llvoavatar.h"
#include "llvoavatarself.h"
-#include "llvolume.h"
-#include "llweb.h"
-#include "llworld.h"
#include "llworldmap.h"
-#include "object_flags.h"
#include "pipeline.h"
-#include "llappviewer.h"
-#include "roles_constants.h"
#include "llviewerjoystick.h"
#include "llwlanimator.h"
#include "llwlparammanager.h"
-#include "llwaterparammanager.h"
-#include "llfloaternotificationsconsole.h"
#include "llfloatercamera.h"
#include "lluilistener.h"
-
-#include "lltexlayer.h"
#include "llappearancemgr.h"
-#include "llimfloater.h"
using namespace LLVOAvatarDefines;
@@ -598,7 +489,7 @@ class LLAdvancedToggleConsole : public view_listener_t
}
else if ("debug" == console_type)
{
- toggle_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) );
+ toggle_visibility( (void*)static_cast<LLUICtrl*>(gDebugView->mDebugConsolep));
}
else if (gTextureSizeView && "texture size" == console_type)
{
@@ -2808,20 +2699,24 @@ BOOL enable_has_attachments(void*)
bool enable_object_mute()
{
LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
- bool new_value = (object != NULL);
- if (new_value)
+ if (!object) return false;
+
+ LLVOAvatar* avatar = find_avatar_from_object(object);
+ if (avatar)
{
- LLVOAvatar* avatar = find_avatar_from_object(object);
- if (avatar)
- {
- // It's an avatar
- LLNameValue *lastname = avatar->getNVPair("LastName");
- BOOL is_linden = lastname && !LLStringUtil::compareStrings(lastname->getString(), "Linden");
- BOOL is_self = avatar->isSelf();
- new_value = !is_linden && !is_self;
- }
+ // It's an avatar
+ LLNameValue *lastname = avatar->getNVPair("LastName");
+ bool is_linden =
+ lastname && !LLStringUtil::compareStrings(lastname->getString(), "Linden");
+ bool is_self = avatar->isSelf();
+ return !is_linden && !is_self;
+ }
+ else
+ {
+ // Just a regular object
+ return LLSelectMgr::getInstance()->getSelection()->
+ contains( object, SELECT_ALL_TES );
}
- return new_value;
}
class LLObjectMute : public view_listener_t
@@ -2938,7 +2833,7 @@ class LLAvatarReportAbuse : public view_listener_t
bool callback_freeze(const LLSD& notification, const LLSD& response)
{
LLUUID avatar_id = notification["payload"]["avatar_id"].asUUID();
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option || 1 == option)
{
@@ -2992,14 +2887,14 @@ void handle_avatar_freeze(const LLSD& avatar_id)
{
LLSD args;
args["AVATAR_NAME"] = fullname;
- LLNotifications::instance().add("FreezeAvatarFullname",
+ LLNotificationsUtil::add("FreezeAvatarFullname",
args,
payload,
callback_freeze);
}
else
{
- LLNotifications::instance().add("FreezeAvatar",
+ LLNotificationsUtil::add("FreezeAvatar",
LLSD(),
payload,
callback_freeze);
@@ -3039,7 +2934,7 @@ class LLAvatarDebug : public view_listener_t
bool callback_eject(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (2 == option)
{
// Cancel button.
@@ -3121,14 +3016,14 @@ void handle_avatar_eject(const LLSD& avatar_id)
{
LLSD args;
args["AVATAR_NAME"] = fullname;
- LLNotifications::instance().add("EjectAvatarFullname",
+ LLNotificationsUtil::add("EjectAvatarFullname",
args,
payload,
callback_eject);
}
else
{
- LLNotifications::instance().add("EjectAvatarFullname",
+ LLNotificationsUtil::add("EjectAvatarFullname",
LLSD(),
payload,
callback_eject);
@@ -3141,14 +3036,14 @@ void handle_avatar_eject(const LLSD& avatar_id)
{
LLSD args;
args["AVATAR_NAME"] = fullname;
- LLNotifications::instance().add("EjectAvatarFullnameNoBan",
+ LLNotificationsUtil::add("EjectAvatarFullnameNoBan",
args,
payload,
callback_eject);
}
else
{
- LLNotifications::instance().add("EjectAvatarNoBan",
+ LLNotificationsUtil::add("EjectAvatarNoBan",
LLSD(),
payload,
callback_eject);
@@ -3231,11 +3126,11 @@ class LLAvatarGiveCard : public view_listener_t
transaction_id.generate();
msg->addUUIDFast(_PREHASH_TransactionID, transaction_id);
msg->sendReliable(dest_host);
- LLNotifications::instance().add("OfferedCard", args);
+ LLNotificationsUtil::add("OfferedCard", args);
}
else
{
- LLNotifications::instance().add("CantOfferCallingCard", old_args);
+ LLNotificationsUtil::add("CantOfferCallingCard", old_args);
}
}
return true;
@@ -3254,7 +3149,7 @@ void login_done(S32 which, void *user)
bool callback_leave_group(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option == 0)
{
LLMessageSystem *msg = gMessageSystem;
@@ -3321,7 +3216,7 @@ void handle_buy_object(LLSaleInfo sale_info)
{
if(!LLSelectMgr::getInstance()->selectGetAllRootsValid())
{
- LLNotifications::instance().add("UnableToBuyWhileDownloading");
+ LLNotificationsUtil::add("UnableToBuyWhileDownloading");
return;
}
@@ -3330,7 +3225,7 @@ void handle_buy_object(LLSaleInfo sale_info)
BOOL owners_identical = LLSelectMgr::getInstance()->selectGetOwner(owner_id, owner_name);
if (!owners_identical)
{
- LLNotifications::instance().add("CannotBuyObjectsFromDifferentOwners");
+ LLNotificationsUtil::add("CannotBuyObjectsFromDifferentOwners");
return;
}
@@ -3340,7 +3235,7 @@ void handle_buy_object(LLSaleInfo sale_info)
valid &= LLSelectMgr::getInstance()->selectGetAggregatePermissions(ag_perm);
if(!valid || !sale_info.isForSale() || !perm.allowTransferTo(gAgent.getID()))
{
- LLNotifications::instance().add("ObjectNotForSale");
+ LLNotificationsUtil::add("ObjectNotForSale");
return;
}
@@ -3504,16 +3399,23 @@ void set_god_level(U8 god_level)
if(god_level > GOD_NOT)
{
args["LEVEL"] = llformat("%d",(S32)god_level);
- LLNotifications::instance().add("EnteringGodMode", args);
+ LLNotificationsUtil::add("EnteringGodMode", args);
}
else
{
args["LEVEL"] = llformat("%d",(S32)old_god_level);
- LLNotifications::instance().add("LeavingGodMode", args);
+ LLNotificationsUtil::add("LeavingGodMode", args);
}
// changing god-level can affect which menus we see
show_debug_menus();
+
+ // changing god-level can invalidate search results
+ LLFloaterSearch *search = dynamic_cast<LLFloaterSearch*>(LLFloaterReg::getInstance("search"));
+ if (search)
+ {
+ search->godLevelChanged(god_level);
+ }
}
#ifdef TOGGLE_HACKED_GODLIKE_VIEWER
@@ -3630,7 +3532,7 @@ void request_friendship(const LLUUID& dest_id)
}
else
{
- LLNotifications::instance().add("CantOfferFriendship");
+ LLNotificationsUtil::add("CantOfferFriendship");
}
}
}
@@ -3961,7 +3863,7 @@ void handle_claim_public_land(void*)
{
if (LLViewerParcelMgr::getInstance()->getSelectionRegion() != gAgent.getRegion())
{
- LLNotifications::instance().add("ClaimPublicLand");
+ LLNotificationsUtil::add("ClaimPublicLand");
return;
}
@@ -4157,7 +4059,7 @@ void derez_objects(EDeRezDestination dest, const LLUUID& dest_id)
}
else if(!error.empty())
{
- LLNotifications::instance().add(error);
+ LLNotificationsUtil::add(error);
}
}
@@ -4178,13 +4080,13 @@ class LLObjectReturn : public view_listener_t
mObjectSelection = LLSelectMgr::getInstance()->getEditSelection();
- LLNotifications::instance().add("ReturnToOwner", LLSD(), LLSD(), boost::bind(&LLObjectReturn::onReturnToOwner, this, _1, _2));
+ LLNotificationsUtil::add("ReturnToOwner", LLSD(), LLSD(), boost::bind(&LLObjectReturn::onReturnToOwner, this, _1, _2));
return true;
}
bool onReturnToOwner(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option)
{
// Ignore category ID for this derez destination.
@@ -4361,7 +4263,7 @@ void handle_take()
bool confirm_take(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if(enable_take() && (option == 0))
{
derez_objects(DRD_TAKE_INTO_AGENT_INVENTORY, notification["payload"]["folder_id"].asUUID());
@@ -4536,7 +4438,7 @@ S32 selection_price()
/*
bool callback_show_buy_currency(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option)
{
llinfos << "Loading page " << LLNotifications::instance().getGlobalString("BUY_CURRENCY_URL") << llendl;
@@ -4562,7 +4464,7 @@ void show_buy_currency(const char* extra)
{
args["EXTRA"] = extra;
}
- LLNotifications::instance().add("PromptGoToCurrencyPage", args);//, LLSD(), callback_show_buy_currency);
+ LLNotificationsUtil::add("PromptGoToCurrencyPage", args);//, LLSD(), callback_show_buy_currency);
}
void handle_buy()
@@ -4832,7 +4734,7 @@ class LLToolsLink : public view_listener_t
{
if(!LLSelectMgr::getInstance()->selectGetAllRootsValid())
{
- LLNotifications::instance().add("UnableToLinkWhileDownloading");
+ LLNotificationsUtil::add("UnableToLinkWhileDownloading");
return true;
}
@@ -4843,18 +4745,18 @@ class LLToolsLink : public view_listener_t
args["COUNT"] = llformat("%d", object_count);
int max = MAX_CHILDREN_PER_TASK+1;
args["MAX"] = llformat("%d", max);
- LLNotifications::instance().add("UnableToLinkObjects", args);
+ LLNotificationsUtil::add("UnableToLinkObjects", args);
return true;
}
if(LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() < 2)
{
- LLNotifications::instance().add("CannotLinkIncompleteSet");
+ LLNotificationsUtil::add("CannotLinkIncompleteSet");
return true;
}
if(!LLSelectMgr::getInstance()->selectGetRootsModify())
{
- LLNotifications::instance().add("CannotLinkModify");
+ LLNotificationsUtil::add("CannotLinkModify");
return true;
}
LLUUID owner_id;
@@ -4864,7 +4766,7 @@ class LLToolsLink : public view_listener_t
// we don't actually care if you're the owner, but novices are
// the most likely to be stumped by this one, so offer the
// easiest and most likely solution.
- LLNotifications::instance().add("CannotLinkDifferentOwners");
+ LLNotificationsUtil::add("CannotLinkDifferentOwners");
return true;
}
LLSelectMgr::getInstance()->sendLink();
@@ -5348,7 +5250,7 @@ class LLWorldSetBusy : public view_listener_t
else
{
gAgent.setBusy();
- LLNotifications::instance().add("BusyModeSet");
+ LLNotificationsUtil::add("BusyModeSet");
}
return true;
}
@@ -5358,7 +5260,7 @@ class LLWorldCreateLandmark : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- LLSideTray::getInstance()->showPanel("panel_places", LLSD().insert("type", "create_landmark"));
+ LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark"));
return true;
}
@@ -5464,7 +5366,7 @@ class LLAvatarAddContact : public view_listener_t
bool complete_give_money(const LLSD& notification, const LLSD& response, LLObjectSelectionHandle selection)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option == 0)
{
gAgent.clearBusy();
@@ -5626,22 +5528,12 @@ class LLShowFloater : public view_listener_t
}
else if (floater_name == "buy land")
{
- if (LLViewerParcelMgr::getInstance()->selectionEmpty())
- {
- LLViewerParcelMgr::getInstance()->selectParcelAt(gAgent.getPositionGlobal());
- }
-
- LLViewerParcelMgr::getInstance()->startBuyLand();
+ handle_buy_land();
}
else if (floater_name == "script errors")
{
LLFloaterScriptDebug::show(LLUUID::null);
}
- else if (floater_name == "help f1")
- {
- LLViewerHelp* vhelp = LLViewerHelp::getInstance();
- vhelp->showTopic(vhelp->getTopicFromFocus());
- }
else if (floater_name == "complaint reporter")
{
// Prevent menu from appearing in screen shot.
@@ -5678,6 +5570,17 @@ class LLFloaterVisible : public view_listener_t
}
};
+class LLShowHelp : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ std::string help_topic = userdata.asString();
+ LLViewerHelp* vhelp = LLViewerHelp::getInstance();
+ vhelp->showTopic(help_topic);
+ return true;
+ }
+};
+
class LLShowSidetrayPanel : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -5690,7 +5593,7 @@ class LLShowSidetrayPanel : public view_listener_t
bool callback_show_url(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option)
{
LLWeb::loadURL(notification["payload"]["url"].asString());
@@ -5713,7 +5616,7 @@ class LLPromptShowURL : public view_listener_t
{
LLSD payload;
payload["url"] = url;
- LLNotifications::instance().add(alert, LLSD(), payload, callback_show_url);
+ LLNotificationsUtil::add(alert, LLSD(), payload, callback_show_url);
}
else
{
@@ -5730,7 +5633,7 @@ class LLPromptShowURL : public view_listener_t
bool callback_show_file(const LLSD& notification, const LLSD& response)
{
- S32 option = LLNotification::getSelectedOption(notification, response);
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option)
{
LLWeb::loadURL(notification["payload"]["url"]);
@@ -5751,7 +5654,7 @@ class LLPromptShowFile : public view_listener_t
LLSD payload;
payload["url"] = file;
- LLNotifications::instance().add(alert, LLSD(), payload, callback_show_file);
+ LLNotificationsUtil::add(alert, LLSD(), payload, callback_show_file);
}
else
{
@@ -5841,7 +5744,15 @@ BOOL enable_buy_land(void*)
LLViewerParcelMgr::getInstance()->getParcelSelection()->getParcel(), false);
}
-
+void handle_buy_land()
+{
+ LLViewerParcelMgr* vpm = LLViewerParcelMgr::getInstance();
+ if (vpm->selectionEmpty())
+ {
+ vpm->selectParcelAt(gAgent.getPositionGlobal());
+ }
+ vpm->startBuyLand();
+}
class LLObjectAttachToAvatar : public view_listener_t
{
@@ -6216,6 +6127,7 @@ BOOL object_selected_and_point_valid()
return (selection->getRootObjectCount() == 1) &&
(selection->getFirstRootObject()->getPCode() == LL_PCODE_VOLUME) &&
selection->getFirstRootObject()->permYouOwner() &&
+ selection->getFirstRootObject()->flagObjectMove() &&
!((LLViewerObject*)selection->getFirstRootObject()->getRoot())->isAvatar() &&
(selection->getFirstRootObject()->getNVPair("AssetContainer") == NULL);
}
@@ -6322,12 +6234,12 @@ void queue_actions(LLFloaterScriptQueue* q, const std::string& msg)
if ( !func.scripted )
{
std::string noscriptmsg = std::string("Cannot") + msg + "SelectObjectsNoScripts";
- LLNotifications::instance().add(noscriptmsg);
+ LLNotificationsUtil::add(noscriptmsg);
}
else if ( !func.modifiable )
{
std::string nomodmsg = std::string("Cannot") + msg + "SelectObjectsNoPermission";
- LLNotifications::instance().add(nomodmsg);
+ LLNotificationsUtil::add(nomodmsg);
}
else
{
@@ -6957,16 +6869,15 @@ void handle_grab_texture(void* data)
gInventory.updateItem(item);
gInventory.notifyObservers();
- LLFloaterInventory* view = LLFloaterInventory::getActiveInventory();
-
// Show the preview panel for textures to let
// user know that the image is now in inventory.
- if(view)
+ LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel();
+ if(active_panel)
{
LLFocusableElement* focus_ctrl = gFocusMgr.getKeyboardFocus();
- view->getPanel()->setSelection(item_id, TAKE_FOCUS_NO);
- view->getPanel()->openSelected();
+ active_panel->setSelection(item_id, TAKE_FOCUS_NO);
+ active_panel->openSelected();
//LLFloaterInventory::dumpSelectionInformation((void*)view);
// restore keyboard focus
gFocusMgr.setKeyboardFocus(focus_ctrl);
@@ -7136,7 +7047,7 @@ void handle_save_to_xml(void*)
LLFloater* frontmost = gFloaterView->getFrontmost();
if (!frontmost)
{
- LLNotifications::instance().add("NoFrontmostFloater");
+ LLNotificationsUtil::add("NoFrontmostFloater");
return;
}
@@ -7650,12 +7561,11 @@ void initialize_menus()
LLUICtrl::EnableCallbackRegistry::Registrar& enable = LLUICtrl::EnableCallbackRegistry::currentRegistrar();
LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar();
- LLUICtrl::VisibleCallbackRegistry::Registrar& visible = LLUICtrl::VisibleCallbackRegistry::currentRegistrar();
// Generic enable and visible
// Don't prepend MenuName.Foo because these can be used in any menu.
enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service));
- visible.add("IsGodCustomerService", boost::bind(&is_god_customer_service));
+ enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service));
// Agent
commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying));
@@ -7762,7 +7672,6 @@ void initialize_menus()
view_listener_t::addMenu(new LLToolsEnableLink(), "Tools.EnableLink");
view_listener_t::addMenu(new LLToolsEnableUnlink(), "Tools.EnableUnlink");
view_listener_t::addMenu(new LLToolsEnableBuyOrTake(), "Tools.EnableBuyOrTake");
- visible.add("Tools.VisibleTakeCopy", boost::bind(&enable_object_take_copy));
enable.add("Tools.EnableTakeCopy", boost::bind(&enable_object_take_copy));
view_listener_t::addMenu(new LLToolsEnableSaveToInventory(), "Tools.EnableSaveToInventory");
view_listener_t::addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.EnableSaveToObjectInventory");
@@ -7938,7 +7847,6 @@ void initialize_menus()
view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp");
view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments");
- visible.add("Self.VisibleStandUp", boost::bind(&enable_standup_self));
enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));
view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments");
@@ -7961,59 +7869,42 @@ void initialize_menus()
view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend");
enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2));
- visible.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2));
+ enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2));
// Object pie menu
view_listener_t::addMenu(new LLObjectBuild(), "Object.Build");
commit.add("Object.Touch", boost::bind(&handle_object_touch));
commit.add("Object.SitOrStand", boost::bind(&handle_object_sit_or_stand));
- visible.add("Object.EnableSit", boost::bind(&enable_sit_object));
+ enable.add("Object.EnableSit", boost::bind(&enable_sit_object));
commit.add("Object.Delete", boost::bind(&handle_object_delete));
view_listener_t::addMenu(new LLObjectAttachToAvatar(), "Object.AttachToAvatar");
view_listener_t::addMenu(new LLObjectReturn(), "Object.Return");
view_listener_t::addMenu(new LLObjectReportAbuse(), "Object.ReportAbuse");
view_listener_t::addMenu(new LLObjectMute(), "Object.Mute");
- visible.add("Object.VisibleTake", boost::bind(&visible_take_object));
- visible.add("Object.VisibleBuy", boost::bind(&visible_buy_object));
+ enable.add("Object.VisibleTake", boost::bind(&visible_take_object));
+ enable.add("Object.VisibleBuy", boost::bind(&visible_buy_object));
commit.add("Object.Buy", boost::bind(&handle_buy));
commit.add("Object.Edit", boost::bind(&handle_object_edit));
commit.add("Object.Inspect", boost::bind(&handle_object_inspect));
commit.add("Object.Open", boost::bind(&handle_object_open));
-
commit.add("Object.Take", boost::bind(&handle_take));
-
enable.add("Object.EnableOpen", boost::bind(&enable_object_open));
- visible.add("Object.VisibleOpen", boost::bind(&enable_object_open));
-
enable.add("Object.EnableTouch", boost::bind(&enable_object_touch));
- visible.add("Object.VisibleTouch", boost::bind(&enable_object_touch));
-
view_listener_t::addMenu(new LLObjectEnableTouch(), "Object.EnableTouch");
view_listener_t::addMenu(new LLObjectEnableSitOrStand(), "Object.EnableSitOrStand");
-
enable.add("Object.EnableDelete", boost::bind(&enable_object_delete));
- visible.add("Object.VisibleDelete", boost::bind(&enable_object_delete));
-
enable.add("Object.EnableWear", boost::bind(&object_selected_and_point_valid));
- visible.add("Object.VisibleWear", boost::bind(&object_selected_and_point_valid));
view_listener_t::addMenu(new LLObjectEnableReturn(), "Object.EnableReturn");
view_listener_t::addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse");
enable.add("Avatar.EnableMute", boost::bind(&enable_object_mute));
enable.add("Object.EnableMute", boost::bind(&enable_object_mute));
- visible.add("Object.VisibleMute", boost::bind(&enable_object_mute));
enable.add("Object.EnableBuy", boost::bind(&enable_buy_object));
- /*view_listener_t::addMenu(new LLObjectVisibleTouch(), "Object.VisibleTouch");
- view_listener_t::addMenu(new LLObjectVisibleCustomTouch(), "Object.VisibleCustomTouch");
- view_listener_t::addMenu(new LLObjectVisibleStandUp(), "Object.VisibleStandUp");
- view_listener_t::addMenu(new LLObjectVisibleSitHere(), "Object.VisibleSitHere");
- view_listener_t::addMenu(new LLObjectVisibleCustomSit(), "Object.VisibleCustomSit");*/
-
// Attachment pie menu
enable.add("Attachment.Label", boost::bind(&onEnableAttachmentLabel, _1, _2));
view_listener_t::addMenu(new LLAttachmentDrop(), "Attachment.Drop");
@@ -8033,6 +7924,7 @@ void initialize_menus()
// Generic actions
view_listener_t::addMenu(new LLShowFloater(), "ShowFloater");
+ view_listener_t::addMenu(new LLShowHelp(), "ShowHelp");
view_listener_t::addMenu(new LLPromptShowURL(), "PromptShowURL");
view_listener_t::addMenu(new LLShowAgentProfile(), "ShowAgentProfile");
view_listener_t::addMenu(new LLToggleControl(), "ToggleControl");
@@ -8041,12 +7933,9 @@ void initialize_menus()
commit.add("PayObject", boost::bind(&handle_give_money_dialog));
enable.add("EnablePayObject", boost::bind(&enable_pay_object));
- visible.add("VisiblePayObject", boost::bind(&enable_pay_object));
enable.add("EnablePayAvatar", boost::bind(&enable_pay_avatar));
enable.add("EnableEdit", boost::bind(&enable_object_edit));
- visible.add("VisibleBuild", boost::bind(&enable_object_build));
- visible.add("VisibleEdit", boost::bind(&enable_object_edit));
- visible.add("Object.VisibleEdit", boost::bind(&enable_object_edit));
+ enable.add("VisibleBuild", boost::bind(&enable_object_build));
view_listener_t::addMenu(new LLFloaterVisible(), "FloaterVisible");
view_listener_t::addMenu(new LLShowSidetrayPanel(), "ShowSidetrayPanel");