Merge branch 'DRTVWR-577-maint-S' of https://github.com/secondlife/viewer

# Conflicts:
#	indra/llinventory/llsettingssky.cpp
#	indra/llui/llfolderviewitem.h
#	indra/newview/llappviewer.cpp
#	indra/newview/skins/default/xui/de/floater_about_land.xml
#	indra/newview/skins/default/xui/de/floater_avatar_textures.xml
#	indra/newview/skins/default/xui/de/floater_camera.xml
#	indra/newview/skins/default/xui/de/floater_camera_presets.xml
#	indra/newview/skins/default/xui/de/floater_linkreplace.xml
#	indra/newview/skins/default/xui/de/floater_people.xml
#	indra/newview/skins/default/xui/de/floater_preferences_view_advanced.xml
#	indra/newview/skins/default/xui/de/floater_preview_trash.xml
#	indra/newview/skins/default/xui/de/floater_save_camera_preset.xml
#	indra/newview/skins/default/xui/de/menu_gallery_outfit_tab.xml
#	indra/newview/skins/default/xui/de/notifications.xml
#	indra/newview/skins/default/xui/de/panel_group_creation_sidetray.xml
#	indra/newview/skins/default/xui/de/panel_group_roles.xml
#	indra/newview/skins/default/xui/de/panel_login.xml
#	indra/newview/skins/default/xui/de/panel_notification_list_item.xml
#	indra/newview/skins/default/xui/de/panel_outfit_gallery.xml
#	indra/newview/skins/default/xui/de/panel_outfit_gallery_item.xml
#	indra/newview/skins/default/xui/de/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/de/panel_progress.xml
#	indra/newview/skins/default/xui/de/panel_region_environment.xml
#	indra/newview/skins/default/xui/de/strings.xml
#	indra/newview/skins/default/xui/de/teleport_strings.xml
#	indra/newview/skins/default/xui/es/floater_animation_anim_preview.xml
#	indra/newview/skins/default/xui/es/floater_animation_bvh_preview.xml
#	indra/newview/skins/default/xui/es/floater_camera.xml
#	indra/newview/skins/default/xui/es/floater_god_tools.xml
#	indra/newview/skins/default/xui/es/floater_people.xml
#	indra/newview/skins/default/xui/es/floater_tools.xml
#	indra/newview/skins/default/xui/es/menu_viewer.xml
#	indra/newview/skins/default/xui/es/notifications.xml
#	indra/newview/skins/default/xui/es/panel_group_roles.xml
#	indra/newview/skins/default/xui/es/panel_landmark_info.xml
#	indra/newview/skins/default/xui/es/panel_login.xml
#	indra/newview/skins/default/xui/es/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/es/panel_prim_media_controls.xml
#	indra/newview/skins/default/xui/es/strings.xml
#	indra/newview/skins/default/xui/es/teleport_strings.xml
#	indra/newview/skins/default/xui/fr/floater_avatar_textures.xml
#	indra/newview/skins/default/xui/fr/floater_camera.xml
#	indra/newview/skins/default/xui/fr/floater_camera_presets.xml
#	indra/newview/skins/default/xui/fr/floater_forget_user.xml
#	indra/newview/skins/default/xui/fr/floater_linkreplace.xml
#	indra/newview/skins/default/xui/fr/floater_people.xml
#	indra/newview/skins/default/xui/fr/floater_preferences_view_advanced.xml
#	indra/newview/skins/default/xui/fr/floater_preview_trash.xml
#	indra/newview/skins/default/xui/fr/floater_save_camera_preset.xml
#	indra/newview/skins/default/xui/fr/menu_gallery_outfit_tab.xml
#	indra/newview/skins/default/xui/fr/menu_viewer.xml
#	indra/newview/skins/default/xui/fr/notifications.xml
#	indra/newview/skins/default/xui/fr/panel_group_creation_sidetray.xml
#	indra/newview/skins/default/xui/fr/panel_group_roles.xml
#	indra/newview/skins/default/xui/fr/panel_login.xml
#	indra/newview/skins/default/xui/fr/panel_notification_list_item.xml
#	indra/newview/skins/default/xui/fr/panel_outfit_gallery.xml
#	indra/newview/skins/default/xui/fr/panel_outfit_gallery_item.xml
#	indra/newview/skins/default/xui/fr/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/fr/panel_prim_media_controls.xml
#	indra/newview/skins/default/xui/fr/panel_progress.xml
#	indra/newview/skins/default/xui/fr/panel_region_environment.xml
#	indra/newview/skins/default/xui/fr/strings.xml
#	indra/newview/skins/default/xui/fr/teleport_strings.xml
#	indra/newview/skins/default/xui/fr/widgets/density_ctrl.xml
#	indra/newview/skins/default/xui/it/floater_avatar_textures.xml
#	indra/newview/skins/default/xui/it/floater_camera.xml
#	indra/newview/skins/default/xui/it/floater_camera_presets.xml
#	indra/newview/skins/default/xui/it/floater_god_tools.xml
#	indra/newview/skins/default/xui/it/floater_media_browser.xml
#	indra/newview/skins/default/xui/it/floater_people.xml
#	indra/newview/skins/default/xui/it/floater_preferences_view_advanced.xml
#	indra/newview/skins/default/xui/it/floater_save_camera_preset.xml
#	indra/newview/skins/default/xui/it/floater_stats.xml
#	indra/newview/skins/default/xui/it/menu_login.xml
#	indra/newview/skins/default/xui/it/menu_viewer.xml
#	indra/newview/skins/default/xui/it/notifications.xml
#	indra/newview/skins/default/xui/it/panel_group_roles.xml
#	indra/newview/skins/default/xui/it/panel_landmark_info.xml
#	indra/newview/skins/default/xui/it/panel_login.xml
#	indra/newview/skins/default/xui/it/panel_notifications_channel.xml
#	indra/newview/skins/default/xui/it/panel_outfit_gallery.xml
#	indra/newview/skins/default/xui/it/panel_outfit_gallery_item.xml
#	indra/newview/skins/default/xui/it/panel_place_profile.xml
#	indra/newview/skins/default/xui/it/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/it/panel_prim_media_controls.xml
#	indra/newview/skins/default/xui/it/panel_region_environment.xml
#	indra/newview/skins/default/xui/it/sidepanel_appearance.xml
#	indra/newview/skins/default/xui/it/strings.xml
#	indra/newview/skins/default/xui/it/teleport_strings.xml
#	indra/newview/skins/default/xui/ja/floater_camera.xml
#	indra/newview/skins/default/xui/ja/floater_camera_presets.xml
#	indra/newview/skins/default/xui/ja/floater_people.xml
#	indra/newview/skins/default/xui/ja/floater_preferences_view_advanced.xml
#	indra/newview/skins/default/xui/ja/floater_save_camera_preset.xml
#	indra/newview/skins/default/xui/ja/notifications.xml
#	indra/newview/skins/default/xui/ja/panel_group_creation_sidetray.xml
#	indra/newview/skins/default/xui/ja/panel_group_roles.xml
#	indra/newview/skins/default/xui/ja/panel_login.xml
#	indra/newview/skins/default/xui/ja/panel_notification_list_item.xml
#	indra/newview/skins/default/xui/ja/panel_outfit_gallery.xml
#	indra/newview/skins/default/xui/ja/panel_outfit_gallery_item.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/ja/panel_region_environment.xml
#	indra/newview/skins/default/xui/ja/strings.xml
#	indra/newview/skins/default/xui/ja/teleport_strings.xml
#	indra/newview/skins/default/xui/ja/widgets/density_ctrl.xml
#	indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml
#	indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml
#	indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml
#	indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml
#	indra/newview/skins/default/xui/pl/panel_profile_pick.xml
#	indra/newview/skins/default/xui/pl/panel_profile_picks.xml
#	indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml
#	indra/newview/skins/default/xui/pl/panel_region_access.xml
#	indra/newview/skins/default/xui/pl/panel_script_experience.xml
#	indra/newview/skins/default/xui/pt/notifications.xml
#	indra/newview/skins/default/xui/pt/panel_group_roles.xml
#	indra/newview/skins/default/xui/pt/panel_landmark_info.xml
#	indra/newview/skins/default/xui/pt/panel_login.xml
#	indra/newview/skins/default/xui/pt/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/pt/strings.xml
master
Ansariel 2023-01-25 14:40:06 +01:00
commit 6ae8248f5d
107 changed files with 1113 additions and 602 deletions

View File

