Merge viewer-lynx
commit
f44edb205d
|
|
@ -1607,6 +1607,11 @@ LLVector3d LLAgentCamera::calcFocusPositionTargetGlobal()
|
|||
}
|
||||
else if (mCameraMode == CAMERA_MODE_CUSTOMIZE_AVATAR)
|
||||
{
|
||||
LLVector3 focus_target = isAgentAvatarValid()
|
||||
? gAgentAvatarp->mHeadp->getWorldPosition()
|
||||
: gAgent.getPositionAgent();
|
||||
LLVector3d focus_target_global = gAgent.getPosGlobalFromAgent(focus_target);
|
||||
mFocusTargetGlobal = focus_target_global;
|
||||
return mFocusTargetGlobal;
|
||||
}
|
||||
else if (!mFocusOnAvatar)
|
||||
|
|
|
|||
|
|
@ -373,6 +373,11 @@ void LLBlockList::onCustomAction(const LLSD& userdata)
|
|||
bool LLBlockList::isMenuItemChecked(const LLSD& userdata)
|
||||
{
|
||||
LLBlockedListItem* item = getBlockedItem();
|
||||
if (!item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
const std::string command_name = userdata.asString();
|
||||
|
||||
if ("block_voice" == command_name)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include "llfloateravatarrendersettings.h"
|
||||
|
||||
#include "llavatarnamecache.h"
|
||||
#include "llfloateravatarpicker.h"
|
||||
#include "llfiltereditor.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llnamelistctrl.h"
|
||||
|
|
@ -73,6 +74,7 @@ LLFloaterAvatarRenderSettings::LLFloaterAvatarRenderSettings(const LLSD& key)
|
|||
{
|
||||
mContextMenu = new LLSettingsContextMenu(this);
|
||||
LLRenderMuteList::getInstance()->addObserver(&sAvatarRenderMuteListObserver);
|
||||
mCommitCallbackRegistrar.add("Settings.AddNewEntry", boost::bind(&LLFloaterAvatarRenderSettings::onClickAdd, this, _2));
|
||||
}
|
||||
|
||||
LLFloaterAvatarRenderSettings::~LLFloaterAvatarRenderSettings()
|
||||
|
|
@ -86,12 +88,20 @@ BOOL LLFloaterAvatarRenderSettings::postBuild()
|
|||
LLFloater::postBuild();
|
||||
mAvatarSettingsList = getChild<LLNameListCtrl>("render_settings_list");
|
||||
mAvatarSettingsList->setRightMouseDownCallback(boost::bind(&LLFloaterAvatarRenderSettings::onAvatarListRightClick, this, _1, _2, _3));
|
||||
|
||||
this->setVisibleCallback(boost::bind(&LLFloaterAvatarRenderSettings::removePicker, this));
|
||||
getChild<LLFilterEditor>("people_filter_input")->setCommitCallback(boost::bind(&LLFloaterAvatarRenderSettings::onFilterEdit, this, _2));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLFloaterAvatarRenderSettings::removePicker()
|
||||
{
|
||||
if(mPicker.get())
|
||||
{
|
||||
mPicker.get()->closeFloater();
|
||||
}
|
||||
}
|
||||
|
||||
void LLFloaterAvatarRenderSettings::draw()
|
||||
{
|
||||
if(mNeedsUpdate)
|
||||
|
|
@ -187,15 +197,15 @@ void LLFloaterAvatarRenderSettings::onCustomAction (const LLSD& userdata, const
|
|||
if ("default" == command_name)
|
||||
{
|
||||
new_setting = S32(LLVOAvatar::AV_RENDER_NORMALLY);
|
||||
}
|
||||
}
|
||||
else if ("never" == command_name)
|
||||
{
|
||||
{
|
||||
new_setting = S32(LLVOAvatar::AV_DO_NOT_RENDER);
|
||||
}
|
||||
else if ("always" == command_name)
|
||||
{
|
||||
{
|
||||
new_setting = S32(LLVOAvatar::AV_ALWAYS_RENDER);
|
||||
}
|
||||
}
|
||||
|
||||
LLVOAvatar *avatarp = find_avatar(av_id);
|
||||
if (avatarp)
|
||||
|
|
@ -235,4 +245,45 @@ void LLFloaterAvatarRenderSettings::setNeedsUpdate()
|
|||
if(!instance) return;
|
||||
instance->mNeedsUpdate = true;
|
||||
}
|
||||
|
||||
void LLFloaterAvatarRenderSettings::onClickAdd(const LLSD& userdata)
|
||||
{
|
||||
const std::string command_name = userdata.asString();
|
||||
S32 visual_setting = 0;
|
||||
if ("never" == command_name)
|
||||
{
|
||||
visual_setting = S32(LLVOAvatar::AV_DO_NOT_RENDER);
|
||||
}
|
||||
else if ("always" == command_name)
|
||||
{
|
||||
visual_setting = S32(LLVOAvatar::AV_ALWAYS_RENDER);
|
||||
}
|
||||
|
||||
LLView * button = findChild<LLButton>("plus_btn", TRUE);
|
||||
LLFloater* root_floater = gFloaterView->getParentFloater(this);
|
||||
LLFloaterAvatarPicker * picker = LLFloaterAvatarPicker::show(boost::bind(&LLFloaterAvatarRenderSettings::callbackAvatarPicked, this, _1, visual_setting),
|
||||
FALSE, TRUE, FALSE, root_floater->getName(), button);
|
||||
|
||||
if (root_floater)
|
||||
{
|
||||
root_floater->addDependentFloater(picker);
|
||||
}
|
||||
|
||||
mPicker = picker->getHandle();
|
||||
}
|
||||
|
||||
void LLFloaterAvatarRenderSettings::callbackAvatarPicked(const uuid_vec_t& ids, S32 visual_setting)
|
||||
{
|
||||
if (ids.empty()) return;
|
||||
|
||||
LLVOAvatar *avatarp = find_avatar(ids[0]);
|
||||
if (avatarp)
|
||||
{
|
||||
avatarp->setVisualMuteSettings(LLVOAvatar::VisualMuteSettings(visual_setting));
|
||||
}
|
||||
else
|
||||
{
|
||||
LLRenderMuteList::getInstance()->saveVisualMuteSetting(ids[0], visual_setting);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -52,15 +52,19 @@ public:
|
|||
void onFilterEdit(const std::string& search_string);
|
||||
void onCustomAction (const LLSD& userdata, const LLUUID& av_id);
|
||||
bool isActionChecked(const LLSD& userdata, const LLUUID& av_id);
|
||||
void onClickAdd(const LLSD& userdata);
|
||||
|
||||
static void setNeedsUpdate();
|
||||
|
||||
private:
|
||||
bool isHiddenRow(const std::string& av_name);
|
||||
void callbackAvatarPicked(const uuid_vec_t& ids, S32 visual_setting);
|
||||
void removePicker();
|
||||
|
||||
bool mNeedsUpdate;
|
||||
LLListContextMenu* mContextMenu;
|
||||
LLNameListCtrl* mAvatarSettingsList;
|
||||
LLHandle<LLFloater> mPicker;
|
||||
|
||||
std::string mNameFilter;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -122,7 +122,6 @@ namespace {
|
|||
{
|
||||
// Prompt the user with the warning (so they know why things are failing)
|
||||
LLSD subs;
|
||||
subs["[ERROR_REASON]"] = reason;
|
||||
// We do show long descriptions in the alert (unlikely to be readable). The description string will be in the log though.
|
||||
std::string description;
|
||||
if (result.has(LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS_CONTENT))
|
||||
|
|
@ -146,6 +145,16 @@ namespace {
|
|||
{
|
||||
description = result.asString();
|
||||
}
|
||||
std::string reason_lc = reason;
|
||||
LLStringUtil::toLower(reason_lc);
|
||||
if (!description.empty() && reason_lc.find("unknown") != std::string::npos)
|
||||
{
|
||||
subs["[ERROR_REASON]"] = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
subs["[ERROR_REASON]"] = "'" + reason +"'\n";
|
||||
}
|
||||
subs["[ERROR_DESCRIPTION]"] = description;
|
||||
LLNotificationsUtil::add("MerchantTransactionFailed", subs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,22 +23,33 @@
|
|||
height="23"
|
||||
layout="topleft"
|
||||
left="8"
|
||||
right="-8"
|
||||
right="-47"
|
||||
label="Filter People"
|
||||
max_length_chars="300"
|
||||
name="people_filter_input"
|
||||
text_color="Black"
|
||||
text_pad_left="10"
|
||||
top="4" />
|
||||
<menu_button
|
||||
follows="top|right"
|
||||
height="25"
|
||||
image_hover_unselected="Toolbar_Middle_Over"
|
||||
image_overlay="AddItem_Off"
|
||||
image_selected="Toolbar_Middle_Selected"
|
||||
image_unselected="Toolbar_Middle_Off"
|
||||
layout="topleft"
|
||||
left_pad="7"
|
||||
menu_filename="menu_avatar_rendering_settings_add.xml"
|
||||
menu_position="bottomleft"
|
||||
name="plus_btn"
|
||||
tool_tip="Actions on selected person"
|
||||
top="3"
|
||||
width="31" />
|
||||
<name_list
|
||||
allow_select="true"
|
||||
bottom="-8"
|
||||
draw_heading="true"
|
||||
opaque="true"
|
||||
follows="all"
|
||||
left="8"
|
||||
keep_selection_visible_on_reshape="true"
|
||||
item_pad="2"
|
||||
multi_select="false"
|
||||
name="render_settings_list"
|
||||
right="-8"
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
top="32"
|
||||
word_wrap="true"
|
||||
width="552">
|
||||
You will need to go to my.secondlife.com and log in to accept the Terms of Service before you can proceed. Thank you!
|
||||
You will need to go to https://my.secondlife.com and log in to accept the Terms of Service before you can proceed. Thank you!
|
||||
</text>
|
||||
<web_browser
|
||||
trusted_content="true"
|
||||
|
|
|
|||
|
|
@ -342,8 +342,7 @@ Initialization with the Marketplace failed because of a system or network error.
|
|||
type="alertmodal">
|
||||
The transaction with the Marketplace failed with the following error :
|
||||
|
||||
Reason : '[ERROR_REASON]'
|
||||
[ERROR_DESCRIPTION]
|
||||
[ERROR_REASON][ERROR_DESCRIPTION]
|
||||
|
||||
<usetemplate
|
||||
name="okbutton"
|
||||
|
|
|
|||
|
|
@ -2374,7 +2374,7 @@ Abuse Report</string>
|
|||
<string name="server_is_down">
|
||||
Despite our best efforts, something unexpected has gone wrong.
|
||||
|
||||
Please check status.secondlifegrid.net to see if there is a known problem with the service.
|
||||
Please check http://status.secondlifegrid.net to see if there is a known problem with the service.
|
||||
If you continue to experience problems, please check your network and firewall setup.
|
||||
</string>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue