Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts: # indra/newview/llvocache.cpp # indra/newview/pipeline.cppmaster
commit
f2f79ca9ce
|
|
@ -5,6 +5,7 @@ on:
|
|||
- "Firestorm*.*.*"
|
||||
- "*alpha"
|
||||
- "*nightly"
|
||||
- "*preview"
|
||||
schedule:
|
||||
- cron: '00 03 * * *' # Run every day at 3am UTC
|
||||
env:
|
||||
|
|
|
|||
|
|
@ -28,11 +28,6 @@
|
|||
#include "linden_common.h"
|
||||
#include "fsregistrarutils.h"
|
||||
|
||||
FSRegistrarUtils::FSRegistrarUtils() :
|
||||
mEnableCheckFunction(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
bool FSRegistrarUtils::checkIsEnabled(LLUUID av_id, EFSRegistrarFunctionActionType action)
|
||||
{
|
||||
if (mEnableCheckFunction)
|
||||
|
|
|
|||
|
|
@ -28,9 +28,7 @@
|
|||
#ifndef FS_REGISTRARUTILS_H
|
||||
#define FS_REGISTRARUTILS_H
|
||||
|
||||
#include <boost/function.hpp>
|
||||
|
||||
enum EFSRegistrarFunctionActionType
|
||||
enum class EFSRegistrarFunctionActionType
|
||||
{
|
||||
FS_RGSTR_ACT_ADD_FRIEND,
|
||||
FS_RGSTR_ACT_REMOVE_FRIEND,
|
||||
|
|
@ -55,10 +53,10 @@ enum EFSRegistrarFunctionActionType
|
|||
class FSRegistrarUtils
|
||||
{
|
||||
public:
|
||||
FSRegistrarUtils();
|
||||
~FSRegistrarUtils() { };
|
||||
FSRegistrarUtils() = default;
|
||||
~FSRegistrarUtils() = default;
|
||||
|
||||
typedef boost::function<bool(const LLUUID&, EFSRegistrarFunctionActionType)> enable_check_function_t;
|
||||
using enable_check_function_t = std::function<bool(const LLUUID&, EFSRegistrarFunctionActionType)>;
|
||||
void setEnableCheckFunction(const enable_check_function_t& func)
|
||||
{
|
||||
mEnableCheckFunction = func;
|
||||
|
|
@ -67,7 +65,7 @@ public:
|
|||
bool checkIsEnabled(LLUUID av_id, EFSRegistrarFunctionActionType action);
|
||||
|
||||
private:
|
||||
enable_check_function_t mEnableCheckFunction;
|
||||
enable_check_function_t mEnableCheckFunction{ nullptr };
|
||||
};
|
||||
|
||||
extern FSRegistrarUtils gFSRegistrarUtils;
|
||||
|
|
|
|||
|
|
@ -2216,44 +2216,44 @@ BOOL LLScrollListCtrl::handleRightMouseDown(S32 x, S32 y, MASK mask)
|
|||
registrar.add("Url.CopyUrl", boost::bind(&LLScrollListCtrl::copySLURLToClipboard, id, is_group));
|
||||
|
||||
// <FS:Ansariel> Additional convenience options
|
||||
registrar.add("FS.ZoomIn", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/zoom", true));
|
||||
registrar.add("FS.TeleportToTarget", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/teleportto", true));
|
||||
registrar.add("FS.OfferTeleport", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/offerteleport", true));
|
||||
registrar.add("FS.RequestTeleport", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/requestteleport", true));
|
||||
registrar.add("FS.TrackAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/track", true));
|
||||
registrar.add("FS.AddToContactSet", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/addtocontactset", true)); // [FS:CR]
|
||||
registrar.add("FS.BlockAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/blockavatar", true));
|
||||
registrar.add("FS.ViewLog", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/viewlog", true));
|
||||
registrar.add("FS.ZoomIn", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/zoom", true));
|
||||
registrar.add("FS.TeleportToTarget", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/teleportto", true));
|
||||
registrar.add("FS.OfferTeleport", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/offerteleport", true));
|
||||
registrar.add("FS.RequestTeleport", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/requestteleport", true));
|
||||
registrar.add("FS.TrackAvatar", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/track", true));
|
||||
registrar.add("FS.AddToContactSet", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/addtocontactset", true)); // [FS:CR]
|
||||
registrar.add("FS.BlockAvatar", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/blockavatar", true));
|
||||
registrar.add("FS.ViewLog", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/viewlog", true));
|
||||
// </FS:Ansariel> Additional convenience options
|
||||
|
||||
// <FS:Ansariel> Add enable checks for menu items
|
||||
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;
|
||||
enable_registrar.add("Url.EnableShowProfile", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_SHOW_PROFILE));
|
||||
enable_registrar.add("Url.EnableAddFriend", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_ADD_FRIEND));
|
||||
enable_registrar.add("Url.EnableRemoveFriend", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_REMOVE_FRIEND));
|
||||
enable_registrar.add("Url.EnableSendIM", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_SEND_IM));
|
||||
enable_registrar.add("FS.EnableZoomIn", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_ZOOM_IN));
|
||||
enable_registrar.add("FS.EnableOfferTeleport", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_OFFER_TELEPORT));
|
||||
enable_registrar.add("FS.EnableTrackAvatar", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
enable_registrar.add("FS.EnableTeleportToTarget", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_TELEPORT_TO));
|
||||
enable_registrar.add("FS.EnableRequestTeleport", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_REQUEST_TELEPORT));
|
||||
enable_registrar.add("FS.CheckIsAgentBlocked", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_AVATAR_BLOCKED));
|
||||
enable_registrar.add("FS.EnableBlockAvatar", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_IS_NOT_SELF));
|
||||
enable_registrar.add("FS.EnableViewLog", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_ACT_VIEW_TRANSCRIPT));
|
||||
enable_registrar.add("Url.EnableShowProfile", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SHOW_PROFILE));
|
||||
enable_registrar.add("Url.EnableAddFriend", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ADD_FRIEND));
|
||||
enable_registrar.add("Url.EnableRemoveFriend", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REMOVE_FRIEND));
|
||||
enable_registrar.add("Url.EnableSendIM", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SEND_IM));
|
||||
enable_registrar.add("FS.EnableZoomIn", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ZOOM_IN));
|
||||
enable_registrar.add("FS.EnableOfferTeleport", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_OFFER_TELEPORT));
|
||||
enable_registrar.add("FS.EnableTrackAvatar", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
enable_registrar.add("FS.EnableTeleportToTarget", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TELEPORT_TO));
|
||||
enable_registrar.add("FS.EnableRequestTeleport", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REQUEST_TELEPORT));
|
||||
enable_registrar.add("FS.CheckIsAgentBlocked", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_AVATAR_BLOCKED));
|
||||
enable_registrar.add("FS.EnableBlockAvatar", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_IS_NOT_SELF));
|
||||
enable_registrar.add("FS.EnableViewLog", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_VIEW_TRANSCRIPT));
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Zi> FIRE-30725 - Add more group functions to group URL context menu
|
||||
std::string uuid_str = uuid.asString();
|
||||
|
||||
registrar.add("FS.JoinGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupjoin", true));
|
||||
registrar.add("FS.LeaveGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupleave", true));
|
||||
registrar.add("FS.ActivateGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupactivate", true));
|
||||
registrar.add("FS.JoinGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupjoin", true));
|
||||
registrar.add("FS.LeaveGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupleave", true));
|
||||
registrar.add("FS.ActivateGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + uuid_str + "/groupactivate", true));
|
||||
|
||||
enable_registrar.add("FS.WaitingForGroupData", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA));
|
||||
enable_registrar.add("FS.HaveGroupData", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_HAVE_GROUP_DATA));
|
||||
enable_registrar.add("FS.EnableJoinGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_CAN_JOIN_GROUP));
|
||||
enable_registrar.add("FS.EnableLeaveGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_CAN_LEAVE_GROUP));
|
||||
enable_registrar.add("FS.EnableActivateGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, FS_RGSTR_CHK_GROUP_NOT_ACTIVE));
|
||||
enable_registrar.add("FS.WaitingForGroupData", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA));
|
||||
enable_registrar.add("FS.HaveGroupData", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_HAVE_GROUP_DATA));
|
||||
enable_registrar.add("FS.EnableJoinGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_JOIN_GROUP));
|
||||
enable_registrar.add("FS.EnableLeaveGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_LEAVE_GROUP));
|
||||
enable_registrar.add("FS.EnableActivateGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, uuid, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_GROUP_NOT_ACTIVE));
|
||||
// </FS:Zi>
|
||||
|
||||
// create the context menu from the XUI file and display it
|
||||
|
|
|
|||
|
|
@ -2265,51 +2265,51 @@ void LLTextBase::createUrlContextMenu(S32 x, S32 y, const std::string &in_url)
|
|||
|
||||
// <FS:Ansariel> Additional convenience options
|
||||
std::string target_id_str = LLUrlAction::extractUuidFromSlurl(url).asString();
|
||||
registrar.add("FS.ZoomIn", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/zoom", true));
|
||||
registrar.add("FS.TeleportToTarget", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/teleportto", true));
|
||||
registrar.add("FS.OfferTeleport", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/offerteleport", true));
|
||||
registrar.add("FS.RequestTeleport", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/requestteleport", true));
|
||||
registrar.add("FS.TrackAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/track", true));
|
||||
registrar.add("FS.AddToContactSet", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/addtocontactset", true)); // [FS:CR]
|
||||
registrar.add("FS.BlockAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/blockavatar", true));
|
||||
registrar.add("FS.ViewLog", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/viewlog", true));
|
||||
registrar.add("FS.ZoomIn", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/zoom", true));
|
||||
registrar.add("FS.TeleportToTarget", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/teleportto", true));
|
||||
registrar.add("FS.OfferTeleport", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/offerteleport", true));
|
||||
registrar.add("FS.RequestTeleport", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/requestteleport", true));
|
||||
registrar.add("FS.TrackAvatar", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/track", true));
|
||||
registrar.add("FS.AddToContactSet", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/addtocontactset", true)); // [FS:CR]
|
||||
registrar.add("FS.BlockAvatar", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/blockavatar", true));
|
||||
registrar.add("FS.ViewLog", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/viewlog", true));
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Ansariel> Add enable checks for menu items
|
||||
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;
|
||||
LLUUID target_id(target_id_str);
|
||||
enable_registrar.add("Url.EnableShowProfile", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_SHOW_PROFILE));
|
||||
enable_registrar.add("Url.EnableAddFriend", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_ADD_FRIEND));
|
||||
enable_registrar.add("Url.EnableRemoveFriend", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_REMOVE_FRIEND));
|
||||
enable_registrar.add("Url.EnableSendIM", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_SEND_IM));
|
||||
enable_registrar.add("FS.EnableZoomIn", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_ZOOM_IN));
|
||||
enable_registrar.add("FS.EnableOfferTeleport", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_OFFER_TELEPORT));
|
||||
enable_registrar.add("FS.EnableTrackAvatar", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
enable_registrar.add("FS.EnableTeleportToTarget", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_TELEPORT_TO));
|
||||
enable_registrar.add("FS.EnableRequestTeleport", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_REQUEST_TELEPORT));
|
||||
enable_registrar.add("FS.CheckIsAgentBlocked", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_AVATAR_BLOCKED));
|
||||
enable_registrar.add("FS.EnableBlockAvatar", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_IS_NOT_SELF));
|
||||
enable_registrar.add("FS.EnableViewLog", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_ACT_VIEW_TRANSCRIPT));
|
||||
enable_registrar.add("Url.EnableShowProfile", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SHOW_PROFILE));
|
||||
enable_registrar.add("Url.EnableAddFriend", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ADD_FRIEND));
|
||||
enable_registrar.add("Url.EnableRemoveFriend", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REMOVE_FRIEND));
|
||||
enable_registrar.add("Url.EnableSendIM", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SEND_IM));
|
||||
enable_registrar.add("FS.EnableZoomIn", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ZOOM_IN));
|
||||
enable_registrar.add("FS.EnableOfferTeleport", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_OFFER_TELEPORT));
|
||||
enable_registrar.add("FS.EnableTrackAvatar", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
enable_registrar.add("FS.EnableTeleportToTarget", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TELEPORT_TO));
|
||||
enable_registrar.add("FS.EnableRequestTeleport", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REQUEST_TELEPORT));
|
||||
enable_registrar.add("FS.CheckIsAgentBlocked", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_AVATAR_BLOCKED));
|
||||
enable_registrar.add("FS.EnableBlockAvatar", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_IS_NOT_SELF));
|
||||
enable_registrar.add("FS.EnableViewLog", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_VIEW_TRANSCRIPT));
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Zi> FIRE-30725 - Add more group functions to group URL context menu
|
||||
registrar.add("FS.JoinGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupjoin", true));
|
||||
registrar.add("FS.LeaveGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupleave", true));
|
||||
registrar.add("FS.ActivateGroup", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupactivate", true));
|
||||
registrar.add("FS.JoinGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupjoin", true));
|
||||
registrar.add("FS.LeaveGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupleave", true));
|
||||
registrar.add("FS.ActivateGroup", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupactivate", true));
|
||||
|
||||
// hook up moderation tools
|
||||
// if someone knows how to pass a parameter to these, let me know! - Zi
|
||||
// also, I wish I could pass the group session id through these calls, but LLTextBase does not know it - Zi
|
||||
registrar.add("FS.AllowGroupChat", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupchatallow", true));
|
||||
registrar.add("FS.ForbidGroupChat", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupchatforbid", true));
|
||||
registrar.add("FS.EjectGroupMember", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupeject", true));
|
||||
registrar.add("FS.BanGroupMember", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupban", true));
|
||||
registrar.add("FS.AllowGroupChat", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupchatallow", true));
|
||||
registrar.add("FS.ForbidGroupChat", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupchatforbid", true));
|
||||
registrar.add("FS.EjectGroupMember", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupeject", true));
|
||||
registrar.add("FS.BanGroupMember", std::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id_str + "/groupban", true));
|
||||
|
||||
enable_registrar.add("FS.WaitingForGroupData", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA));
|
||||
enable_registrar.add("FS.HaveGroupData", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_HAVE_GROUP_DATA));
|
||||
enable_registrar.add("FS.EnableJoinGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_CAN_JOIN_GROUP));
|
||||
enable_registrar.add("FS.EnableLeaveGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_CAN_LEAVE_GROUP));
|
||||
enable_registrar.add("FS.EnableActivateGroup", boost::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, FS_RGSTR_CHK_GROUP_NOT_ACTIVE));
|
||||
enable_registrar.add("FS.WaitingForGroupData", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA));
|
||||
enable_registrar.add("FS.HaveGroupData", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_HAVE_GROUP_DATA));
|
||||
enable_registrar.add("FS.EnableJoinGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_JOIN_GROUP));
|
||||
enable_registrar.add("FS.EnableLeaveGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_LEAVE_GROUP));
|
||||
enable_registrar.add("FS.EnableActivateGroup", std::bind(&FSRegistrarUtils::checkIsEnabled, gFSRegistrarUtils, target_id, EFSRegistrarFunctionActionType::FS_RGSTR_CHK_GROUP_NOT_ACTIVE));
|
||||
// </FS:Zi>
|
||||
|
||||
// create and return the context menu from the XUI file
|
||||
|
|
|
|||
|
|
@ -1100,12 +1100,12 @@ protected:
|
|||
{
|
||||
menu->setItemVisible("Send IM", false);
|
||||
}
|
||||
menu->setItemEnabled("Teleport to", FSCommon::checkIsActionEnabled(mAvatarID, FS_RGSTR_ACT_TELEPORT_TO));
|
||||
menu->setItemEnabled("Teleport to", FSCommon::checkIsActionEnabled(mAvatarID, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TELEPORT_TO));
|
||||
menu->setItemEnabled("Offer Teleport", LLAvatarActions::canOfferTeleport(mAvatarID));
|
||||
menu->setItemEnabled("Request Teleport", LLAvatarActions::canRequestTeleport(mAvatarID));
|
||||
menu->setItemEnabled("Voice Call", LLAvatarActions::canCall());
|
||||
menu->setItemEnabled("Zoom In", FSCommon::checkIsActionEnabled(mAvatarID, FS_RGSTR_ACT_ZOOM_IN));
|
||||
menu->setItemEnabled("track", FSCommon::checkIsActionEnabled(mAvatarID, FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
menu->setItemEnabled("Zoom In", FSCommon::checkIsActionEnabled(mAvatarID, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ZOOM_IN));
|
||||
menu->setItemEnabled("track", FSCommon::checkIsActionEnabled(mAvatarID, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TRACK_AVATAR));
|
||||
menu->setItemEnabled("Block Unblock", LLAvatarActions::canBlock(mAvatarID));
|
||||
menu->setItemEnabled("Mute Text", LLAvatarActions::canBlock(mAvatarID));
|
||||
menu->setItemEnabled("Chat History", LLLogChat::isTranscriptExist(mAvatarID));
|
||||
|
|
|
|||
|
|
@ -333,67 +333,67 @@ bool FSCommon::checkIsActionEnabled(const LLUUID& av_id, EFSRegistrarFunctionAct
|
|||
{
|
||||
bool isSelf = (av_id == gAgentID);
|
||||
|
||||
if (action == FS_RGSTR_ACT_ADD_FRIEND)
|
||||
if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ADD_FRIEND)
|
||||
{
|
||||
return (!isSelf && !LLAvatarActions::isFriend(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_REMOVE_FRIEND)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REMOVE_FRIEND)
|
||||
{
|
||||
return (!isSelf && LLAvatarActions::isFriend(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_SEND_IM)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SEND_IM)
|
||||
{
|
||||
return (!isSelf && RlvActions::canStartIM(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_VIEW_TRANSCRIPT)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_VIEW_TRANSCRIPT)
|
||||
{
|
||||
return (!isSelf && LLLogChat::isTranscriptExist(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_ZOOM_IN)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ZOOM_IN)
|
||||
{
|
||||
return (!isSelf && !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES) && LLAvatarActions::canZoomIn(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_OFFER_TELEPORT)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_OFFER_TELEPORT)
|
||||
{
|
||||
return (!isSelf && LLAvatarActions::canOfferTeleport(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_REQUEST_TELEPORT)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REQUEST_TELEPORT)
|
||||
{
|
||||
return (!isSelf && LLAvatarActions::canRequestTeleport(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_SHOW_PROFILE)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_SHOW_PROFILE)
|
||||
{
|
||||
return (isSelf || !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES));
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_TRACK_AVATAR)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TRACK_AVATAR)
|
||||
{
|
||||
return (!isSelf && FSRadar::getInstance()->getEntry(av_id) != NULL);
|
||||
}
|
||||
else if (action == FS_RGSTR_ACT_TELEPORT_TO)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_ACT_TELEPORT_TO)
|
||||
{
|
||||
return (!isSelf && FSRadar::getInstance()->getEntry(av_id) != NULL);
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_AVATAR_BLOCKED)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_AVATAR_BLOCKED)
|
||||
{
|
||||
return (!isSelf && LLMuteList::getInstance()->isMuted(av_id));
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_IS_SELF)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_IS_SELF)
|
||||
{
|
||||
return isSelf;
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_IS_NOT_SELF)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_IS_NOT_SELF)
|
||||
{
|
||||
return !isSelf;
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_WAITING_FOR_GROUP_DATA)
|
||||
{
|
||||
return !requestGroupData(av_id);
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_HAVE_GROUP_DATA)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_HAVE_GROUP_DATA)
|
||||
{
|
||||
return requestGroupData(av_id);
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_CAN_LEAVE_GROUP)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_LEAVE_GROUP)
|
||||
{
|
||||
if (gAgent.getGroupID() == av_id && !RlvActions::canChangeActiveGroup())
|
||||
{
|
||||
|
|
@ -402,7 +402,7 @@ bool FSCommon::checkIsActionEnabled(const LLUUID& av_id, EFSRegistrarFunctionAct
|
|||
|
||||
return gAgent.isInGroup(av_id);
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_CAN_JOIN_GROUP)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_CAN_JOIN_GROUP)
|
||||
{
|
||||
if (!gAgent.canJoinGroups())
|
||||
{
|
||||
|
|
@ -422,7 +422,7 @@ bool FSCommon::checkIsActionEnabled(const LLUUID& av_id, EFSRegistrarFunctionAct
|
|||
|
||||
return !gAgent.isInGroup(av_id);
|
||||
}
|
||||
else if (action == FS_RGSTR_CHK_GROUP_NOT_ACTIVE)
|
||||
else if (action == EFSRegistrarFunctionActionType::FS_RGSTR_CHK_GROUP_NOT_ACTIVE)
|
||||
{
|
||||
if (!RlvActions::canChangeActiveGroup())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1160,7 +1160,10 @@ void LLAgent::capabilityReceivedCallback(const LLUUID ®ion_id, LLViewerRegion
|
|||
|
||||
if (gAgent.getInterestListMode() == LLViewerRegion::IL_MODE_360)
|
||||
{
|
||||
gAgent.changeInterestListMode(LLViewerRegion::IL_MODE_360);
|
||||
// <FS:Beq> make this actually work
|
||||
// gAgent.changeInterestListMode(LLViewerRegion::IL_MODE_360);
|
||||
regionp->setInterestListMode(LLViewerRegion::IL_MODE_360);
|
||||
// </FS:Beq>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1212,6 +1215,14 @@ void LLAgent::setRegion(LLViewerRegion *regionp)
|
|||
{
|
||||
regionp->requestSimulatorFeatures();
|
||||
LLAppViewer::instance()->updateNameLookupUrl(regionp);
|
||||
// <FS:Beq> move the interestlist update to a place where it is safe.
|
||||
// Set the region to the desired interest list mode
|
||||
if (getInterestListMode() == LLViewerRegion::IL_MODE_360)
|
||||
{
|
||||
changeInterestListMode(LLViewerRegion::IL_MODE_360);
|
||||
regionp->setCapabilitiesReceivedCallback(LLAgent::capabilityReceivedCallback);
|
||||
}
|
||||
// </FS:Beq>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -3598,7 +3609,7 @@ void LLAgent::changeInterestListMode(const std::string &new_mode)
|
|||
if ( (new_mode == LLViewerRegion::IL_MODE_DEFAULT && (!mFSAreaSearchActive && !m360CaptureActive)) ||
|
||||
(new_mode == LLViewerRegion::IL_MODE_360) )
|
||||
{
|
||||
LL_DEBUGS("360Capture") << "Setting Agent interest list mode to " << mInterestListMode << " and updating regions" << LL_ENDL;
|
||||
LL_DEBUGS("360Capture") << "Setting Agent interest list mode to " << new_mode << " and updating regions" << LL_ENDL;
|
||||
// </FS:Beq>
|
||||
mInterestListMode = new_mode;
|
||||
// Change interest list mode for all regions. If they are already set for the current mode,
|
||||
|
|
|
|||
|
|
@ -83,12 +83,18 @@ LLFloater360Capture::~LLFloater360Capture()
|
|||
// Normally LLFloater360Capture tells the Simulator send everything
|
||||
// and now reverts to the regular "keyhole" frustum of interest
|
||||
// list updates.
|
||||
if (!LLApp::isExiting() &&
|
||||
// gSavedSettings.getBOOL("360CaptureUseInterestListCap") && // <FS:Beq/> Invalid dependency - This is not used anywhere else now.
|
||||
mStartILMode != gAgent.getInterestListMode())
|
||||
// <FS:Beq> This whole thing is wrong because it is not a simple before/after state states can overlap.
|
||||
// if (!LLApp::isExiting() &&
|
||||
// // gSavedSettings.getBOOL("360CaptureUseInterestListCap") && // <FS:Beq/> Invalid dependency - This is not used anywhere else now.
|
||||
// mStartILMode != gAgent.getInterestListMode())
|
||||
// {
|
||||
// gAgent.set360CaptureActive(false); // <FS:Beq/> make FS Area search work again
|
||||
// gAgent.changeInterestListMode(mStartILMode);
|
||||
// }
|
||||
if ( !LLApp::isExiting() )
|
||||
{
|
||||
gAgent.set360CaptureActive(false); // <FS:Beq/> make FS Area search work again
|
||||
gAgent.changeInterestListMode(mStartILMode);
|
||||
gAgent.changeInterestListMode(LLViewerRegion::IL_MODE_DEFAULT);// The Change Interest Mode target mode is indicative only. If something else is holding the 360 mode open then this will be ignored.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2236,12 +2236,12 @@ void LLNetMap::performDoubleClickAction(LLVector3d pos_global)
|
|||
|
||||
bool LLNetMap::canAddFriend()
|
||||
{
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, FS_RGSTR_ACT_ADD_FRIEND);
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_ADD_FRIEND);
|
||||
}
|
||||
|
||||
bool LLNetMap::canRemoveFriend()
|
||||
{
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, FS_RGSTR_ACT_REMOVE_FRIEND);
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REMOVE_FRIEND);
|
||||
}
|
||||
|
||||
bool LLNetMap::canCall()
|
||||
|
|
@ -2261,13 +2261,13 @@ bool LLNetMap::canShare()
|
|||
|
||||
bool LLNetMap::canOfferTeleport()
|
||||
{
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, FS_RGSTR_ACT_OFFER_TELEPORT);
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_OFFER_TELEPORT);
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Extra request teleport
|
||||
bool LLNetMap::canRequestTeleport()
|
||||
{
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, FS_RGSTR_ACT_REQUEST_TELEPORT);
|
||||
return FSCommon::checkIsActionEnabled(mClosestAgentRightClick, EFSRegistrarFunctionActionType::FS_RGSTR_ACT_REQUEST_TELEPORT);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
|
|
|
|||
|
|
@ -673,7 +673,7 @@ void LLPanelEditWearable::updateMetricLayout(BOOL new_value)
|
|||
LLUIString current_metric, replacment_metric;
|
||||
current_metric = new_value ? mMeters : mFeet;
|
||||
replacment_metric = new_value ? mFeet : mMeters;
|
||||
mHeigthValue.setArg( "[METRIC1]", current_metric.getString() );
|
||||
mHeightValue.setArg( "[METRIC1]", current_metric.getString() );
|
||||
mReplacementMetricUrl.setArg( "[URL_METRIC2]", std::string("[secondlife:///app/metricsystem ") + replacment_metric.getString() + std::string("]"));
|
||||
}
|
||||
|
||||
|
|
@ -681,11 +681,11 @@ void LLPanelEditWearable::updateAvatarHeightLabel()
|
|||
{
|
||||
mTxtAvatarHeight->setText(LLStringUtil::null);
|
||||
LLStyle::Params param;
|
||||
param.color = mAvatarHeigthLabelColor;
|
||||
mTxtAvatarHeight->appendText(mHeigth, false, param);
|
||||
param.color = mAvatarHeigthValueLabelColor;
|
||||
mTxtAvatarHeight->appendText(mHeigthValue, false, param);
|
||||
param.color = mAvatarHeigthLabelColor; // using mAvatarHeigthLabelColor for '/' separator
|
||||
param.color = mAvatarHeightLabelColor;
|
||||
mTxtAvatarHeight->appendText(mHeight, false, param);
|
||||
param.color = mAvatarHeightValueLabelColor;
|
||||
mTxtAvatarHeight->appendText(mHeightValue, false, param);
|
||||
param.color = mAvatarHeightLabelColor; // using mAvatarHeightLabelColor for '/' separator
|
||||
mTxtAvatarHeight->appendText(" / ", false, param);
|
||||
mTxtAvatarHeight->appendText(this->mReplacementMetricUrl, false, param);
|
||||
}
|
||||
|
|
@ -860,14 +860,14 @@ BOOL LLPanelEditWearable::postBuild()
|
|||
// init all strings
|
||||
mMeters = mPanelShape->getString("meters");
|
||||
mFeet = mPanelShape->getString("feet");
|
||||
mHeigth = mPanelShape->getString("height") + " ";
|
||||
mHeigthValue = "[HEIGHT] [METRIC1]";
|
||||
mHeight = mPanelShape->getString("height") + " ";
|
||||
mHeightValue = "[HEIGHT] [METRIC1]";
|
||||
mReplacementMetricUrl = "[URL_METRIC2]";
|
||||
|
||||
std::string color = mPanelShape->getString("heigth_label_color");
|
||||
mAvatarHeigthLabelColor = LLUIColorTable::instance().getColor(color, LLColor4::green);
|
||||
color = mPanelShape->getString("heigth_value_label_color");
|
||||
mAvatarHeigthValueLabelColor = LLUIColorTable::instance().getColor(color, LLColor4::green);
|
||||
std::string color = mPanelShape->getString("height_label_color");
|
||||
mAvatarHeightLabelColor = LLUIColorTable::instance().getColor(color, LLColor4::green);
|
||||
color = mPanelShape->getString("height_value_label_color");
|
||||
mAvatarHeightValueLabelColor = LLUIColorTable::instance().getColor(color, LLColor4::green);
|
||||
gSavedSettings.getControl("HeightUnits")->getSignal()->connect(boost::bind(&LLPanelEditWearable::changeHeightUnits, this, _2));
|
||||
updateMetricLayout(gSavedSettings.getBOOL("HeightUnits"));
|
||||
|
||||
|
|
@ -1479,7 +1479,7 @@ void LLPanelEditWearable::updateTypeSpecificControls(LLWearableType::EType type)
|
|||
}
|
||||
|
||||
std::string avatar_height_str = llformat("%.2f", new_size);
|
||||
mHeigthValue.setArg("[HEIGHT]", avatar_height_str);
|
||||
mHeightValue.setArg("[HEIGHT]", avatar_height_str);
|
||||
updateAvatarHeightLabel();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -145,14 +145,14 @@ private:
|
|||
// localized and parameterized strings that used to build avatar_height_label
|
||||
std::string mMeters;
|
||||
std::string mFeet;
|
||||
std::string mHeigth;
|
||||
LLUIString mHeigthValue;
|
||||
std::string mHeight;
|
||||
LLUIString mHeightValue;
|
||||
LLUIString mReplacementMetricUrl;
|
||||
|
||||
// color for mHeigth string
|
||||
LLUIColor mAvatarHeigthLabelColor;
|
||||
// color for mHeigthValue string
|
||||
LLUIColor mAvatarHeigthValueLabelColor;
|
||||
// color for mHeight string
|
||||
LLUIColor mAvatarHeightLabelColor;
|
||||
// color for mHeightValue string
|
||||
LLUIColor mAvatarHeightValueLabelColor;
|
||||
|
||||
// This text editor reference will change each time we edit a new wearable -
|
||||
// it will be grabbed from the currently visible panel
|
||||
|
|
|
|||
|
|
@ -2210,7 +2210,7 @@ bool idle_startup()
|
|||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Ansariel> Register check function for registrar enable checks
|
||||
gFSRegistrarUtils.setEnableCheckFunction(boost::bind(&FSCommon::checkIsActionEnabled, _1, _2));
|
||||
gFSRegistrarUtils.setEnableCheckFunction(std::bind(&FSCommon::checkIsActionEnabled, std::placeholders::_1, std::placeholders::_2));
|
||||
|
||||
// <FS:Techwolf Lupindo> fsdata support
|
||||
FSData::instance().addAgents();
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@
|
|||
const S32 MAX_CAP_REQUEST_ATTEMPTS = 30;
|
||||
const U32 DEFAULT_MAX_REGION_WIDE_PRIM_COUNT = 15000;
|
||||
|
||||
bool LLViewerRegion::sFSAreaSearchActive = false; // <FS:Beq/> FIRE-32688 Area Search improvements
|
||||
BOOL LLViewerRegion::sVOCacheCullingEnabled = FALSE;
|
||||
S32 LLViewerRegion::sLastCameraUpdated = 0;
|
||||
S32 LLViewerRegion::sNewObjectCreationThrottle = -1;
|
||||
|
|
@ -3615,8 +3614,10 @@ void LLViewerRegion::setCapabilitiesReceived(bool received)
|
|||
// This is a single-shot signal. Forget callbacks to save resources.
|
||||
mCapabilitiesReceivedSignal.disconnect_all_slots();
|
||||
|
||||
// Set the region to the desired interest list mode
|
||||
setInterestListMode(gAgent.getInterestListMode());
|
||||
// <FS:Beq> 360/AreaSearch fix - Move this to agent callback to avoid premature triggere with null region
|
||||
// // Set the region to the desired interest list mode
|
||||
// setInterestListMode(gAgent.getInterestListMode());
|
||||
// </FS:Beq>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -501,7 +501,6 @@ public:
|
|||
std::vector<U32> mMapAvatars;
|
||||
std::vector<LLUUID> mMapAvatarIDs;
|
||||
|
||||
static bool sFSAreaSearchActive; // <FS:Beq/> FIRE-32688 Area Search improvements
|
||||
static BOOL sVOCacheCullingEnabled; //vo cache culling enabled or not.
|
||||
static S32 sLastCameraUpdated;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#include "llviewerregion.h"
|
||||
#include "llagentcamera.h"
|
||||
#include "llsdserialize.h"
|
||||
#include "llagent.h" // <FS:Beq/> For gAgent
|
||||
|
||||
//static variables
|
||||
U32 LLVOCacheEntry::sMinFrameRange = 0;
|
||||
|
|
@ -558,7 +559,7 @@ F32 LLVOCacheEntry::getSquaredPixelThreshold(bool is_front)
|
|||
|
||||
bool LLVOCacheEntry::isAnyVisible(const LLVector4a& camera_origin, const LLVector4a& local_camera_origin, F32 dist_threshold)
|
||||
{
|
||||
if( LLViewerRegion::sFSAreaSearchActive ) { return true; } // <FS:Beq/> FIRE-32688 Area Search improvements
|
||||
if( gAgent.getFSAreaSearchActive() ) { return true; } // <FS:Beq/> FIRE-32688 Area Search improvements
|
||||
LLOcclusionCullingGroup* group = (LLOcclusionCullingGroup*)getGroup();
|
||||
if(!group)
|
||||
{
|
||||
|
|
@ -1056,10 +1057,7 @@ S32 LLVOCachePartition::cull(LLCamera &camera, bool do_occlusion)
|
|||
|
||||
//process back objects selection
|
||||
selectBackObjects(camera, LLVOCacheEntry::getSquaredPixelThreshold(mFrontCull),
|
||||
// <FS:Beq> FIRE-32688 Area Search improvements
|
||||
// do_occlusion && use_object_cache_occlusion);
|
||||
do_occlusion && use_object_cache_occlusion && !LLViewerRegion::sFSAreaSearchActive);
|
||||
// </FS:Beq>
|
||||
do_occlusion && use_object_cache_occlusion);
|
||||
return 0; //nothing changed, reduce frequency of culling
|
||||
}
|
||||
}
|
||||
|
|
@ -1073,10 +1071,7 @@ S32 LLVOCachePartition::cull(LLCamera &camera, bool do_occlusion)
|
|||
camera.calcRegionFrustumPlanes(region_agent, gAgentCamera.mDrawDistance);
|
||||
|
||||
mFrontCull = TRUE;
|
||||
// <FS:Beq> FIRE-32688 Area Search improvements
|
||||
// LLVOCacheOctreeCull culler(&camera, mRegionp, region_agent, do_occlusion && use_object_cache_occlusion,
|
||||
LLVOCacheOctreeCull culler(&camera, mRegionp, region_agent, do_occlusion && use_object_cache_occlusion && !LLViewerRegion::sFSAreaSearchActive,
|
||||
// </FS:Beq>
|
||||
LLVOCacheOctreeCull culler(&camera, mRegionp, region_agent, do_occlusion && use_object_cache_occlusion,
|
||||
LLVOCacheEntry::getSquaredPixelThreshold(mFrontCull), this);
|
||||
culler.traverse(mOctree);
|
||||
|
||||
|
|
|
|||
|
|
@ -5368,7 +5368,10 @@ void LLControlAVBridge::updateSpatialExtents()
|
|||
// disappear when root goes off-screen"
|
||||
//
|
||||
// Expand extents to include Control Avatar placed outside of the bounds
|
||||
if (controlAvatar && (rootWasDirty || controlAvatar->mPlaying))
|
||||
// <FS:Beq> mDrawable crash reported by Aleric Inglewood
|
||||
// if (controlAvatar && (rootWasDirty || controlAvatar->mPlaying))
|
||||
if (controlAvatar && controlAvatar->mDrawable.notNull() && (rootWasDirty || controlAvatar->mPlaying))
|
||||
// </FS:Beq>
|
||||
{
|
||||
root->expandExtents(controlAvatar->mDrawable->getSpatialExtents(), *mDrawable->getXform());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2441,7 +2441,9 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, bool hud_att
|
|||
LLVOCachePartition* vo_part = region->getVOCachePartition();
|
||||
if(vo_part)
|
||||
{
|
||||
vo_part->cull(camera, sUseOcclusion > 0);
|
||||
// <FS:Beq> Fix area search again
|
||||
//vo_part->cull(camera, sUseOcclusion > 0);
|
||||
vo_part->cull(camera, sUseOcclusion > 0 && !gAgent.getFSAreaSearchActive());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
<string name="meters">Meters</string>
|
||||
<string name="feet">Feet</string>
|
||||
<string name="height">Height:</string>
|
||||
<string name="heigth_label_color" translate="false">White_50</string>
|
||||
<string name="heigth_value_label_color" translate="false">White</string>
|
||||
<string name="height_label_color" translate="false">White_50</string>
|
||||
<string name="height_value_label_color" translate="false">White</string>
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerifSmallBold"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
<string name="meters">Meters</string>
|
||||
<string name="feet">Feet</string>
|
||||
<string name="height">Height:</string>
|
||||
<string name="heigth_label_color" translate="false">White_50</string>
|
||||
<string name="heigth_value_label_color" translate="false">White</string>
|
||||
<string name="height_label_color" translate="false">White_50</string>
|
||||
<string name="height_value_label_color" translate="false">White</string>
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerifSmallBold"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater name="performance" title="УЛУЧШИТЬ СКОРОСТЬ ГРАФИКИ">
|
||||
<string name="fps_text" value="кадров в секунду"/>
|
||||
<string name="max_text" value=" (максимум)"/>
|
||||
<panel name="panel_top">
|
||||
<panel name="fps_subpanel">
|
||||
<text name="fps_lbl">кадров в секунду</text>
|
||||
<text name="fps_desc1_lbl">Подождите 5–10 секунд,</text>
|
||||
<text name="fps_desc2_lbl">чтобы изменения произошли.</text>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel name="panel_performance_main">
|
||||
<panel name="autoadjustments_subpanel">
|
||||
<text name="auto_adj_lbl">Автоподстройка настройки (рекомендуется)</text>
|
||||
<text name="auto_adj_desc">Разрешите автонастройку для достижения желаемой частоты кадров.</text>
|
||||
</panel>
|
||||
<panel name="settings_subpanel">
|
||||
<text name="settings_lbl">Настройки графики</text>
|
||||
<text name="settings_desc">Выбирайте настройки расстояния, воды, освещения и многого другого.</text>
|
||||
</panel>
|
||||
<panel name="nearby_subpanel">
|
||||
<text name="avatars_nearby_lbl">Аватары поблизости</text>
|
||||
<text name="avatars_nearby_desc">Управляйте полным отображением ближайших аватаров.</text>
|
||||
</panel>
|
||||
<panel name="complexity_subpanel">
|
||||
<text name="complexity_lbl">Сложность вашего аватара</text>
|
||||
<text name="complexity_info">Уменьшите сложность вашего аватара, если вас не устраивает текущий FPS.</text>
|
||||
</panel>
|
||||
<panel name="huds_subpanel">
|
||||
<text name="huds_lbl" width="135">Ваши активные HUD</text>
|
||||
<text name="huds_desc" width="395">Удаление неиспользуемых HUD может повысить скорость.</text>
|
||||
</panel>
|
||||
</panel>
|
||||
</floater>
|
||||
|
|
@ -11,8 +11,8 @@
|
|||
<string name="meters">Meters</string>
|
||||
<string name="feet">Feet</string>
|
||||
<string name="height">Height:</string>
|
||||
<string name="heigth_label_color" translate="false">White_50</string>
|
||||
<string name="heigth_value_label_color" translate="false">White</string>
|
||||
<string name="height_label_color" translate="false">White_50</string>
|
||||
<string name="height_value_label_color" translate="false">White</string>
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerifSmallBold"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
<string name="meters">Meters</string>
|
||||
<string name="feet">Feet</string>
|
||||
<string name="height">Height:</string>
|
||||
<string name="heigth_label_color" translate="false">White_50</string>
|
||||
<string name="heigth_value_label_color" translate="false">White</string>
|
||||
<string name="height_label_color" translate="false">White_50</string>
|
||||
<string name="height_value_label_color" translate="false">White</string>
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerifSmallBold"
|
||||
|
|
|
|||
Loading…
Reference in New Issue