@ -1081,7 +1081,6 @@ BOOL LLAvatarAppearance::loadSkeletonNode ()
// SKELETAL DISTORTIONS
{
LLAvatarXmlInfo::skeletal_distortion_info_list_t::iterator iter;
for (LLViewerVisualParamInfo* visual_param_info : sAvatarXmlInfo->mSkeletalDistortionInfoList)
{
LLPolySkeletalDistortionInfo *info = (LLPolySkeletalDistortionInfo*)visual_param_info;

View File

@ -365,7 +365,6 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info)
setWeight(getDefaultWeight(), FALSE);
LLAvatarAppearance* avatarp = mMesh->getAvatar();
LLPolyMorphTargetInfo::volume_info_list_t::iterator iter;
for (LLPolyVolumeMorphInfo& volume_info : getInfo()->mVolumeInfoList)
{
for (S32 i = 0; i < avatarp->mNumCollisionVolumes; i++)

View File

@ -145,7 +145,6 @@ BOOL LLPolySkeletalDistortion::setInfo(LLPolySkeletalDistortionInfo *info)
//setWeight(getDefaultWeight());
setWeight(getDefaultWeight(), FALSE);
LLPolySkeletalDistortionInfo::bone_info_list_t::iterator iter;
for (LLPolySkeletalBoneInfo& bone_info : getInfo()->mBoneInfoList)
{
LLJoint* joint = mAvatar->getJoint(bone_info.mBoneName);

View File

@ -954,7 +954,6 @@ ELoadStatus LLBVHLoader::loadBVHFile(const char *buffer, char* error_text, S32 &
//------------------------------------------------------------------------
void LLBVHLoader::applyTranslations()
{
JointVector::iterator ji;
for (Joint* joint : mJoints)
{
//----------------------------------------------------------------
@ -1069,7 +1068,6 @@ void LLBVHLoader::optimize()
mEaseOut *= factor;
}
JointVector::iterator ji;
for (Joint* joint : mJoints)
{
BOOL pos_changed = FALSE;

View File

@ -742,7 +742,6 @@ void LLJoint::showAttachmentScaleOverrides(const std::string& av_info) const
{
LL_DEBUGS("Avatar") << "no conflicts" << LL_ENDL;
}
std::set<LLVector3>::iterator dit = distinct_offsets.begin();
for (const LLVector3& offset : distinct_offsets)
{
std::string highlight = (has_active_override && offset == active_override) ? "*" : "";

View File

@ -141,7 +141,6 @@ void LLAllocatorHeapProfile::parse(std::string const & prof_text)
void LLAllocatorHeapProfile::dump(std::ostream & out) const
{
lines_t::const_iterator i;
for (const LLAllocatorHeapProfile::line& line : mLines)
{
out << line.mLiveCount << ": " << line.mLiveSize << '[' << line.mTotalCount << ": " << line.mTotalSize << "] @";

View File

@ -514,16 +514,21 @@ public:
// former broken behavior has finally been fixed -- and our builds
// treat warnings as errors.
{
for (typename const DepNodeMap::value_type& nm_pair : mNodes)
for (typename DepNodeMap::const_iterator nmi = mNodes.begin(), nmend = mNodes.end();
nmi != nmend; ++nmi)
{
vmap.insert(typename VertexMap::value_type(nm_pair.first, vmap.size()));
for (typename const KEY& after_k : nm_pair.second.after)
vmap.insert(typename VertexMap::value_type(nmi->first, vmap.size()));
for (typename DepNode::dep_set::const_iterator ai = nmi->second.after.begin(),
aend = nmi->second.after.end();
ai != aend; ++ai)
{
vmap.insert(typename VertexMap::value_type(after_k, vmap.size()));
vmap.insert(typename VertexMap::value_type(*ai, vmap.size()));
}
for (typename const KEY& before_k : nm_pair.second.before)
for (typename DepNode::dep_set::const_iterator bi = nmi->second.before.begin(),
bend = nmi->second.before.end();
bi != bend; ++bi)
{
vmap.insert(typename VertexMap::value_type(before_k, vmap.size()));
vmap.insert(typename VertexMap::value_type(*bi, vmap.size()));
}
}
}
@ -531,19 +536,24 @@ public:
// all the known key dependencies to integer pairs.
EdgeList edges;
{
for (typename const DepNodeMap::value_type& nm_pair : mNodes)
for (typename DepNodeMap::const_iterator nmi = mNodes.begin(), nmend = mNodes.end();
nmi != nmend; ++nmi)
{
auto thisnode = vmap[nm_pair.first];
auto thisnode = vmap[nmi->first];
// after dependencies: build edges from the named node to this one
for (typename const KEY& after_k : nm_pair.second.after)
for (typename DepNode::dep_set::const_iterator ai = nmi->second.after.begin(),
aend = nmi->second.after.end();
ai != aend; ++ai)
{
edges.push_back(EdgeList::value_type(vmap[after_k], thisnode));
edges.push_back(EdgeList::value_type(vmap[*ai], thisnode));
}
// before dependencies: build edges from this node to the
// named one
for (typename const KEY& before_k : nm_pair.second.before)
for (typename DepNode::dep_set::const_iterator bi = nmi->second.before.begin(),
bend = nmi->second.before.end();
bi != bend; ++bi)
{
edges.push_back(EdgeList::value_type(thisnode, vmap[before_k]));
edges.push_back(EdgeList::value_type(thisnode, vmap[*bi]));
}
}
}
@ -555,19 +565,21 @@ public:
// and we're certain that the associated int values are distinct
// indexes. The fact that they're not in order is irrelevant.
KeyList vkeys(vmap.size());
for (typename const VertexMap::value_type& vm_pair : vmap)
for (typename VertexMap::const_iterator vmi = vmap.begin(), vmend = vmap.end();
vmi != vmend; ++vmi)
{
vkeys[vm_pair.second] = vm_pair.first;
vkeys[vmi->second] = vmi->first;
}
// Walk the sorted output list, building the result into mCache so
// we'll have it next time someone asks.
mCache.clear();
for (const size_t sv : sorted)
for (VertexList::const_iterator svi = sorted.begin(), svend = sorted.end();
svi != svend; ++svi)
{
// We're certain that vkeys[sv] exists. However, there might not
// We're certain that vkeys[*svi] exists. However, there might not
// yet be a corresponding entry in mNodes.
self_type* non_const_this(const_cast<self_type*>(this));
typename DepNodeMap::iterator found = non_const_this->mNodes.find(vkeys[sv]);
typename DepNodeMap::iterator found = non_const_this->mNodes.find(vkeys[*svi]);
if (found != non_const_this->mNodes.end())
{
// Make an iterator of appropriate type.

View File

@ -316,7 +316,7 @@ namespace LLInitParam
{
// Ensure this param has not already been inspected
bool duplicate = false;
for (const ParamDescriptorPtr ptr : block_data.mUnnamedParams)
for (const ParamDescriptorPtr &ptr : block_data.mUnnamedParams)
{
if (param_handle == ptr->mParamHandle)
{

View File

@ -622,7 +622,7 @@ namespace
if (index >= mData.size())
{
mData.resize(i + 1);
mData.resize(index + 1);
}
return mData[index];

View File

@ -30,7 +30,6 @@
#include <map>
#include <string>
#include <vector>
#include <type_traits>
#include "stdtypes.h"
@ -216,21 +215,15 @@ public:
void assign(const Date&);
void assign(const URI&);
void assign(const Binary&);
// support assignment from size_t et al.
template <typename VALUE,
typename std::enable_if<std::is_integral<VALUE>::value &&
! std::is_same<VALUE, Boolean>::value,
bool>::type = true>
void assign(VALUE v) { assign(Integer(narrow(v))); }
// support assignment from F32 et al.
template <typename VALUE,
typename std::enable_if<std::is_floating_point<VALUE>::value,
bool>::type = true>
void assign(VALUE v) { assign(Real(narrow(v))); }
template <typename VALUE>
LLSD& operator=(VALUE v) { assign(v); return *this; }
LLSD& operator=(Boolean v) { assign(v); return *this; }
LLSD& operator=(Integer v) { assign(v); return *this; }
LLSD& operator=(Real v) { assign(v); return *this; }
LLSD& operator=(const String& v) { assign(v); return *this; }
LLSD& operator=(const UUID& v) { assign(v); return *this; }
LLSD& operator=(const Date& v) { assign(v); return *this; }
LLSD& operator=(const URI& v) { assign(v); return *this; }
LLSD& operator=(const Binary& v) { assign(v); return *this; }
//@}
/**
@ -292,6 +285,7 @@ public:
//@{
LLSD(const char*);
void assign(const char*);
LLSD& operator=(const char* v) { assign(v); return *this; }
//@}
/** @name Map Values */

View File

@ -1682,13 +1682,13 @@ std::basic_string<T> LLStringUtilBase<T>::quote(const string_type& str,
// For whatever reason, we must quote this string.
string_type result;
result.push_back('"');
for (typename const S8 c : str)
for (typename string_type::const_iterator ci(str.begin()), cend(str.end()); ci != cend; ++ci)
{
if (c == '"')
if (*ci == '"')
{
result.append(escape);
}
result.push_back(c);
result.push_back(*ci);
}
result.push_back('"');
return result;

View File

@ -121,9 +121,14 @@ U32 micro_sleep(U64 us, U32 max_yields)
U64 start = get_clock_count();
// This is kernel dependent. Currently, our kernel generates software clock
// interrupts at 250 Hz (every 4,000 microseconds).
const U64 KERNEL_SLEEP_INTERVAL_US = 4000;
const S64 KERNEL_SLEEP_INTERVAL_US = 4000;
auto num_sleep_intervals = (us - (KERNEL_SLEEP_INTERVAL_US >> 1)) / KERNEL_SLEEP_INTERVAL_US;
// Use signed arithmetic to discover whether a sleep is even necessary. If
// either 'us' or KERNEL_SLEEP_INTERVAL_US is unsigned, the compiler
// promotes the difference to unsigned. If 'us' is less than half
// KERNEL_SLEEP_INTERVAL_US, the unsigned difference will be hugely
// positive, resulting in a crazy long wait.
auto num_sleep_intervals = (S64(us) - (KERNEL_SLEEP_INTERVAL_US >> 1)) / KERNEL_SLEEP_INTERVAL_US;
if (num_sleep_intervals > 0)
{
U64 sleep_time = (num_sleep_intervals * KERNEL_SLEEP_INTERVAL_US) - (KERNEL_SLEEP_INTERVAL_US >> 1);

View File

@ -152,28 +152,28 @@ LLSettingsSky::validation_list_t legacyHazeValidationList()
{
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_AMBIENT, false, LLSD::TypeArray,
boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(3.0f, 3.0f, 3.0f, "*"))));
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_BLUE_DENSITY, false, LLSD::TypeArray,
boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(3.0f, 3.0f, 3.0f, "*"))));
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_BLUE_HORIZON, false, LLSD::TypeArray,
boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(3.0f, 3.0f, 3.0f, "*"))));
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_HAZE_DENSITY, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(5.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 5.0f))));
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_HAZE_HORIZON, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(5.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 5.0f))));
// <FS:Beq> FIRE-29682 Allow full range density multipliers
// legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_MULTIPLIER, false, LLSD::TypeReal,
// boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0001f)(2.0f)))));
// boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0001f, 2.0f))));
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_MULTIPLIER, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0000001f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0000001f, 2.0f))));
// </FS:Beq>
legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DISTANCE_MULTIPLIER, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0001f)(1000.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0001f, 1000.0f))));
}
return legacyHazeValidation;
}
@ -184,19 +184,19 @@ LLSettingsSky::validation_list_t rayleighValidationList()
if (rayleighValidation.empty())
{
rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));
rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));
rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
}
return rayleighValidation;
}
@ -207,19 +207,19 @@ LLSettingsSky::validation_list_t absorptionValidationList()
if (absorptionValidation.empty())
{
absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));
absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));
absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
}
return absorptionValidation;
}
@ -230,22 +230,22 @@ LLSettingsSky::validation_list_t mieValidationList()
if (mieValidation.empty())
{
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_MIE_ANISOTROPY_FACTOR, false, LLSD::TypeReal,
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
}
return mieValidation;
}
@ -550,89 +550,86 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList()
static validation_list_t validation;
if (validation.empty())
{ // Note the use of LLSD(LLSDArray()()()...) This is due to an issue with the
// copy constructor for LLSDArray. Directly binding the LLSDArray as
// a parameter without first wrapping it in a pure LLSD object will result
// in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]]
{
validation.push_back(Validator(SETTING_BLOOM_TEXTUREID, true, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_RAINBOW_TEXTUREID, false, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_HALO_TEXTUREID, false, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_CLOUD_COLOR, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(1.0f)(1.0f)(1.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(1.0f, 1.0f, 1.0f, "*"))));
validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY1, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(1.0f)(1.0f)(3.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(1.0f, 1.0f, 3.0f, "*"))));
validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY2, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(1.0f)(1.0f)(1.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(1.0f, 1.0f, 1.0f, "*"))));
validation.push_back(Validator(SETTING_CLOUD_SCALE, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.001f)(3.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.001f, 3.0f))));
validation.push_back(Validator(SETTING_CLOUD_SCROLL_RATE, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(-50.0f)(-50.0f)),
LLSD(LLSDArray(50.0f)(50.0f)))));
llsd::array(-50.0f, -50.0f),
llsd::array(50.0f, 50.0f))));
validation.push_back(Validator(SETTING_CLOUD_SHADOW, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_CLOUD_TEXTUREID, false, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_CLOUD_VARIANCE, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_DOME_OFFSET, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_DOME_RADIUS, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(2000.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 2000.0f))));
validation.push_back(Validator(SETTING_GAMMA, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(20.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 20.0f))));
validation.push_back(Validator(SETTING_GLOW, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.2f)("*")(-10.0f)("*")),
LLSD(LLSDArray(40.0f)("*")(10.0f)("*")))));
llsd::array(0.2f, "*", -10.0f, "*"),
llsd::array(40.0f, "*", 10.0f, "*"))));
validation.push_back(Validator(SETTING_MAX_Y, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(10000.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 10000.0f))));
validation.push_back(Validator(SETTING_MOON_ROTATION, true, LLSD::TypeArray, &Validator::verifyQuaternionNormal));
validation.push_back(Validator(SETTING_MOON_SCALE, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.25f)(20.0f))), LLSD::Real(1.0)));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.25f, 20.0f)), LLSD::Real(1.0)));
validation.push_back(Validator(SETTING_MOON_TEXTUREID, false, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_MOON_BRIGHTNESS, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_STAR_BRIGHTNESS, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(500.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 500.0f))));
validation.push_back(Validator(SETTING_SUNLIGHT_COLOR, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*")))));
llsd::array(0.0f, 0.0f, 0.0f, "*"),
llsd::array(3.0f, 3.0f, 3.0f, "*"))));
validation.push_back(Validator(SETTING_SUN_ROTATION, true, LLSD::TypeArray, &Validator::verifyQuaternionNormal));
validation.push_back(Validator(SETTING_SUN_SCALE, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.25f)(20.0f))), LLSD::Real(1.0)));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.25f, 20.0f)), LLSD::Real(1.0)));
validation.push_back(Validator(SETTING_SUN_TEXTUREID, false, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_PLANET_RADIUS, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));
validation.push_back(Validator(SETTING_SKY_BOTTOM_RADIUS, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));
validation.push_back(Validator(SETTING_SKY_TOP_RADIUS, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));
validation.push_back(Validator(SETTING_SUN_ARC_RADIANS, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(0.1f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 0.1f))));
validation.push_back(Validator(SETTING_SKY_MOISTURE_LEVEL, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_SKY_DROPLET_RADIUS, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(5.0f)(1000.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(5.0f, 1000.0f))));
validation.push_back(Validator(SETTING_SKY_ICE_LEVEL, false, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_RAYLEIGH_CONFIG, true, LLSD::TypeArray, &validateRayleighLayers));
validation.push_back(Validator(SETTING_ABSORPTION_CONFIG, true, LLSD::TypeArray, &validateAbsorptionLayers));
@ -723,7 +720,7 @@ LLSD LLSettingsSky::defaults(const LLSettingsBase::TrackPosition& position)
dfltsetting[SETTING_CLOUD_POS_DENSITY1] = LLColor4(1.0000f, 0.5260f, 1.0000f, 0.0f).getValue();
dfltsetting[SETTING_CLOUD_POS_DENSITY2] = LLColor4(1.0000f, 0.5260f, 1.0000f, 0.0f).getValue();
dfltsetting[SETTING_CLOUD_SCALE] = LLSD::Real(0.4199);
dfltsetting[SETTING_CLOUD_SCROLL_RATE] = LLSDArray(0.0f)(0.0f);
dfltsetting[SETTING_CLOUD_SCROLL_RATE] = llsd::array(0.0f, 0.0f);
dfltsetting[SETTING_CLOUD_SHADOW] = LLSD::Real(0.2699);
dfltsetting[SETTING_CLOUD_VARIANCE] = LLSD::Real(0.0);

View File

@ -222,42 +222,38 @@ LLSettingsWater::validation_list_t LLSettingsWater::validationList()
static validation_list_t validation;
if (validation.empty())
{ // Note the use of LLSD(LLSDArray()()()...) This is due to an issue with the
// copy constructor for LLSDArray. Directly binding the LLSDArray as
// a parameter without first wrapping it in a pure LLSD object will result
// in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]]
{
validation.push_back(Validator(SETTING_BLUR_MULTIPLIER, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-0.5f)(0.5f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(-0.5f, 0.5f))));
validation.push_back(Validator(SETTING_FOG_COLOR, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)(1.0f)),
LLSD(LLSDArray(1.0f)(1.0f)(1.0f)(1.0f)))));
llsd::array(0.0f, 0.0f, 0.0f, 1.0f),
llsd::array(1.0f, 1.0f, 1.0f, 1.0f))));
validation.push_back(Validator(SETTING_FOG_DENSITY, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-10.0f)(10.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(-10.0f, 10.0f))));
validation.push_back(Validator(SETTING_FOG_MOD, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(20.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 20.0f))));
validation.push_back(Validator(SETTING_FRESNEL_OFFSET, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_FRESNEL_SCALE, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));
validation.push_back(Validator(SETTING_NORMAL_MAP, true, LLSD::TypeUUID));
validation.push_back(Validator(SETTING_NORMAL_SCALE, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(0.0f)(0.0f)(0.0f)),
LLSD(LLSDArray(10.0f)(10.0f)(10.0f)))));
llsd::array(0.0f, 0.0f, 0.0f),
llsd::array(10.0f, 10.0f, 10.0f))));
validation.push_back(Validator(SETTING_SCALE_ABOVE, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(3.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 3.0f))));
validation.push_back(Validator(SETTING_SCALE_BELOW, true, LLSD::TypeReal,
boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(3.0f)))));
boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 3.0f))));
validation.push_back(Validator(SETTING_WAVE1_DIR, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(-20.0f)(-20.0f)),
LLSD(LLSDArray(20.0f)(20.0f)))));
llsd::array(-20.0f, -20.0f),
llsd::array(20.0f, 20.0f))));
validation.push_back(Validator(SETTING_WAVE2_DIR, true, LLSD::TypeArray,
boost::bind(&Validator::verifyVectorMinMax, _1, _2,
LLSD(LLSDArray(-20.0f)(-20.0f)),
LLSD(LLSDArray(20.0f)(20.0f)))));
llsd::array(-20.0f, -20.0f),
llsd::array(20.0f, 20.0f))));
}
return validation;

View File

@ -1742,7 +1742,8 @@ void LLFolderView::update()
// Clear the modified setting on the filter only if the filter finished after running the filter process
// Note: if the filter count has timed out, that means the filter halted before completing the entire set of items
if (filter_object.isModified() && (!filter_object.isTimedOut()))
bool filter_modified = filter_object.isModified();
if (filter_modified && (!filter_object.isTimedOut()))
{
filter_object.clearModified();
}
@ -1776,7 +1777,7 @@ void LLFolderView::update()
BOOL filter_finished = mViewModel->contentsReady()
&& (getViewModelItem()->passedFilter()
|| ( getViewModelItem()->getLastFilterGeneration() >= filter_object.getFirstSuccessGeneration()
&& !filter_object.isModified()));
&& !filter_modified));
if (filter_finished
|| gFocusMgr.childHasKeyboardFocus(mParentPanel.get())
|| gFocusMgr.childHasMouseCapture(mParentPanel.get()))
@ -1864,13 +1865,26 @@ void LLFolderView::update()
if (mSelectedItems.size() && mNeedsScroll)
{
scrollToShowItem(mSelectedItems.back(), constraint_rect);
LLFolderViewItem* scroll_to_item = mSelectedItems.back();
scrollToShowItem(scroll_to_item, constraint_rect);
// continue scrolling until animated layout change is done
if (filter_finished
&& (!needsArrange() || !is_visible))
{
mNeedsScroll = FALSE;
}
bool selected_filter_finished = true;
if (scroll_to_item && scroll_to_item->getViewModelItem())
{
selected_filter_finished = scroll_to_item->getViewModelItem()->getLastFilterGeneration() >= filter_object.getFirstSuccessGeneration();
}
if (filter_finished && selected_filter_finished)
{
bool needs_arrange = needsArrange();
if (mParentFolder)
{
needs_arrange |= (bool)mParentFolder->needsArrange();
}
if (!needs_arrange || !is_visible)
{
mNeedsScroll = FALSE;
}
}
}
if (mSignalSelectCallback)

View File

@ -350,7 +350,6 @@ protected:
F32 mAutoOpenCountdown;
S32 mLastArrangeGeneration;
S32 mLastCalculatedWidth;
// bool mNeedsSort; <FS:ND/> Unused.
bool mIsFolderComplete; // indicates that some children were not loaded/added yet
bool mAreChildrenInited; // indicates that no children were initialized

View File

@ -338,7 +338,7 @@ void LLNotificationForm::addElement(const std::string& type, const std::string&
element["name"] = name;
element["text"] = name;
element["value"] = value;
element["index"] = mFormData.size();
element["index"] = LLSD::Integer(mFormData.size());
element["enabled"] = enabled;
mFormData.append(element);
}

View File

@ -3784,7 +3784,8 @@ LLSD LLAppViewer::getViewerInfo() const
// LLFloaterAbout.
LLSD info;
auto& versionInfo(LLVersionInfo::instance());
info["VIEWER_VERSION"] = LLSDArray(versionInfo.getMajor())(versionInfo.getMinor())(versionInfo.getPatch())(versionInfo.getBuild());
info["VIEWER_VERSION"] = llsd::array(versionInfo.getMajor(), versionInfo.getMinor(),
versionInfo.getPatch(), versionInfo.getBuild());
info["VIEWER_VERSION_STR"] = versionInfo.getVersion();
info["BUILD_DATE"] = __DATE__;
info["BUILD_TIME"] = __TIME__;

View File

@ -283,8 +283,9 @@ namespace Details
errorCount = 0;
if (!result.isMap() ||
!result.get("events") ||
!result.get("id"))
!result.has("events") ||
!result["events"].isArray() ||
!result.has("id"))
{
LL_WARNS("LLEventPollImpl") << " <" << counter << "> received event poll with no events or id key: " << result << LL_ENDL;
continue;

View File

@ -39,6 +39,7 @@
#include "llfloaterworldmap.h"
#include "llproductinforequest.h"
#include "llscrolllistctrl.h"
#include "llsdutil.h"
#include "llstatusbar.h"
#include "lltextbox.h"
#include "llscrolllistctrl.h"
@ -79,24 +80,25 @@ BOOL LLFloaterLandHoldings::postBuild()
for(S32 i = 0; i < count; ++i)
{
LLUUID id(gAgent.mGroups.at(i).mID);
LLSD element;
element["id"] = id;
element["columns"][0]["column"] = "group";
element["columns"][0]["value"] = gAgent.mGroups.at(i).mName;
element["columns"][0]["font"] = "SANSSERIF";
LLUIString areastr = getString("area_string");
areastr.setArg("[AREA]", llformat("%d", gAgent.mGroups.at(i).mContribution));
element["columns"][1]["column"] = "area";
element["columns"][1]["value"] = areastr;
element["columns"][1]["font"] = "SANSSERIF";
grant_list->addElement(element);
grant_list->addElement(
llsd::map(
"id", id,
"columns", llsd::array(
llsd::map(
"column", "group",
"value", gAgent.mGroups.at(i).mName,
"font", "SANSSERIF"),
llsd::map(
"column", "area",
"value", areastr,
"font", "SANSSERIF"))));
}
center();
return TRUE;
}
@ -108,8 +110,8 @@ LLFloaterLandHoldings::~LLFloaterLandHoldings()
void LLFloaterLandHoldings::onOpen(const LLSD& key)
{
LLScrollListCtrl *list = getChild<LLScrollListCtrl>("parcel list");
list->clearRows();
LLScrollListCtrl *list = getChild<LLScrollListCtrl>("parcel list");
list->clearRows();
// query_id null is known to be us
const LLUUID& query_id = LLUUID::null;

View File

@ -182,11 +182,15 @@ void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_gen
bool generation_skip = mMarkedDirtyGeneration >= 0
&& mPrevPassedAllFilters
&& mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration();
S32 last_generation = mLastFilterGeneration;
LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size);
bool before = mPrevPassedAllFilters;
mPrevPassedAllFilters = passedFilter(filter_generation);
if (before != mPrevPassedAllFilters || generation_skip)
if (before != mPrevPassedAllFilters // Change of state
|| generation_skip // Was marked dirty
// Potential change from being in-progress and invisible to visible)
|| (mPrevPassedAllFilters && last_generation < mRootViewModel.getFilter().getFirstRequiredGeneration()))
{
// Need to rearrange the folder if the filtered state of the item changed,
// previously passed item skipped filter generation changes while being dirty

View File

@ -1948,10 +1948,12 @@ EMeshProcessingResult LLMeshRepoThread::headerReceived(const LLVolumeParams& mes
// // out of memory, we won't be able to process this mesh
// return MESH_OUT_OF_MEMORY;
// }
U32 dsize = data_size;
char* result_ptr = strip_deprecated_header((char*)data, dsize, &header_size);
llssize dsize = data_size;
llssize header_size_tmp{};
char* result_ptr = strip_deprecated_header((char*)data, dsize, &header_size_tmp);
header_size = static_cast<U32>(header_size_tmp);
data_size = dsize;
data_size = static_cast<S32>(dsize);
boost::iostreams::stream<boost::iostreams::array_source> stream(result_ptr, data_size);
// </FS:Beq pp Rye>

View File

@ -568,11 +568,11 @@ void LLSettingsVOSky::convertAtmosphericsToLegacy(LLSD& legacy, LLSD& settings)
legacy[SETTING_BLUE_DENSITY] = ensure_array_4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);
legacy[SETTING_BLUE_HORIZON] = ensure_array_4(legacyhaze[SETTING_BLUE_HORIZON], 1.0);
legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f);
legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f);
legacy[SETTING_DENSITY_MULTIPLIER] = llsd::array(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal(), 0.0f, 0.0f, 1.0f);
legacy[SETTING_DISTANCE_MULTIPLIER] = llsd::array(legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal(), 0.0f, 0.0f, 1.0f);
legacy[SETTING_HAZE_DENSITY] = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f);
legacy[SETTING_HAZE_HORIZON] = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f);
legacy[SETTING_HAZE_DENSITY] = llsd::array(legacyhaze[SETTING_HAZE_DENSITY], 0.0f, 0.0f, 1.0f);
legacy[SETTING_HAZE_HORIZON] = llsd::array(legacyhaze[SETTING_HAZE_HORIZON], 0.0f, 0.0f, 1.0f);
}
}
@ -586,15 +586,15 @@ LLSD LLSettingsVOSky::convertToLegacy(const LLSettingsSky::ptr_t &psky, bool isA
legacy[SETTING_CLOUD_COLOR] = ensure_array_4(settings[SETTING_CLOUD_COLOR], 1.0);
legacy[SETTING_CLOUD_POS_DENSITY1] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY1], 1.0);
legacy[SETTING_CLOUD_POS_DENSITY2] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY2], 1.0);
legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0));
legacy[SETTING_CLOUD_SCALE] = llsd::array(settings[SETTING_CLOUD_SCALE], LLSD::Real(0.0), LLSD::Real(0.0), LLSD::Real(1.0));
legacy[SETTING_CLOUD_SCROLL_RATE] = settings[SETTING_CLOUD_SCROLL_RATE];
legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = LLSDArray(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal())))
(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));
legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f);
legacy[SETTING_GAMMA] = LLSDArray(settings[SETTING_GAMMA])(0.0f)(0.0f)(1.0f);
legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = llsd::array(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal())),
LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));
legacy[SETTING_CLOUD_SHADOW] = llsd::array(settings[SETTING_CLOUD_SHADOW].asReal(), 0.0f, 0.0f, 1.0f);
legacy[SETTING_GAMMA] = llsd::array(settings[SETTING_GAMMA], 0.0f, 0.0f, 1.0f);
legacy[SETTING_GLOW] = ensure_array_4(settings[SETTING_GLOW], 1.0);
legacy[SETTING_LIGHT_NORMAL] = ensure_array_4(psky->getLightDirection().getValue(), 0.0f);
legacy[SETTING_MAX_Y] = LLSDArray(settings[SETTING_MAX_Y])(0.0f)(0.0f)(1.0f);
legacy[SETTING_MAX_Y] = llsd::array(settings[SETTING_MAX_Y], 0.0f, 0.0f, 1.0f);
legacy[SETTING_STAR_BRIGHTNESS] = settings[SETTING_STAR_BRIGHTNESS].asReal() / 250.0f; // convert from 0-500 -> 0-2 ala pre-FS-compat changes
legacy[SETTING_SUNLIGHT_COLOR] = ensure_array_4(settings[SETTING_SUNLIGHT_COLOR], 1.0f);
@ -1066,7 +1066,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n
newsettings[SETTING_NAME] = name;
LLSD watertrack = LLSDArray(
LLSD watertrack = llsd::array(
LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
(SETTING_KEYNAME, "water:Default"));
@ -1081,7 +1081,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n
skytrack.append(entry);
}
newsettings[SETTING_TRACKS] = LLSDArray(watertrack)(skytrack);
newsettings[SETTING_TRACKS] = llsd::array(watertrack, skytrack);
LLSD frames(LLSD::emptyMap());
@ -1169,7 +1169,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID &regio
watersettings[SETTING_NAME] = watername;
frames[watername] = watersettings;
LLSD watertrack = LLSDArray(
LLSD watertrack = llsd::array(
LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
(SETTING_KEYNAME, watername));
@ -1183,7 +1183,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID &regio
LLSD newsettings = LLSDMap
( SETTING_NAME, "Region (legacy)" )
( SETTING_TRACKS, LLSDArray(watertrack)(skytrack))
( SETTING_TRACKS, llsd::array(watertrack, skytrack))
( SETTING_FRAMES, frames )
( SETTING_TYPE, "daycycle" );
@ -1364,7 +1364,7 @@ LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)
skys[name.str()] = std::static_pointer_cast<LLSettingsSky>((*it).second);
F32 frame = ((tracksky.size() == 1) && (it == tracksky.begin())) ? -1.0f : (*it).first;
llsdcycle.append( LLSDArray(LLSD::Real(frame))(name.str()) );
llsdcycle.append( llsd::array(LLSD::Real(frame), name.str()) );
}
LLSD llsdskylist(LLSD::emptyMap());
@ -1377,7 +1377,7 @@ LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)
llsdskylist[(*its).first] = llsdsky;
}
return LLSDArray(LLSD::emptyMap())(llsdcycle)(llsdskylist)(llsdwater);
return llsd::array(LLSD::emptyMap(), llsdcycle, llsdskylist, llsdwater);
}
LLSettingsSkyPtr_t LLSettingsVODay::getDefaultSky() const

View File

@ -576,6 +576,8 @@ void set_flags_and_update_appearance()
{
LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true);
LLAppearanceMgr::instance().updateAppearanceFromCOF(true, true, no_op);
LLInventoryModelBackgroundFetch::instance().start();
}
// Returns false to skip other idle processing. Should only return

View File

@ -230,7 +230,11 @@ void LLToast::hide()
/*virtual*/
void LLToast::setFocus(BOOL b)
{
if (b && !hasFocus() && mPanel)
if (b
&& !hasFocus()
&& mPanel
&& mWrapperPanel
&& !mWrapperPanel->getChildList()->empty())
{
LLModalDialog::setFocus(TRUE);
// mostly for buttons
@ -438,15 +442,18 @@ void LLToast::setVisible(BOOL show)
//hide "hide" button in case toast was hidden without mouse_leave
if(mHideBtn)
mHideBtn->setVisible(show);
}
LLFloater::setVisible(show);
if(mPanel)
{
if(!mPanel->isDead())
{
mPanel->setVisible(show);
}
}
}
LLFloater::setVisible(show);
if (mPanel
&& !mPanel->isDead()
&& mWrapperPanel
&& !mWrapperPanel->getChildList()->empty()
// LLInspectToast can take over, but LLToast still appears to act like a data storage
&& mPanel->getParent() == mWrapperPanel
)
{
mPanel->setVisible(show);
}
}
void LLToast::updateHoveredState()

View File

@ -3545,6 +3545,13 @@ void handle_object_open()
// LLFloaterReg::showInstance("openobject");
}
bool enable_object_inspect()
{
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
LLViewerObject* selected_objectp = selection->getFirstRootObject();
return selected_objectp != NULL;
}
bool enable_object_open()
{
// Look for contents in root object, which is all the LLFloaterOpenObject
@ -10082,7 +10089,7 @@ bool enable_object_take_copy()
bool all_valid = false;
if (LLSelectMgr::getInstance())
{
if (!LLSelectMgr::getInstance()->getSelection()->isEmpty())
if (LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() > 0)
{
all_valid = true;
#ifndef HACKED_GODLIKE_VIEWER
@ -12489,6 +12496,7 @@ void initialize_menus()
commit.add("Object.Open", boost::bind(&handle_object_open));
commit.add("Object.Take", boost::bind(&handle_take));
commit.add("Object.ShowInspector", boost::bind(&handle_object_show_inspector));
enable.add("Object.EnableInspect", boost::bind(&enable_object_inspect));
enable.add("Object.EnableOpen", boost::bind(&enable_object_open));
enable.add("Object.EnableTouch", boost::bind(&enable_object_touch, _1));
enable.add("Object.EnableDelete", boost::bind(&enable_object_delete));

View File

@ -7980,7 +7980,7 @@ bool handle_lure_callback(const LLSD& notification, const LLSD& response)
// More than OFFER_RECIPIENT_LIMIT targets will overload the message
// producing an llerror.
LLSD args;
args["OFFERS"] = notification["payload"]["ids"].size();
args["OFFERS"] = LLSD::Integer(notification["payload"]["ids"].size());
args["LIMIT"] = static_cast<int>(OFFER_RECIPIENT_LIMIT);
LLNotificationsUtil::add("TooManyTeleportOffers", args);
return false;

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="groups" title="GESPEICHERTE BENUTZERNAMEN"/>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<menu_bar name="Main Menu">
<menu label="Avatar" name="Me">
<menu_item_call label="Konto" name="Manage Account">

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<panel name="MediaControls">
<string name="control_background_image_name">
Inspector_Background
</string>
<string name="skip_step">
0.2
</string>
<string name="control_background_image_name">Inspector_Background</string>
<string name="skip_step">0.2</string>
<layout_stack name="progress_indicator_area">
<layout_panel name="media_progress_indicator">
<progress_bar name="media_progress_bar" tool_tip="Medien werden geladen"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<densityctrl name="density_ctrl" label="Dichte"/>

View File

@ -1,16 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="avatar_texture_debug" title="TEXTURAS DEL AVATAR">
<floater.string name="InvalidAvatar">
AVATAR NO VÁLIDO
</floater.string>
<floater.string name="InvalidAvatar">AVATAR NO VÁLIDO</floater.string>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text name="label">
Texturas obtenidas mediante bake
</text>
<text name="composite_label">
Texturas compuestas
</text>
<text name="label">Texturas obtenidas mediante bake</text>
<text name="composite_label">Texturas compuestas</text>
<button label="Volcar IDs a la consola" label_selected="Volcado" name="Dump"/>
<panel name="scroll_content_panel">
<texture_picker label="Pelo" name="hair-baked"/>
@ -44,5 +38,21 @@
<texture_picker label="Falda" name="skirt"/>
</panel>
</panel>
<texture_picker name="upper_universal_tattoo" label="Tatuaje superior Unv"/>
<texture_picker name="aux1_tattoo" label="Tatuaje Auxiliar 1"/>
<texture_picker name="leftarm-baked" label="Brazo Izquierdo"/>
<texture_picker name="aux1-baked" label="AUXILIAR 1"/>
<texture_picker name="skirt_tattoo" label="Tatuaje de Falda"/>
<texture_picker name="aux2_tattoo" label="Tatuaje AUXILIAR 2"/>
<texture_picker name="eyes_tattoo" label="Tatuaje de Ojos"/>
<texture_picker name="head_universal_tattoo" label="Tatuaje Unv en la cabeza"/>
<texture_picker name="leftleg_tattoo" label="Tatuaje en la pierna izquierda"/>
<texture_picker name="aux3-baked" label="AUXILIAR 3"/>
<texture_picker name="hair_tattoo" label="Tatuaje de Cabello"/>
<texture_picker name="leftleg-baked" label="Pierna izquierda"/>
<texture_picker name="aux2-baked" label="AUXILIAR 2"/>
<texture_picker name="aux3_tattoo" label="Tatuaje AUXILIAR 3"/>
<texture_picker name="leftarm_tattoo" label="Tatuaje brazo izquierdo"/>
<texture_picker name="lower_universal_tattoo" label="Tatuaje Bajo Unv"/>
</scroll_container>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="floater_camera_presets" title="AJUSTES PREDEFINIDOS DE MI CAMARA"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="groups" title="NOMBRES DE USUARIOS GUARDADOS"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="linkreplace" title="REEMPLAZAR VÍNCULOS DE INVENTARIO"/>

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="floater_about" title="NAVEGADOR">
<floater.string name="home_page_url">
http://es.secondlife.com
</floater.string>
<floater.string name="support_page_url">
http://es.secondlife.com/support
</floater.string>
<floater.string name="home_page_url">http://es.secondlife.com</floater.string>
<floater.string name="support_page_url">http://es.secondlife.com/support</floater.string>
<layout_stack name="stack1">
<layout_panel name="nav_controls">
<button label="Atrás" name="back" width="75"/>
@ -34,5 +30,9 @@ para ver posibles formas de resolver este problema.
<check_box label="Abrir siempre en mi navegador" name="open_always"/>
<button label="Cerrar" name="close"/>
</layout_panel>
<button name="seek" label="Avanzar"/>
<button name="rewind" label="Rebobinar"/>
<button name="stop" label="Detener"/>
</layout_stack>
<layout_panel name="time_controls"/>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="notification" title="CONSOLA DE NOTIFICACIONES"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="floaterpreferencesviewadvanced" title="POSICIÓN DE LA CAMARA"/>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<floater name="floater_preview_trash" title="PAPELERA">
<layout_panel name="empty_btn_lp"/>
<layout_stack name="button_panel_ls">
<button name="empty_btn" label="Vaciar papelera"/>
</layout_stack>
</floater>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<floater name="save_camera_preset" title="Guardar Ajustes Predefinidos de Cámara">
<radio_group name="radio_save_preset">
<radio_item name="replace_preset" label="Reemplazar un ajuste predefinido"/>
<radio_item name="new_preset" label="Guardar como un nuevo ajuste predefinido"/>
</radio_group>
</floater>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="Statistics" title="ESTADÍSTICAS">
<scroll_container name="statistics_scroll">
<container_view name="statistics_view">
@ -84,5 +84,16 @@
</stat_view>
</stat_view>
</container_view>
<stat_bar name="simpendinguploads" label="Cargas pendientes"/>
<stat_bar name="simpendingdownloads" label="Descargas pendientes"/>
<stat_bar name="simchildagents" label="Agentes Secundarios"/>
<stat_bar name="simagentups" label="Actualizaciones del agente"/>
<stat_bar name="simscripteps" label="Eventos preestablecidos"/>
<stat_bar name="simmainagents" label="Agente Principal"/>
<stat_bar name="simactivescripts" label="Scripts/Eventos preestablecidos Activos"/>
<stat_bar name="simactiveobjects" label="Objetos activos"/>
<stat_bar name="simobjects" label="Objetos"/>
<stat_bar name="siminpps" label="Paquetes Entrantes"/>
<stat_bar name="simoutpps" label="Paquetes Salientes"/>
</scroll_container>
</floater>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" ?>
<context_menu name="Outfit">
<menu name="New Clothes" label="Nueva ropa">
<menu_item_call name="New Skirt" label="Nueva falda"/>
<menu_item_call name="New Underpants" label="Nuevos calzoncillos"/>
<menu_item_call name="New Undershirt" label="Nueva camiseta"/>
<menu_item_call name="New Shirt" label="Nueva camisa"/>
<menu_item_call name="New Pants" label="Nuevos pantalones"/>
<menu_item_call name="New Tattoo" label="Nuevo tatuaje"/>
<menu_item_call name="New Physics" label="Nuevo físico"/>
<menu_item_call name="New Jacket" label="Nueva chaqueta"/>
<menu_item_call name="New Shoes" label="Nuevos zapatos"/>
<menu_item_call name="New Gloves" label="Nuevos guantes"/>
<menu_item_call name="New Alpha" label="Nuevo Alfa"/>
<menu_item_call name="New Socks" label="Nuevos calcetines"/>
</menu>
<menu name="New Body Parts" label="Nuevas partes del cuerpo">
<menu_item_call name="New Hair" label="Nuevo cabello"/>
<menu_item_call name="New Eyes" label="Nuevos ojos"/>
<menu_item_call name="New Shape" label="Nueva forma"/>
<menu_item_call name="New Skin" label="Nueva piel"/>
</menu>
</context_menu>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<menu_bar name="Login Menu">
<menu label="Yo" name="File">
<menu_item_call label="Preferencias..." name="Preferences..."/>
@ -18,12 +18,12 @@
<menu_item_call label="Informar de un fallo" name="Report Bug"/>
<menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Mostrar el menú &apos;Debug&apos;" name="Show Debug Menu"/>
<menu_item_check label="Mostrar el menú 'Debug'" name="Show Debug Menu"/>
<menu label="Depurar" name="Debug">
<menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/>
<menu label="Pruebas de la interfaz" name="UI Tests"/>
<menu_item_call label="Definir el tamaño de la ventana..." name="Set Window Size..."/>
<menu_item_call label="Mostrar los &apos;TOS&apos;" name="TOS"/>
<menu_item_call label="Mostrar los 'TOS'" name="TOS"/>
<menu_item_call label="Mostrar mensaje crítico" name="Critical"/>
<menu_item_call label="Navegador de medios" name="Media Browser"/>
<menu label="Configurar el nivel de registro" name="Set Logging Level">
@ -34,5 +34,6 @@
<menu_item_check label="Ninguno" name="None"/>
</menu>
<menu_item_call label="Mostrar la consola de notificaciones" name="Show Notifications Console"/>
<menu_item_call name="UI Preview Tool" label="Herramienta de previsualización XUI"/>
</menu>
</menu_bar>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="avatar_tag_notification">
<panel name="msg_caption">
<text name="tag_time" value="23:30:00"/>
<text name="sender_tag_name">Angela Tester</text>
</panel>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<panel name="im_header" label="soy_titulo"/>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" ?>
<panel name="GroupCreation" label="Creacion de grupo">
<panel name="group_info_top">
<line_editor name="group_name_editor" label="Escribe el nuevo nombre de tu grupo aquí"/>
</panel>
<layout_panel name="group_info"/>
<layout_stack name="layout">
<texture_picker name="insignia" tool_tip="Haz click para seleccionar una fotografía"/>
<text_editor name="charter">Reglas del grupo</text_editor>
<button name="back" tool_tip="Regresar al listado de grupos"/>
<text name="info_deletion">Nota: luego de 7 días, un grupo sin miembros (además del creador) sera eliminado.</text>
<check_box name="check_enrollment_fee" label="Costo para unirse" tool_tip="Establece si debe solicitar un costo para el unirse al grupo"/>
<combo_box.item name="pg" label="Contenido general"/>
<scroll_list.rows name="basic" value="Basico (marcador de posición)"/>
<button name="btn_create" label="Crear un grupo por L$" tool_tip="Crear un grupo nuevo"/>
<text name="fee_information">El costo para la creación de grupos esta basado en tu nivel de membresía</text>
<scroll_list.rows name="premium" value="Premium (Marcador de posición)"/>
<check_box name="open_enrollement" label="Cualquiera se puede unir" tool_tip="Establece si este grupo permite que se unan nuevos miembros sin ser invitados."/>
<combo_item name="select_mature">-Seleccionar clasificacion de madurez-</combo_item>
<spinner name="spin_enrollment_fee" label="L$" tool_tip="Los miembros nuevos deben pagar esta cuota para unirse al grupo cuando la Cuota de Enrolamiento está seleccionada"/>
<combo_box.item name="mature" label="Moderar Contenido"/>
</layout_stack>
<layout_panel name="layout_crt"/>
<layout_stack name="button_row_ls"/>
<layout_panel name="create_actions"/>
<panel name="preferences_container"/>
<combo_box name="group_mature_check" tool_tip="Las clasificaciones de madurez designan el tipo de contenido y comportamientos permitidos en un grupo"/>
<scroll_list name="membership_list"/>
<layout_panel name="create_info"/>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<panel name="im_panel" label="soy_panel"/>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" ?>
<panel name="main_panel">
<panel name="sender_time_panel_exp"/>
<panel name="main_info_panel_expanded"/>
<layout_panel name="layout_panel_middle_exp"/>
<layout_stack name="horizontal_stack"/>
<panel name="panel_expanded_view"/>
<layout_panel name="layout_panel_expanded_view"/>
<layout_stack name="item_vertical_stack"/>
<panel name="panel_total_view">
<text name="notification_time_exp" value="24/12/2014 23:30"/>
<text name="sender_or_fee_box_exp">Remitente: &quot;Residente R e s i d e n t e R e s i d e n t e&quot;</text>
<text name="notification_title_exp">Título de notificación titulo de notificacion T i t u l o D e N o t i f i c a c i ó n</text>
<avatar_icon name="avatar_icon" tool_tip="Avatar"/>
<button name="join_btn" label="Unirse"/>
<chat_editor name="notification_text_exp">El Texto de notificación va aquí</chat_editor>
<button name="decline_btn" label="Rechazar"/>
<group_icon name="group_icon_exp" tool_tip="Grupo"/>
<text name="sender_or_fee_box">Remitente: &quot;Residente R e s i d e n t e R e s i d e n t e&quot;</text>
<icon name="attachment_icon_exp" tool_tip="Archivo adjunto"/>
<icon name="system_notification_icon_exp" tool_tip="Icono"/>
<text name="notification_title">Nombre del grupo: Titulo de Notificación T i t u l o D e N o t i f i c a c i ó n</text>
<text name="group_name_exp">Nombre del Grupo Nombre del Grupo Nombre del Grupo o o</text>
<text name="attachment_text">El archivo adjunto va aquí</text>
</panel>
<panel name="notification_title_panel_exp"/>
<layout_panel name="layout_panel_right"/>
<panel name="panel_condensed_view"/>
<layout_panel name="layout_panel_condensed_view"/>
<panel name="button_panel"/>
<panel name="notification_text_panel_exp"/>
<layout_panel name="layout_panel_right_exp"/>
<panel name="sender_time_panel"/>
<panel name="main_info_panel"/>
<layout_panel name="layout_panel_middle"/>
<panel name="notification_title_panel"/>
<panel name="attachment_panel"/>
</panel>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<panel name="notifications_panel">
<scroll_list name="notifications_list"/>
<layout_panel name="notifications_list_panel"/>
<layout_stack name="stack1">
<scroll_list.columns name="name" label="Nombre"/>
<scroll_list.columns name="content" label="Contenido"/>
<scroll_list.columns name="date" label="Fecha"/>
</layout_stack>
</panel>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="Outfit Gallery">
<panel name="bottom_panel">
<menu_button name="options_gear_btn" tool_tip="Mostrar opciones adicionales"/>
<button name="trash_btn" tool_tip="Borrar atuendo seleccionado"/>
</panel>
</panel>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="gallery_item_panel">
<panel name="text_bg_panel">
<text name="outfit_name">Hipster de verano,</text>
<text name="outfit_worn_text">(usado)</text>
</panel>
</panel>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<panel name="login_progress_panel">
<layout_panel name="panel_icons"/>
<layout_stack name="vertical_centering"/>
<layout_panel name="panel4"/>
<layout_panel name="center"/>
<layout_stack name="horizontal_centering">
<text name="logos_lbl">Usos de Second Life</text>
</layout_stack>
</panel>

View File

@ -1,40 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<panel label="Entorno" name="panel_env_info">
<string name="str_label_use_default">
Usar la configuración predeterminada
</string>
<string name="str_label_use_region">
Usar Configuración de la Región
</string>
<string name="str_altitude_desription">
Cielo [INDEX]([ALTITUDE]m)
</string>
<string name="str_no_parcel">
No se ha seleccionado ninguna parcela. Las opciones de entorno están desactivadas.
</string>
<string name="str_cross_region">
Las opciones de entorno no están disponibles en las fronteras de regiones.
</string>
<string name="str_legacy">
La configuración de entorno no está disponible en esta región.
</string>
<string name="str_disallowed">
El administrador del estado no permite cambiar los entornos de parcela en esta región.
</string>
<string name="str_too_small">
La parcela debe tener como mínimo 128 metros cuadrados para ser compatible con un entorno.
</string>
<string name="str_empty">
(vacío)
</string>
<string name="str_region_env">
(entorno de la región)
</string>
<string name="str_label_use_default">Usar la configuración predeterminada</string>
<string name="str_label_use_region">Usar Configuración de la Región</string>
<string name="str_altitude_desription">Cielo [INDEX]([ALTITUDE]m)</string>
<string name="str_no_parcel">No se ha seleccionado ninguna parcela. Las opciones de entorno están desactivadas.</string>
<string name="str_cross_region">Las opciones de entorno no están disponibles en las fronteras de regiones.</string>
<string name="str_legacy">La configuración de entorno no está disponible en esta región.</string>
<string name="str_disallowed">El administrador del estado no permite cambiar los entornos de parcela en esta región.</string>
<string name="str_too_small">La parcela debe tener como mínimo 128 metros cuadrados para ser compatible con un entorno.</string>
<string name="str_empty">(vacío)</string>
<string name="str_region_env">(entorno de la región)</string>
<layout_stack>
<layout_panel name="pnl_environment_disabled">
<text name="txt_environment_disabled">
...
</text>
<text name="txt_environment_disabled">...</text>
</layout_panel>
<layout_panel name="pnl_environment_config">
<layout_stack>
@ -47,42 +25,28 @@
<check_box label="Los propietarios de parcelas pueden borrar el entorno" name="chk_allow_override"/>
</layout_panel>
<layout_panel name="pnl_environment_length">
<text name="lbl_apparent_time">
[HH]:[MM][AP] ([PRC]%)
</text>
<text name="lbl_apparent_time">[HH]:[MM][AP] ([PRC]%)</text>
</layout_panel>
<layout_panel name="pnl_environment_buttons"/>
</layout_stack>
</layout_panel>
<layout_panel name="pnl_environment_altitudes">
<panel name="pnl_alt1">
<text name="txt_alt1">
Cielo [INDEX]
[ALTITUDE]m
</text>
<line_editor name="edt_invname_alt1">
Desconocido
</line_editor>
<text name="txt_alt1">Cielo [INDEX]
[ALTITUDE]m</text>
<line_editor name="edt_invname_alt1">Desconocido</line_editor>
<settings_drop_target name="sdt_alt1" tool_tip="Mover un parámetro desde el Inventario hasta este recuadro para seleccionarlo como cielo actual."/>
</panel>
<panel name="pnl_alt2">
<text name="txt_alt2">
Cielo [INDEX]
[ALTITUDE]m
</text>
<line_editor name="edt_invname_alt2">
Desconocido
</line_editor>
<text name="txt_alt2">Cielo [INDEX]
[ALTITUDE]m</text>
<line_editor name="edt_invname_alt2">Desconocido</line_editor>
<settings_drop_target name="sdt_alt2" tool_tip="Mover un parámetro desde el Inventario hasta este recuadro para seleccionarlo como cielo actual."/>
</panel>
<panel name="pnl_alt3">
<text name="txt_alt3">
Cielo [INDEX]
[ALTITUDE]m
</text>
<line_editor name="edt_invname_alt3">
Desconocido
</line_editor>
<text name="txt_alt3">Cielo [INDEX]
[ALTITUDE]m</text>
<line_editor name="edt_invname_alt3">Desconocido</line_editor>
<settings_drop_target name="sdt_alt3" tool_tip="Mover un parámetro desde el Inventario hasta este recuadro para seleccionarlo como cielo actual."/>
</panel>
<multi_slider initial_value="0" name="sld_altitudes">
@ -91,21 +55,13 @@
<slider name="sld3" value="3000"/>
</multi_slider>
<panel name="pnl_ground">
<text name="txt_ground">
Terreno
</text>
<line_editor name="edt_invname_ground">
Desconocido
</line_editor>
<text name="txt_ground">Terreno</text>
<line_editor name="edt_invname_ground">Desconocido</line_editor>
<settings_drop_target name="sdt_ground" tool_tip="Mover un parámetro desde el Inventario hasta este recuadro para seleccionarlo como cielo a nivel del terreno."/>
</panel>
<panel name="pnl_water">
<text name="txt_water">
Agua
</text>
<line_editor name="edt_invname_water">
Desconocido
</line_editor>
<text name="txt_water">Agua</text>
<line_editor name="edt_invname_water">Desconocido</line_editor>
<settings_drop_target name="sdt_water" tool_tip="Mover un parámetro desde el Inventario hasta este recuadro para seleccionarlo como agua actual."/>
</panel>
<button label="Restablecer" name="btn_rst_altitudes" tool_tip="Restablecer altitudes predeterminadas"/>
@ -113,4 +69,8 @@
</layout_stack>
</layout_panel>
</layout_stack>
<layout_panel name="pnl_environment_region_msg">
<text name="region_text_lbl">Región:</text>
<text name="region_text">desconocido</text>
</layout_panel>
</panel>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<panel label="Vestuarios" name="appearance panel">
<string name="No Outfit" value="No hay vestuario"/>
<string name="Unsaved Changes" value="Cambios sin guardar"/>
@ -7,10 +7,9 @@
<panel name="panel_currentlook">
<button label="F" name="editappearance_btn"/>
<button label="O" name="openoutfit_btn"/>
<text name="currentlook_status">
(Estado)
</text>
<text name="currentlook_status">(Estado)</text>
<button label="" name="edit_outfit_btn" tool_tip="Editar este vestuario"/>
<text name="currentlook_name">MiAtuendo Con Un Nombre Muy Largo como ALCE</text>
</panel>
<search_editor label="Filtrar los vestuarios" name="Filter"/>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<densityctrl name="density_ctrl" label="Densidad"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="groups" title="NOMI UTENTE RICORDATI"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="linkreplace" title="SOSTITUISCI I LINK DI INVENTARIO"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="notification" title="CONSOLE DI NOTIFICA"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="notifications_console" title="CONSOLE DI NOTIFICA"/>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<floater name="floater_preview_trash" title="CESTINO">
<layout_panel name="empty_btn_lp"/>
<layout_stack name="button_panel_ls">
<button name="empty_btn" label="Cestino vuoto"/>
<button name="cancel_btn" label="Annulla"/>
</layout_stack>
<layout_panel name="share_btn_lp"/>
</floater>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" ?>
<context_menu name="Outfit">
<menu name="New Clothes" label="Vestiti nuovi">
<menu_item_call name="New Skirt" label="Gonna nuova"/>
<menu_item_call name="New Underpants" label="Nuovo intimo"/>
<menu_item_call name="New Undershirt" label="Maglietta intima nuova"/>
<menu_item_call name="New Shirt" label="Camicia nuova"/>
<menu_item_call name="New Pants" label="Pantaloni nuovi"/>
<menu_item_call name="New Tattoo" label="Nuovo tatuaggio"/>
<menu_item_call name="New Physics" label="Nuova Fisico"/>
<menu_item_call name="New Jacket" label="Giacca nuova"/>
<menu_item_call name="New Shoes" label="Scarpe nuove"/>
<menu_item_call name="New Gloves" label="Guanti nuovi"/>
<menu_item_call name="New Alpha" label="Nuovo Alfa"/>
<menu_item_call name="New Socks" label="Calze nuove"/>
</menu>
<menu name="New Body Parts" label="Nuove parti del corpo">
<menu_item_call name="New Hair" label="Capelli nuovi"/>
<menu_item_call name="New Eyes" label="Occhi nuovi"/>
<menu_item_call name="New Shape" label="Nuova forma"/>
<menu_item_call name="New Skin" label="Nuova pelle"/>
</menu>
</context_menu>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="avatar_tag_notification">
<panel name="msg_caption">
<text name="tag_time" value="23:30:00"/>
<text name="sender_tag_name">Tester Angela</text>
</panel>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<panel name="im_header" label="im_header"/>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" ?>
<panel name="GroupCreation" label="Creazione del gruppo">
<panel name="group_info_top">
<line_editor name="group_name_editor" label="Scrivi qui il nome del tuo nuovo gruppo"/>
</panel>
<layout_panel name="group_info"/>
<layout_stack name="layout">
<texture_picker name="insignia" tool_tip="Clicca e scegli un'immagine"/>
<text_editor name="charter">Noleggio di gruppo</text_editor>
<button name="back" label="Elimina" tool_tip="Ritorna alla lista dei gruppi"/>
<text name="info_deletion">NB: dopo 7 giorni, un gruppo senza membri ( oltre al creatore) sarà cancellato</text>
<check_box name="check_enrollment_fee" label="Costo di iscrizione" tool_tip="Stabilire se richiedere una quota di iscrizione per entrare a far parte del gruppo"/>
<combo_box.item name="pg" label="Contenuto generale"/>
<scroll_list.rows name="basic" value="Base (segnaposto)"/>
<button name="btn_create" label="Crea un gruppo per L$ [COST]" tool_tip="Crea un nuovo Gruppo"/>
<text name="fee_information">La quota per la creazione di un gruppo si basa sul livello di membership. [https://secondlife.com/my/account/membership.php Maggiori informazioni]</text>
<scroll_list.rows name="premium" value="Premium (segnaposto)"/>
<check_box name="open_enrollement" label="Chiunque può partecipare" tool_tip="Stabilisce se questo gruppo permette a nuovi membri di aderire senza essere invitati."/>
<combo_item name="select_mature">- Seleziona la classificazione del contenuto -</combo_item>
<spinner name="spin_enrollment_fee" label="L$" tool_tip="Per entrare a far parte del gruppo, i nuovi membri devono pagare questa quota."/>
<combo_box.item name="mature" label="Contenuto moderato"/>
</layout_stack>
<layout_panel name="layout_crt"/>
<layout_stack name="button_row_ls"/>
<layout_panel name="create_actions"/>
<panel name="preferences_container"/>
<combo_box name="group_mature_check" tool_tip="La classificazione del contenuto designa il tipo di contenuto e di comportamento consentito in un gruppo"/>
<scroll_list name="membership_list"/>
<layout_panel name="create_info"/>
</panel>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" ?>
<panel name="im_panel" label="im_panel">
<panel name="im_header" label="im_header">
<text name="time_box" value="23:30:00"/>
</panel>
</panel>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" ?>
<panel name="main_panel">
<panel name="sender_time_panel_exp"/>
<panel name="main_info_panel_expanded"/>
<layout_panel name="layout_panel_middle_exp"/>
<layout_stack name="horizontal_stack"/>
<panel name="panel_expanded_view"/>
<layout_panel name="layout_panel_expanded_view"/>
<layout_stack name="item_vertical_stack"/>
<panel name="panel_total_view">
<text name="notification_time_exp" value="2014-12-24 23:30:00"/>
<text name="sender_or_fee_box_exp">Mittente: &quot;Residente R e s i d e n t e R e s i d e n t e R e s i d e n t e&quot;.</text>
<text name="notification_time" value="2014-12-24 23:30:00"/>
<text name="notification_title_exp">Titolo dell'Avviso Titolo dell'Avviso Titolo T i t o l o d e l l ' A v v i s o T i t o l o d e l l ' a v v i s o</text>
<avatar_icon name="avatar_icon" tool_tip="Avatar"/>
<button name="join_btn" label="Iscriviti a"/>
<chat_editor name="notification_text_exp">Il testo dell'avviso va qui b l a b l a.</chat_editor>
<button name="decline_btn" label="Rifiuta"/>
<group_icon name="group_icon_exp" tool_tip="Gruppo"/>
<text name="sender_or_fee_box">Mittente: &quot;Residente R e s i d e n t e R e s i d e n t e R e s i d e n t e&quot;.</text>
<group_icon name="group_icon" tool_tip="Gruppo"/>
<icon name="attachment_icon_exp" tool_tip="Allegato"/>
<avatar_icon name="avatar_icon_exp" tool_tip="Avatar"/>
<icon name="system_notification_icon_exp" tool_tip="Icona"/>
<text name="notification_title">Nome del gruppo: Titolo dell' Avviso T i t o l o d e l l ' A v v i s o T i t o l o d e l l ' a v v i s o T itolo dell'avviso</text>
<button name="info_btn" label="Info"/>
<text name="group_name_exp">Nome del gruppo Nome del gruppo Nome del gruppo No m e</text>
<icon name="attachment_icon" tool_tip="Allegato"/>
<icon name="system_notification_icon" tool_tip="Icona"/>
<text name="attachment_text">L'allegato va qui b l a b l a.</text>
</panel>
<panel name="sender_time_panel"/>
<panel name="main_info_panel"/>
<layout_panel name="layout_panel_middle"/>
<panel name="panel_condensed_view"/>
<layout_panel name="layout_panel_condensed_view"/>
<panel name="notification_title_panel_exp"/>
<layout_panel name="layout_panel_right"/>
<panel name="button_panel"/>
<panel name="notification_text_panel_exp"/>
<layout_panel name="layout_panel_right_exp"/>
<panel name="notification_title_panel"/>
<panel name="attachment_panel"/>
</panel>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<panel name="login_progress_panel">
<layout_panel name="panel_icons"/>
<layout_stack name="vertical_centering"/>
<layout_panel name="panel4"/>
<layout_panel name="center"/>
<layout_stack name="horizontal_centering">
<text name="logos_lbl">Utilizzi di Second Life</text>
</layout_stack>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<densityctrl name="density_ctrl" label="Densità"/>

View File

@ -1,18 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="avatar_texture_debug" title="アバターのテクスチャ">
<floater.string name="InvalidAvatar">
無効なアバター
</floater.string>
<floater.string name="InvalidAvatar">無効なアバター</floater.string>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text name="label">
ベークド
テクスチャ
</text>
<text name="composite_label">
合成
テクスチャ
</text>
<text name="label">ベークド
テクスチャ</text>
<text name="composite_label">合成
テクスチャ</text>
<button label="ID をコンソールにダンプ" label_selected="ダンプ" name="Dump"/>
<panel name="scroll_content_panel">
<texture_picker label="髪" name="hair-baked"/>
@ -61,5 +55,21 @@
<texture_picker label="補助 3 のタトゥー" name="aux3_tattoo" />
</panel>
</panel>
<texture_picker name="upper_universal_tattoo" label="上腕 タトゥー"/>
<texture_picker name="aux1_tattoo" label="予備 1 タトゥー"/>
<texture_picker name="leftarm-baked" label="左腕"/>
<texture_picker name="aux1-baked" label="予備 1"/>
<texture_picker name="skirt_tattoo" label="スカートタトゥー"/>
<texture_picker name="aux2_tattoo" label="予備 2 タトゥー"/>
<texture_picker name="eyes_tattoo" label="アイタトゥー"/>
<texture_picker name="head_universal_tattoo" label="頭 Unv タトゥー"/>
<texture_picker name="leftleg_tattoo" label="左脚タトゥー"/>
<texture_picker name="aux3-baked" label="予備 3"/>
<texture_picker name="hair_tattoo" label="ヘアータトゥー"/>
<texture_picker name="leftleg-baked" label="左脚"/>
<texture_picker name="aux2-baked" label="予備 2"/>
<texture_picker name="aux3_tattoo" label="予備 3 タトゥー"/>
<texture_picker name="leftarm_tattoo" label="左腕タトゥー"/>
<texture_picker name="lower_universal_tattoo" label="下腕タトゥー"/>
</scroll_container>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="groups" title="記憶されたユーザー名"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="linkreplace" title="インベントリ リンク交換"/>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<floater name="floater_preview_trash" title="ゴミ箱">
<layout_panel name="empty_btn_lp"/>
<layout_stack name="button_panel_ls">
<button name="empty_btn" label="ゴミ箱を空にする"/>
</layout_stack>
</floater>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" ?>
<context_menu name="Outfit">
<menu name="New Clothes" label="新しい洋服">
<menu_item_call name="New Skirt" label="新しいスカート"/>
<menu_item_call name="New Underpants" label="新しい下着"/>
<menu_item_call name="New Undershirt" label="新しい肌着"/>
<menu_item_call name="New Shirt" label="新しいシャツ"/>
<menu_item_call name="New Pants" label="新しいパンツ"/>
<menu_item_call name="New Tattoo" label="新しいタトゥー"/>
<menu_item_call name="New Physics" label="新しい体"/>
<menu_item_call name="New Jacket" label="新しいジャケット"/>
<menu_item_call name="New Shoes" label="新しい靴"/>
<menu_item_call name="New Gloves" label="新しいグローブ"/>
<menu_item_call name="New Alpha" label="新しいアルファ"/>
<menu_item_call name="New Socks" label="新しい靴下"/>
</menu>
<menu name="New Body Parts" label="新しいボディーパーツ">
<menu_item_call name="New Hair" label="新しい髪"/>
<menu_item_call name="New Eyes" label="新しい目"/>
<menu_item_call name="New Shape" label="新しいシェイプ"/>
<menu_item_call name="New Skin" label="新しい皮膚"/>
</menu>
</context_menu>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<menu_bar name="Main Menu">
<!-- ミーメニュー -->
@ -656,6 +656,11 @@
<menu_item_call label="管理者ステータスの呼び出し" name="Request Admin Options"/>
<menu_item_call label="管理者ステータス解除" name="Leave Admin Options"/>
<menu_item_check label="管理者メニューを表示する" name="View Admin Options"/>
<menu_item_check name="Show Avatar Render Info" label="アバター描画情報を表示"/>
<menu_item_call name="Playback event recording" label="イベントの記録を再生する"/>
<menu_item_call name="FB Connect Test" label="FB コンテンツテスト"/>
<menu_item_call name="Stop event recording" label="イベントの記録を停止する"/>
<menu_item_call name="Start event recording" label="イベントの記録を開始する"/>
</menu>
<menu label="管理者" name="Admin">
<menu label="オブジェクト" name="AdminObject">

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<panel name="MediaControls">
<string name="control_background_image_name">
Inspector_Background
</string>
<string name="skip_step">
0.2
</string>
<string name="control_background_image_name">Inspector_Background</string>
<string name="skip_step">0.2</string>
<layout_stack name="progress_indicator_area">
<layout_panel name="media_progress_indicator">
<progress_bar name="media_progress_bar" tool_tip="ローディング"/>
@ -69,5 +65,6 @@
<layout_panel name="new_window">
<button name="new_window_btn" tool_tip="URL をブラウザで開く"/>
</layout_panel>
<icon name="media_secure_lock_flag" tool_tip="安全なブラウジング"/>
</layout_stack>
</panel>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<panel name="login_progress_panel">
<layout_panel name="panel_icons"/>
<layout_stack name="vertical_centering"/>
<layout_panel name="panel4"/>
<layout_panel name="center"/>
<layout_stack name="horizontal_centering">
<text name="logos_lbl">セカンドライフ使用</text>
</layout_stack>
</panel>

View File

@ -1,18 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="avatar_texture_debug" title="TEXTURAS DE AVATAR">
<floater.string name="InvalidAvatar">
AVATAR INVÁLIDO
</floater.string>
<floater.string name="InvalidAvatar">AVATAR INVÁLIDO</floater.string>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text name="label">
Pronto
Texturas
</text>
<text name="composite_label">
Compósito:
Texturas
</text>
<text name="label">Pronto
Texturas</text>
<text name="composite_label">Compósito:
Texturas</text>
<button label="Enviar IDs para painel" label_selected="Dump" name="Dump"/>
<panel name="scroll_content_panel">
<texture_picker label="Cabelo" name="hair-baked"/>
@ -46,5 +40,21 @@ Texturas
<texture_picker label="Saia" name="skirt"/>
</panel>
</panel>
<texture_picker name="upper_universal_tattoo" label="Tatuagem Univ. Superior"/>
<texture_picker name="aux1_tattoo" label="Tatuagem AUX 1"/>
<texture_picker name="leftarm-baked" label="Braço Esquerdo"/>
<texture_picker name="aux1-baked" label="AUX 1"/>
<texture_picker name="skirt_tattoo" label="Tatuagem na Saia"/>
<texture_picker name="aux2_tattoo" label="Tatuagem AUX 2"/>
<texture_picker name="eyes_tattoo" label="Tatuagem nos Olhos"/>
<texture_picker name="head_universal_tattoo" label="Tatuagem Univ. na Cabeça"/>
<texture_picker name="leftleg_tattoo" label="Tatuagem na Perna Esquerda"/>
<texture_picker name="aux3-baked" label="AUX 3"/>
<texture_picker name="hair_tattoo" label="Tatuagem no Cabelo"/>
<texture_picker name="leftleg-baked" label="Perna Esquerda"/>
<texture_picker name="aux2-baked" label="AUX 2"/>
<texture_picker name="aux3_tattoo" label="Tatuagem AUX 3"/>
<texture_picker name="leftarm_tattoo" label="Tatuagem no Braço Esquerdo"/>
<texture_picker name="lower_universal_tattoo" label="Tatuagem Univ. Inferior"/>
</scroll_container>
</floater>

View File

@ -1,45 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="camera_floater" title="CONTROLES DA CÂMERA">
<floater.string name="rotate_tooltip">
Girar a Câmera ao redor do Foco
</floater.string>
<floater.string name="zoom_tooltip">
Aproximar a Câmera in direção ao Foco
</floater.string>
<floater.string name="move_tooltip">
Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita
</floater.string>
<floater.string name="free_mode_title">
Visualizar objeto
</floater.string>
<floater.string name="rotate_tooltip">Girar a Câmera ao redor do Foco</floater.string>
<floater.string name="zoom_tooltip">Aproximar a Câmera in direção ao Foco</floater.string>
<floater.string name="move_tooltip">Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita</floater.string>
<floater.string name="free_mode_title">Visualizar objeto</floater.string>
<panel name="controls">
<panel name="preset_views_list">
<panel_camera_item name="front_view">
<panel_camera_item.text name="front_view_text">
Vista frontal
</panel_camera_item.text>
<panel_camera_item name="front_view" tool_tip="Visão Frontal">
<panel_camera_item.text name="front_view_text">Vista frontal</panel_camera_item.text>
</panel_camera_item>
<panel_camera_item name="group_view">
<panel_camera_item.text name="side_view_text">
Vista lateral
</panel_camera_item.text>
<panel_camera_item name="group_view" tool_tip="Visão Lateral">
<panel_camera_item.text name="side_view_text">Vista lateral</panel_camera_item.text>
</panel_camera_item>
<panel_camera_item name="rear_view">
<panel_camera_item.text name="rear_view_text">
Vista de trás
</panel_camera_item.text>
<panel_camera_item name="rear_view" tool_tip="Visão Traseira">
<panel_camera_item.text name="rear_view_text">Vista de trás</panel_camera_item.text>
</panel_camera_item>
</panel>
<panel name="camera_modes_list">
<panel_camera_item name="object_view">
<panel_camera_item.text name="object_view_text">
Vista de objetos
</panel_camera_item.text>
<panel_camera_item name="object_view" tool_tip="Visão do Objeto">
<panel_camera_item.text name="object_view_text">Vista de objetos</panel_camera_item.text>
</panel_camera_item>
<panel_camera_item name="mouselook_view">
<panel_camera_item.text name="mouselook_view_text">
Vista do mouse
</panel_camera_item.text>
<panel_camera_item name="mouselook_view" tool_tip="Visão em Primeira Pessoa">
<panel_camera_item.text name="mouselook_view_text">Vista do mouse</panel_camera_item.text>
</panel_camera_item>
</panel>
<panel name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco">
@ -47,10 +29,17 @@
<slider_bar name="zoom_slider" tool_tip="Zoom de câmera para focalizar"/>
<joystick_track name="cam_track_stick" tool_tip="Move a câmera para cima e para baixo, direita e esquerda"/>
</panel>
<text name="precise_ctrs_label">Usar controles precisos</text>
</panel>
<panel name="buttons">
<button label="" name="presets_btn" tool_tip="Ângulos predefinidos"/>
<button label="" name="pan_btn" tool_tip="Pan zoom orbital"/>
<button label="" name="avatarview_btn" tool_tip="Modos de câmera"/>
</panel>
<panel name="buttons_panel">
<button name="gear_btn" tool_tip="Minhas Predefinições de Câmera"/>
<button name="save_preset_btn" label="Salvar como predefinição..."/>
<combo_box.item name="Use preset" label="Usar predefinição"/>
</panel>
<combo_box name="preset_combo"/>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="floater_camera_presets" title="MINHAS PREDEFINIÇÕES DE CÂMERA"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="groups" title="NOMES DE USUÁRIOS SALVOS"/>

View File

@ -1,13 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="godtools floater" title="FERRAMENTAS DE DEUS">
<tab_container name="GodTools Tabs">
<panel label="Grade" name="grid">
<button label="Limpar os caches de visibilidade do mapa da região." label_selected="Limpar os caches de visibilidade do mapa da região." name="Flush This Region&apos;s Map Visibility Caches"/>
<button label="Limpar os caches de visibilidade do mapa da região." label_selected="Limpar os caches de visibilidade do mapa da região." name="Flush This Region's Map Visibility Caches"/>
</panel>
<panel label="Região" name="region">
<text name="Region Name:">
Nome da região:
</text>
<text name="Region Name:">Nome da região:</text>
<check_box label="Prelúdio" name="check prelude" tool_tip="Ajustar para tornar esta região um prelúdio."/>
<check_box label="Fixar Sol" name="check fixed sun" tool_tip="Fixa a posição do sol (como em Região/Estados) &gt; Terreno."/>
<check_box label="Redefinir Início no teletransporte" name="check reset home" tool_tip="Quando um residente sair, definir o destino com sua posição inicial."/>
@ -19,75 +17,52 @@
<button label="Nivelar o terreno" label_selected="Nivelar o Terreno" name="Bake Terrain" tool_tip="Salva o terreno atual como padrão."/>
<button label="Reverter Terreno" label_selected="Reverter Terreno" name="Revert Terrain" tool_tip="Substituir o terreno atual pelo padrão."/>
<button label="Trocar Terreno" label_selected="Trocar Terreno" name="Swap Terrain" tool_tip="Trocar o terreno atual pelo padrão."/>
<text name="estate id">
ID da Propriedade:
</text>
<text name="parent id">
ID do Pai:
</text>
<text name="estate id">ID da Propriedade:</text>
<text name="parent id">ID do Pai:</text>
<line_editor name="parentestate" tool_tip="Esta é a propriedade pai para esta região"/>
<text name="Grid Pos: ">
Posição da Grade:
</text>
<text name="Grid Pos: ">Posição da Grade:</text>
<line_editor name="gridposx" tool_tip="Esta é a posição x da grade para esta região"/>
<line_editor name="gridposy" tool_tip="Esta é a posição y da grade para esta região"/>
<text name="Redirect to Grid: ">
Redirecionar para a Grade:
</text>
<text name="billable factor text">
Fator cobrança:
</text>
<text name="land cost text">
L$ por m²:
</text>
<text name="Redirect to Grid: ">Redirecionar para a Grade:</text>
<text name="billable factor text">Fator cobrança:</text>
<text name="land cost text">L$ por m²:</text>
<button label="Atualizar" label_selected="Atualizar" name="Refresh" tool_tip="Clique aqui para atualizar a informação acima."/>
<button label="Aplicar" label_selected="Aplicar" name="Apply" tool_tip="Clique aqui para aplicar qualquer mudança acima"/>
<button label="Selecionar Região" label_selected="Selecionar Região" name="Select Region" tool_tip="Selecionar toda a região com a ferramenta de terreno"/>
<button label="Autosalvar Agora" label_selected="Autosalvar Agora" name="Autosave now" tool_tip="Salvar estado compactado para o diretório de gravação automática."/>
</panel>
<panel label="Objetos" name="objects">
<text name="Region Name:">
Nome da região:
</text>
<text name="region name">
Welsh
</text>
<text name="Region Name:">Nome da região:</text>
<text name="region name">Welsh</text>
<check_box label="Desativar Scripts" name="disable scripts" tool_tip="Ajustar para desativar todos os scripts da região"/>
<check_box label="Desativar Colisões" name="disable collisions" tool_tip="Ajustar para desativar colisões de não-agentes nessa região"/>
<check_box label="Desativar Física" name="disable physics" tool_tip="Ajustar para desativar toda a física nessa região"/>
<button label="Aplicar" label_selected="Aplicar" name="Apply" tool_tip="Clique aqui para aplicar todas as alterações acima."/>
<button label="Ajustar Alvo" label_selected="Ajustar Alvo" name="Set Target" tool_tip="Configura o avatar alvo para deleção de objetos."/>
<text name="target_avatar_name">
(sem alvo)
</text>
<button label="Apagar objetos programados do alvo em outras terras" label_selected="Apagar objetos programados do alvo em outras terras" name="Delete Target&apos;s Scripted Objects On Others Land" tool_tip="Apagar todos os objetos programados possuídos pelo alvo nas terras fora do domínio do alvo. Objetos (sem cópia) irão retornar."/>
<button label="Apagar objetos programados do Alvo em qualquer terreno" label_selected="Apagar objetos programados do Alvo em qualquer terreno" name="Delete Target&apos;s Scripted Objects On *Any* Land" tool_tip="Apagar todos os objetos programados do alvo nesta região. Objetos (sem cópia) irão retornar."/>
<button label="Apagar *TODOS* os objetos do alvo" label_selected="Apagar *TODOS* os objetos do alvo" name="Delete *ALL* Of Target&apos;s Objects" tool_tip="Apagar todos os objetos possuídos pelo alvo nesta região. Objetos (sem cópia) objetos irão retornar."/>
<text name="target_avatar_name">(sem alvo)</text>
<button label="Apagar objetos programados do alvo em outras terras" label_selected="Apagar objetos programados do alvo em outras terras" name="Delete Target's Scripted Objects On Others Land" tool_tip="Apagar todos os objetos programados possuídos pelo alvo nas terras fora do domínio do alvo. Objetos (sem cópia) irão retornar."/>
<button label="Apagar objetos programados do Alvo em qualquer terreno" label_selected="Apagar objetos programados do Alvo em qualquer terreno" name="Delete Target's Scripted Objects On *Any* Land" tool_tip="Apagar todos os objetos programados do alvo nesta região. Objetos (sem cópia) irão retornar."/>
<button label="Apagar *TODOS* os objetos do alvo" label_selected="Apagar *TODOS* os objetos do alvo" name="Delete *ALL* Of Target's Objects" tool_tip="Apagar todos os objetos possuídos pelo alvo nesta região. Objetos (sem cópia) objetos irão retornar."/>
<button label="Principais colidentes" label_selected="Lista dos maiores colidentes" name="Get Top Colliders" tool_tip="Gera a lista de objetos que estão experimentando as chamadas mais frequentes."/>
<button label="Principais scripts" label_selected="Lista dos scripts principais" name="Get Top Scripts" tool_tip="Gera a lista de objetos programados com a maior duração em tempo de execução."/>
<button label="Dados dos scripts" label_selected="Dados dos scripts" name="Scripts digest" tool_tip="Gera uma lista de todos os scripts e o número de ocorrências de cada um."/>
</panel>
<panel label="Requisição" name="request">
<text name="Destination:">
Destino:
</text>
<text name="Destination:">Destino:</text>
<combo_box name="destination">
<combo_box.item label="Seleção" name="item1"/>
<combo_box.item label="Região do Agente" name="item2"/>
</combo_box>
<text name="Request:">
Requisição:
</text>
<text name="Request:">Requisição:</text>
<combo_box name="request">
<combo_box.item label="Passos de Colisão" name="item1"/>
<combo_box.item label="Contagem de scripts, padrão opcional" name="item2"/>
<combo_box.item label="Padrão de Objetos" name="item3"/>
<combo_box.item label="rez &lt;asset_id&gt;" name="item4"/>
</combo_box>
<text name="Parameter:">
Parametro:
</text>
<text name="Parameter:">Parametro:</text>
<button label="Fazer Requisição" label_selected="Fazer Requisição" name="Make Request"/>
</panel>
<panel.string name="no_target">(sem destino)</panel.string>
</tab_container>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="linkreplace" title="SUBSTITUIR LINKS DE INVENTÁRIO"/>

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater min_width="477" name="floater_about" title="NAVEGADOR DE MÍDIA" width="570">
<floater.string name="home_page_url">
http://br.secondlife.com
</floater.string>
<floater.string name="support_page_url">
http://br.secondlife.com/support
</floater.string>
<floater.string name="home_page_url">http://br.secondlife.com</floater.string>
<floater.string name="support_page_url">http://br.secondlife.com/support</floater.string>
<layout_stack name="stack1" width="550">
<layout_panel name="nav_controls">
<button label="Para trás" name="back" width="75"/>
@ -22,5 +18,9 @@
<check_box label="Sempre abrir no meu Navegador de Web" left_delta="201" name="open_always"/>
<button label="Fechar" name="close"/>
</layout_panel>
<button name="seek" label="avançar"/>
<button name="rewind" label="voltar"/>
<button name="stop" label="parar"/>
</layout_stack>
<layout_panel name="time_controls"/>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="notification" title="PAINEL DE NOTIFICAÇÕES"/>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="floater_people" title="PESSOAS">
<panel_container name="main_panel">
<panel label="Perfil do grupo" name="panel_group_info_sidetray"/>
<panel label="Residentes e objetos bloqueados" name="panel_block_list_sidetray"/>
<panel name="panel_group_creation_sidetray" label="Criar Grupo"/>
</panel_container>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<floater name="floaterpreferencesviewadvanced" title="POSIÇÃO DA CÂMERA"/>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<floater name="floater_preview_trash" title="LIXEIRA">
<layout_panel name="empty_btn_lp"/>
<layout_stack name="button_panel_ls">
<button name="empty_btn" label="Esvaziar Lixeira"/>
</layout_stack>
</floater>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<floater name="save_camera_preset" title="Salvar Predefinição de Câmera">
<radio_group name="radio_save_preset">
<radio_item name="replace_preset" label="Substituir uma predefinição"/>
<radio_item name="new_preset" label="Salvar como nova predefinição"/>
</radio_group>
</floater>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<floater name="Statistics" title="ESTATÍSTICAS">
<scroll_container name="statistics_scroll">
<container_view name="statistics_view">
@ -93,5 +93,16 @@
</stat_view>
</stat_view>
</container_view>
<stat_bar name="simpendinguploads" label="Uploads Pendentes"/>
<stat_bar name="simpendingdownloads" label="Downloads Pendentes"/>
<stat_bar name="simchildagents" label="Agentes Secundários"/>
<stat_bar name="simagentups" label="Atualização/Seg de Agente"/>
<stat_bar name="simscripteps" label="Eventos de Script"/>
<stat_bar name="simmainagents" label="Agentes Principais"/>
<stat_bar name="simactivescripts" label="Scripts Ativos"/>
<stat_bar name="simactiveobjects" label="Objetos Ativos"/>
<stat_bar name="simobjects" label="Objetos"/>
<stat_bar name="siminpps" label="Entrada de Pacotes"/>
<stat_bar name="simoutpps" label="Saída de Pacotes"/>
</scroll_container>
</floater>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" ?>
<context_menu name="Outfit">
<menu name="New Clothes" label="Novas Roupas">
<menu_item_call name="New Skirt" label="Nova Saia"/>
<menu_item_call name="New Underpants" label="Novas Roupas Íntimas"/>
<menu_item_call name="New Undershirt" label="Nova Camisa de Baixo"/>
<menu_item_call name="New Shirt" label="Nova Camisa"/>
<menu_item_call name="New Pants" label="Nova Calça"/>
<menu_item_call name="New Tattoo" label="Nova Tatuagem"/>
<menu_item_call name="New Physics" label="Novo Físico"/>
<menu_item_call name="New Jacket" label="Nova Jaqueta"/>
<menu_item_call name="New Shoes" label="Novos Sapatos"/>
<menu_item_call name="New Gloves" label="Novas Luvas"/>
<menu_item_call name="New Alpha" label="Novo Alpha"/>
<menu_item_call name="New Socks" label="Novas Meias"/>
</menu>
<menu name="New Body Parts" label="Novas Partes do Corpo">
<menu_item_call name="New Hair" label="Novo Cabelo"/>
<menu_item_call name="New Eyes" label="Novos Olhos"/>
<menu_item_call name="New Shape" label="Novo Formato"/>
<menu_item_call name="New Skin" label="Nova Pele"/>
</menu>
</context_menu>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<menu_bar name="Login Menu">
<menu label="Eu" name="File">
<menu_item_call label="Preferências..." name="Preferences..."/>
@ -26,5 +26,6 @@
<menu_item_check label="Nenhum" name="None"/>
</menu>
<menu_item_call label="Exibir painel de notificações" name="Show Notifications Console"/>
<menu_item_call name="UI Preview Tool" label="Ferramenta de Visualização XUI"/>
</menu>
</menu_bar>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" ?>
<menu_bar name="Main Menu">
<menu label="Eu" name="Me">
<menu_item_call label="Preferências" name="Preferences"/>
@ -249,6 +249,7 @@
</menu>
<menu_item_call label="Mostrar configurações de depuração" name="Debug Settings"/>
<menu_item_check label="Show Develop Menu" name="Debug Mode"/>
<menu_item_check name="Test FRInfo" label="Testar InfoFR"/>
</menu>
<menu label="Desenvolver" name="Develop">
<menu label="Painéis" name="Consoles">
@ -387,6 +388,65 @@
<menu_item_call label="Request Admin Status" name="Request Admin Options"/>
<menu_item_call label="Sair do modo admin" name="Leave Admin Options"/>
<menu_item_check label="Mostrar menu admin" name="View Admin Options"/>
<menu_item_check name="Texture Area" label="Área da Textura"/>
<menu_item_call name="Print Agent Info" label="Imprimir Informações do Agente"/>
<menu_item_call name="Test Male" label="Testar Homem"/>
<menu_item_check name="Shadow Frusta" label="Tronco de Sombra"/>
<menu_item_check name="Debug GL" label="Depurar GL"/>
<menu_item_call name="Capabilities Info to Debug Console" label="Informações de Capacidade para o Console de Depuração"/>
<menu_item_check name="Face Area" label="Área Facial"/>
<menu_item_check name="Debug Pipeline" label="Pipeline de Depuração"/>
<menu_item_call name="Dump Scripted Camera" label="Apagar Câmera com Script"/>
<menu_item_check name="Show Avatar Render Info" label="Mostrar Informações de Renderização do Avatar"/>
<menu_item_check name="Bounding Boxes" label="Campos de Limitação"/>
<menu_item_call name="Start Playback" label="Começar Reprodução"/>
<menu_item_call name="Dump Attachments" label="Apagar Anexos"/>
<menu_item_check name="Debug Views" label="Depurar Visões"/>
<menu_item_call name="Stop Record" label="Parar Gravação"/>
<menu_item_call name="Appearance To XML" label="Aparência ao XML"/>
<menu_item_check name="Raycast" label="Raycast"/>
<menu_item_call name="Dump Focus Holder" label="Apagar Detentor de Foco"/>
<menu_item_call name="Playback event recording" label="Reproduzir gravação de evento"/>
<menu_item_call name="Disable Message Log" label="Desabilitar Registro de Mensagens"/>
<menu_item_call name="Selected Texture Info Basis" label="Base de Informações da Textura Selecionada"/>
<menu_item_check name="Object-Object Occlusion" label="Oclusão Objeto-Objeto"/>
<menu_item_check name="Output Debug Minidump" label="Produzir Depuração de Tela Azul"/>
<menu_item_check name="Debug Keys" label="Depurar Chaves"/>
<menu_item_check name="Texture Anim" label="Animação de Textura"/>
<menu_item_call name="FB Connect Test" label="Teste do Facebook Connect"/>
<menu_item_call name="Dump Timers" label="Apagar Cronômetros"/>
<menu_item_check name="Rull Res Textures" label="Texturas de Resolução Máxima"/>
<menu_item_call name="Dump Local Textures" label="Apagar Texturas Locais"/>
<menu_item_check name="Ping Interpolate Object Positions" label="Rastrear Posições de Objetos Interpolados"/>
<menu_item_check name="Show Look At" label="Mostrar Olhar Para"/>
<menu_item_check name="Velocity Interpolate Objects" label="Velocidade de Objetos Interpolados"/>
<menu_item_call name="Test Female" label="Testar Mulher"/>
<menu_item_check name="FOV" label="Campo de Visão"/>
<menu_item_check name="Debug SelectMgr" label="Depurar SelectMgr"/>
<menu_item_call name="Stop event recording" label="Parar gravação do evento"/>
<menu_item_check name="Debug WindowProc" label="Depurar WindowProc"/>
<menu_item_check name="Render Batches" label="Renderizar Lotes"/>
<menu_item_check name="Lights" label="Luzes"/>
<menu_item_call name="Start Record" label="Começar Gravação"/>
<menu_item_check name="Collision Skeleton" label="Esqueleto de Colisão"/>
<menu_item_check name="Octree" label="Octree"/>
<menu_item_check name="Show Matrices" label="Mostrar Matrizes"/>
<menu_item_call name="Stop Playback" label="Parar Reprodução"/>
<menu_item_check name="Debug Name Tooltips" label="Depurar Nomear Dicas de Contexto"/>
<menu_item_call name="Dump Inventory" label="Apagar Inventário"/>
<menu_item_call name="Dump SelectMgr" label="Apagar SelectMgr"/>
<menu_item_check name="Debug Joint Updates" label="Depurar Atualizações Conjuntas"/>
<menu_item_call name="Group Info to Debug Console" label="Informações do Grupo para o Painel de Depuração"/>
<menu_item_check name="Texture Priority" label="Prioridade da Textura"/>
<menu_item_check name="Loop Playback" label="Reprodução em Loop"/>
<menu_item_check name="Occlusion" label="Oclusão"/>
<menu_item_check name="Debug Character Vis" label="Depurar Visibilidade do Personagem"/>
<menu_item_check name="Periodic Slow Frame" label="Câmera Lenta Periódica"/>
<menu_item_call name="Start event recording" label="Começar gravação de evento"/>
<menu_item_call name="Compress Images" label="Comprimir Imagens"/>
<menu_item_check name="Tangent Basis" label="Base da Tangente"/>
<menu_item_call name="Enable Message Log" label="Habilitar Registro de Mensagens"/>
<menu_item_check name="Show Point At" label="Mostrar Apontar Para"/>
</menu>
<menu label="Admin" name="Admin">
<menu label="Objeto" name="AdminObject">
@ -423,5 +483,24 @@
<menu_item_call label="Página Wiki" name="QA Wiki"/>
</menu>
</menu>
<menu name="Attach Object" label="Anexar Objeto"/>
<menu_item_call name="Tattoo" label="Tatuagem"/>
<menu_item_call name="Alpha" label="Alpha"/>
<menu name="Detach Object" label="Desanexar Objeto"/>
<menu_item_call name="Menu Underpants" label="Roupa Íntima"/>
<menu_item_call name="Menu Undershirt" label="Camisa de Baixo"/>
</menu>
<menu name="Clothes &gt;"/>
<menu name="Take Off &gt;"/>
<menu name="Avatar">
<menu_item_call name="Gloves" label="Luvas"/>
<menu_item_call name="All Clothes" label="Todas as Roupas"/>
<menu_item_call name="Skirt" label="Saia"/>
<menu_item_call name="Jacket" label="Jaqueta"/>
<menu_item_call name="Pants" label="Calça"/>
<menu_item_call name="Shirt" label="Camisa"/>
<menu_item_call name="Socks" label="Meias"/>
<menu_item_call name="Shoes" label="Sapatos"/>
</menu>
<menu name="Recorder" label="Registrador"/>
</menu_bar>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="avatar_tag_notification">
<panel name="msg_caption">
<text name="tag_time" value="23:30"/>
<text name="sender_tag_name">Angela Tester</text>
</panel>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<panel name="im_header" label="im_header"/>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" ?>
<panel name="GroupCreation" label="Criação do Grupo">
<panel name="group_info_top">
<line_editor name="group_name_editor" label="Digite o nome do seu novo grupo aqui"/>
</panel>
<layout_panel name="group_info"/>
<layout_stack name="layout">
<texture_picker name="insignia" tool_tip="Clique para escolher uma imagem"/>
<text_editor name="charter">Estatuto do Grupo</text_editor>
<button name="back" tool_tip="Voltar à lista de grupos"/>
<text name="info_deletion">Nota: Após 7 dias, um grupo sem nenhum membro (além do criador) será apagado</text>
<check_box name="check_enrollment_fee" label="Custo para participar" tool_tip="Define se será cobrada uma taxa de inscrição para participar do grupo"/>
<combo_box.item name="pg" label="Conteúdo Geral"/>
<scroll_list.rows name="basic" value="Básico (nome provisório)"/>
<button name="btn_create" label="Crie grupo por L$ [COST]" tool_tip="Criar novo Grupo"/>
<text name="fee_information">A taxa para criar um grupo baseia-se no seu nível de assinatura
[https://secondlife.com/my/account/membership.php Mais informações]</text>
<scroll_list.rows name="premium" value="Premium (nome provisório)"/>
<check_box name="open_enrollement" label="Qualquer um pode participar" tool_tip="Define se este grupo aceita que novos membros participem sem serem convidados."/>
<combo_item name="select_mature">- Selecionar nível de maturidade -</combo_item>
<spinner name="spin_enrollment_fee" label="L$" tool_tip="Novos membros deverão pagar esta taxa para participar do grupo quando a Taxa de Inscrição estiver marcada."/>
<combo_box.item name="mature" label="Moderar Conteúdo"/>
</layout_stack>
<layout_panel name="layout_crt"/>
<layout_stack name="button_row_ls"/>
<layout_panel name="create_actions"/>
<panel name="preferences_container"/>
<combo_box name="group_mature_check" tool_tip="Os níveis de maturidade determinam o tipo de conteúdo e comportamento permitidos em um grupo"/>
<scroll_list name="membership_list"/>
<layout_panel name="create_info"/>
</panel>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" ?>
<panel name="im_panel" label="im_panel"/>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" ?>
<panel name="main_panel">
<panel name="sender_time_panel_exp"/>
<panel name="main_info_panel_expanded"/>
<layout_panel name="layout_panel_middle_exp"/>
<layout_stack name="horizontal_stack"/>
<panel name="panel_expanded_view"/>
<layout_panel name="layout_panel_expanded_view"/>
<layout_stack name="item_vertical_stack"/>
<panel name="panel_total_view">
<text name="notification_time_exp" value="24/12/2014 23:30"/>
<text name="sender_or_fee_box_exp">Remetente: &quot;Residente R e s i d e n t e R e s i d e n t e&quot;</text>
<text name="notification_title_exp">Título da Notificação Título da Notificação T í t u l o d a N o t i f i c a ç ã o T í t u l o d a N o t i f i c a ç ã o</text>
<avatar_icon name="avatar_icon" tool_tip="Avatar"/>
<button name="join_btn" label="Participar"/>
<chat_editor name="notification_text_exp">Texto da notificação vai aqui b l á b l á.</chat_editor>
<button name="decline_btn" label="Recusar"/>
<group_icon name="group_icon_exp" tool_tip="Grupo"/>
<text name="sender_or_fee_box">Remetente: &quot;Residente R e s i d e n t e R e s i d e n t e&quot;</text>
<icon name="attachment_icon_exp" tool_tip="Anexo"/>
<icon name="system_notification_icon_exp" tool_tip="Ícone"/>
<text name="notification_title">Nome do Grupo:Título da Notificação T í t u l o d a N o t i f i c a ç ã o T í t u l o d a N o t i f i c a ç ã o T í t u l o d a N o t i f i c a ç ã o T ítulodaNotificação</text>
<button name="info_btn" label="Informações"/>
<text name="group_name_exp">Nome do Grupo Nome do Grupo Nome do Gru p o o</text>
<text name="attachment_text">Anexo vai aqui b l á b l á.</text>
</panel>
<panel name="notification_title_panel_exp"/>
<layout_panel name="layout_panel_right"/>
<panel name="panel_condensed_view"/>
<layout_panel name="layout_panel_condensed_view"/>
<panel name="button_panel"/>
<panel name="notification_text_panel_exp"/>
<layout_panel name="layout_panel_right_exp"/>
<panel name="sender_time_panel"/>
<panel name="main_info_panel"/>
<layout_panel name="layout_panel_middle"/>
<panel name="notification_title_panel"/>
<panel name="attachment_panel"/>
</panel>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<panel name="notifications_panel">
<scroll_list name="notifications_list"/>
<layout_panel name="notifications_list_panel"/>
<layout_stack name="stack1">
<scroll_list.columns name="name" label="Nome"/>
<scroll_list.columns name="content" label="Conteúdo"/>
<scroll_list.columns name="date" label="Data"/>
</layout_stack>
</panel>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="Outfit Gallery">
<panel name="bottom_panel">
<menu_button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
<button name="trash_btn" tool_tip="Apagar roupa selecionada"/>
</panel>
</panel>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" ?>
<panel name="gallery_item_panel">
<panel name="text_bg_panel">
<text name="outfit_name">Hipster de verão, Pierce Pierce Pierce Pierce</text>
<text name="outfit_worn_text">(usado)</text>
</panel>
</panel>

Some files were not shown because too many files have changed in this diff Show More