From f304eea6a9964ee4fe6ebbb54047abb33dc6fd0e Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 28 Feb 2014 12:21:29 -0800 Subject: MAINT-2059 FIX Corner scaling doesn't highlight distance text fixed case where trying to shrink the object below zero size would mess up grid rulers --- indra/newview/llmanipscale.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp index cca8b905f3..81c254c4dc 100755 --- a/indra/newview/llmanipscale.cpp +++ b/indra/newview/llmanipscale.cpp @@ -1615,10 +1615,10 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) { LLGLDepthTest gls_depth(GL_FALSE); - F32 dist_grid_axis = (drag_point - mScaleCenter) * mScaleDir; + F32 dist_grid_axis = llmax(0.f, (drag_point - mScaleCenter) * mScaleDir); // find distance to nearest smallest grid unit - F32 grid_multiple1 = llfloor(llmax(0.f, dist_grid_axis) / (mScaleSnapUnit1 / max_subdivisions)); - F32 grid_multiple2 = llfloor(llmax(0.f, dist_grid_axis) / (mScaleSnapUnit2 / max_subdivisions)); + F32 grid_multiple1 = llfloor(dist_grid_axis / (mScaleSnapUnit1 / max_subdivisions)); + F32 grid_multiple2 = llfloor(dist_grid_axis / (mScaleSnapUnit2 / max_subdivisions)); F32 grid_offset1 = fmodf(dist_grid_axis, mScaleSnapUnit1 / max_subdivisions); F32 grid_offset2 = fmodf(dist_grid_axis, mScaleSnapUnit2 / max_subdivisions); @@ -1641,7 +1641,6 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) { // draw snap guide line gGL.begin(LLRender::LINES); - //LLVector3 snap_line_center = mScaleCenter + (mScaleSnappedValue * mScaleDir); LLVector3 snap_line_center = bbox.localToAgent(unitVectorToLocalBBoxExtent( partToUnitVector( mManipPart ), bbox )); LLVector3 snap_line_start = snap_line_center + (mSnapGuideDir1 * mSnapRegimeOffset); @@ -1768,8 +1767,6 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) { F32 tick_scale = 1.f; F32 alpha = grid_alpha * (1.f - (0.5f * ((F32)llabs(i) / (F32)num_ticks_per_side1))); - F32 distance = (drag_point - mScaleCenter) * mScaleDir; - (void) distance; LLVector3 tick_pos = mScaleCenter + (mScaleDir * (grid_multiple1 + i) * (mScaleSnapUnit1 / max_subdivisions)); for (F32 division_level = max_subdivisions; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) -- cgit v1.2.3 From 07c90b5df393f7e1abf54517f4b75fd16f3cf4d8 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 28 Feb 2014 20:32:45 -0800 Subject: MAINT-2059 FIX Corner scaling doesn't highlight distance text better highlighting of opposite axis when corner scaling --- indra/newview/llmanip.cpp | 55 +++--- indra/newview/llmanip.h | 2 +- indra/newview/llmanipscale.cpp | 389 ++++++++++++++++++------------------- indra/newview/llmanipscale.h | 7 +- indra/newview/llmaniptranslate.cpp | 11 +- 5 files changed, 230 insertions(+), 234 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp index a7d6cb5eac..76008cbec2 100755 --- a/indra/newview/llmanip.cpp +++ b/indra/newview/llmanip.cpp @@ -62,7 +62,7 @@ F32 LLManip::sHelpTextFadeTime = 2.f; S32 LLManip::sNumTimesHelpTextShown = 0; S32 LLManip::sMaxTimesShowHelpText = 5; F32 LLManip::sGridMaxSubdivisionLevel = 32.f; -F32 LLManip::sGridMinSubdivisionLevel = 1.f; +F32 LLManip::sGridMinSubdivisionLevel = 1.f / 32.f; LLVector2 LLManip::sTickLabelSpacing(60.f, 25.f); @@ -176,7 +176,7 @@ BOOL LLManip::getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 & return TRUE; } -F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing) +F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing, F32 min_subdivisions, F32 max_subdivisions) { //update current snap subdivision level LLVector3 cam_to_reference; @@ -192,7 +192,8 @@ F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVecto F32 projected_translation_axis_length = (translate_axis % cam_to_reference).magVec(); F32 subdivisions = llmax(projected_translation_axis_length * grid_scale / (current_range / LLViewerCamera::getInstance()->getPixelMeterRatio() * min_pixel_spacing), 0.f); - subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), 1.f / 32.f, 32.f); + // figure out nearest power of 2 that subdivides grid_scale with result > min_pixel_spacing + subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), min_subdivisions, max_subdivisions); return subdivisions; } @@ -548,37 +549,31 @@ void LLManip::renderTickValue(const LLVector3& pos, F32 value, const std::string BOOL hud_selection = mObjectSelection->getSelectType() == SELECT_TYPE_HUD; gGL.matrixMode(LLRender::MM_MODELVIEW); gGL.pushMatrix(); - LLVector3 render_pos = pos; - if (hud_selection) { - F32 zoom_amt = gAgentCamera.mHUDCurZoom; - F32 inv_zoom_amt = 1.f / zoom_amt; - // scale text back up to counter-act zoom level - render_pos = pos * zoom_amt; - gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt); - } - - LLColor4 shadow_color = LLColor4::black; - shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f; + LLVector3 render_pos = pos; + if (hud_selection) + { + F32 zoom_amt = gAgentCamera.mHUDCurZoom; + F32 inv_zoom_amt = 1.f / zoom_amt; + // scale text back up to counter-act zoom level + render_pos = pos * zoom_amt; + gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt); + } - if (fractional_portion != 0) - { - fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str()); + LLColor4 shadow_color = LLColor4::black; + shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f; - gViewerWindow->setup3DViewport(1, -1); - hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection); - hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, shadow_color, hud_selection); + if (fractional_portion != 0) + { + fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str()); - gViewerWindow->setup3DViewport(); - hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection); - hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, color, hud_selection); - } - else - { - gViewerWindow->setup3DViewport(1, -1); - hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection); - gViewerWindow->setup3DViewport(); - hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection); + hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection); + hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, 1.f, 3.f, color, hud_selection); + } + else + { + hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection); + } } gGL.popMatrix(); } diff --git a/indra/newview/llmanip.h b/indra/newview/llmanip.h index 6263e4244f..1fb05e047a 100755 --- a/indra/newview/llmanip.h +++ b/indra/newview/llmanip.h @@ -137,7 +137,7 @@ protected: LLVector3 getPivotPoint(); void getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3 &normal); BOOL getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 &axis); - F32 getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH); + F32 getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH, F32 min_subdivisions = sGridMinSubdivisionLevel, F32 max_subdivisions = sGridMaxSubdivisionLevel); void renderTickValue(const LLVector3& pos, F32 value, const std::string& suffix, const LLColor4 &color); void renderTickText(const LLVector3& pos, const std::string& suffix, const LLColor4 &color); void updateGridSettings(); diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp index 81c254c4dc..113a639635 100755 --- a/indra/newview/llmanipscale.cpp +++ b/indra/newview/llmanipscale.cpp @@ -185,12 +185,15 @@ LLManipScale::LLManipScale( LLToolComposite* composite ) mLastUpdateFlags( 0 ), mScaleSnapUnit1(1.f), mScaleSnapUnit2(1.f), + mGridScale1(1.f), + mGridScale2(1.f), mSnapRegimeOffset(0.f), mTickPixelSpacing1(0.f), mTickPixelSpacing2(0.f), mSnapGuideLength(0.f), mInSnapRegime(FALSE), - mScaleSnappedValue(0.f) + mScaleSnappedValue1(0.f), + mScaleSnappedValue2(0.f) { for (S32 i = 0; i < NUM_MANIPULATORS; i++) { @@ -291,19 +294,16 @@ void LLManipScale::render() { LLGLEnable poly_offset(GL_POLYGON_OFFSET_FILL); glPolygonOffset( -2.f, -2.f); + { - // JC - Band-aid until edge stretch working similar to side stretch - // in non-uniform. - // renderEdges( bbox ); - - renderCorners( bbox ); - renderFaces( bbox ); + renderCorners( bbox ); + renderFaces( bbox ); - if (mManipPart != LL_NO_PART) - { - renderGuidelinesPart( bbox ); + if (mManipPart != LL_NO_PART) + { + //renderGuidelinesPart( bbox ); + } } - glPolygonOffset( 0.f, 0.f); } } @@ -311,6 +311,7 @@ void LLManipScale::render() if (mManipPart != LL_NO_PART) { + renderGuideline( bbox ); renderSnapGuides(bbox); } gGL.popMatrix(); @@ -348,7 +349,9 @@ BOOL LLManipScale::handleMouseDownOnPart( S32 x, S32 y, MASK mask ) LLBBox bbox = LLSelectMgr::getInstance()->getBBoxOfSelection(); LLVector3 box_center_agent = bbox.getCenterAgent(); - LLVector3 box_corner_agent = bbox.localToAgent( unitVectorToLocalBBoxExtent( partToUnitVector( mManipPart ), bbox ) ); + LLVector3 unit_vector = partToUnitVector( mManipPart ); + LLVector3 extent_vector = unitVectorToLocalBBoxExtent( unit_vector, bbox ); + LLVector3 box_corner_agent = bbox.localToAgent( extent_vector ); updateSnapGuides(bbox); @@ -876,8 +879,8 @@ void LLManipScale::dragCorner( S32 x, S32 y ) LLBBox bbox = LLSelectMgr::getInstance()->getBBoxOfSelection(); F32 scale_factor = 1.f; - F32 max_scale = partToMaxScale(mManipPart, bbox); - F32 min_scale = partToMinScale(mManipPart, bbox); + //F32 max_scale = partToMaxScale(mManipPart, bbox); + //F32 min_scale = partToMinScale(mManipPart, bbox); BOOL uniform = LLManipScale::getUniform(); // check for snapping @@ -892,54 +895,6 @@ void LLManipScale::dragCorner( S32 x, S32 y ) LLVector3 projected_drag_pos1 = inverse_projected_vec(mScaleDir, orthogonal_component(mouse_on_plane1, mSnapGuideDir1)); LLVector3 projected_drag_pos2 = inverse_projected_vec(mScaleDir, orthogonal_component(mouse_on_plane2, mSnapGuideDir2)); - BOOL snap_enabled = gSavedSettings.getBOOL("SnapEnabled"); - if (snap_enabled && (mouse_on_plane1 - projected_drag_pos1) * mSnapGuideDir1 > mSnapRegimeOffset) - { - F32 drag_dist = projected_drag_pos1.length(); - - F32 cur_subdivisions = llclamp(getSubdivisionLevel(mScaleCenter + projected_drag_pos1, mScaleDir, mScaleSnapUnit1, mTickPixelSpacing1), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); - F32 snap_dist = mScaleSnapUnit1 / (2.f * cur_subdivisions); - F32 relative_snap_dist = fmodf(drag_dist + snap_dist, mScaleSnapUnit1 / cur_subdivisions); - - mScaleSnappedValue = llclamp((drag_dist - (relative_snap_dist - snap_dist)), min_scale, max_scale); - scale_factor = mScaleSnappedValue / dist_vec(drag_start_point_agent, drag_start_center_agent); - mScaleSnappedValue /= mScaleSnapUnit1 * 2.f; - mInSnapRegime = TRUE; - - if (!uniform) - { - scale_factor *= 0.5f; - } - } - else if (snap_enabled && (mouse_on_plane2 - projected_drag_pos2) * mSnapGuideDir2 > mSnapRegimeOffset ) - { - F32 drag_dist = projected_drag_pos2.length(); - - F32 cur_subdivisions = llclamp(getSubdivisionLevel(mScaleCenter + projected_drag_pos2, mScaleDir, mScaleSnapUnit2, mTickPixelSpacing2), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); - F32 snap_dist = mScaleSnapUnit2 / (2.f * cur_subdivisions); - F32 relative_snap_dist = fmodf(drag_dist + snap_dist, mScaleSnapUnit2 / cur_subdivisions); - - mScaleSnappedValue = llclamp((drag_dist - (relative_snap_dist - snap_dist)), min_scale, max_scale); - scale_factor = mScaleSnappedValue / dist_vec(drag_start_point_agent, drag_start_center_agent); - mScaleSnappedValue /= mScaleSnapUnit2 * 2.f; - mInSnapRegime = TRUE; - - if (!uniform) - { - scale_factor *= 0.5f; - } - } - else - { - mInSnapRegime = FALSE; - scale_factor = t; - if (!uniform) - { - scale_factor = 0.5f + (scale_factor * 0.5f); - } - } - - F32 max_scale_factor = get_default_max_prim_scale() / MIN_PRIM_SCALE; F32 min_scale_factor = MIN_PRIM_SCALE / get_default_max_prim_scale(); @@ -964,7 +919,65 @@ void LLManipScale::dragCorner( S32 x, S32 y ) } } - scale_factor = llclamp( scale_factor, min_scale_factor, max_scale_factor ); + BOOL snap_enabled = gSavedSettings.getBOOL("SnapEnabled"); + if (snap_enabled && (mouse_on_plane1 - projected_drag_pos1) * mSnapGuideDir1 > mSnapRegimeOffset) + { + mInSnapRegime = TRUE; + + F32 drag_dist = projected_drag_pos1 * mScaleDir; + + F32 cur_subdivisions = getSubdivisionLevel(mScaleCenter + projected_drag_pos1, + mScaleDir, + mScaleSnapUnit1, + mTickPixelSpacing1, + 1.f, //always snap to at least the base grid unit + LLManip::sGridMaxSubdivisionLevel); + mScaleSnappedValue1 = mGridScale1 / cur_subdivisions * llround(drag_dist * (cur_subdivisions / mScaleSnapUnit1)); + + scale_factor = mScaleSnappedValue1 / ((drag_start_point_agent - drag_start_center_agent) * mSnapDir1); + scale_factor = llclamp( scale_factor, min_scale_factor, max_scale_factor ); + + mScaleSnappedValue2 = scale_factor * ((drag_start_point_agent - drag_start_center_agent) * mSnapDir2); + + scale_factor *= 0.5f; + } + else if (snap_enabled && (mouse_on_plane2 - projected_drag_pos2) * mSnapGuideDir2 > mSnapRegimeOffset ) + { + mInSnapRegime = TRUE; + + F32 drag_dist = projected_drag_pos2 * mScaleDir; + + F32 cur_subdivisions = getSubdivisionLevel(mScaleCenter + projected_drag_pos2, + mScaleDir, + mScaleSnapUnit2, + mTickPixelSpacing2, + 1.f, //always snap to at least the base grid unit + LLManip::sGridMaxSubdivisionLevel); + mScaleSnappedValue2 = mGridScale2 / cur_subdivisions * llround(drag_dist * (cur_subdivisions / mScaleSnapUnit2)); + + scale_factor = mScaleSnappedValue2 / ((drag_start_point_agent - drag_start_center_agent) * mSnapDir2); + scale_factor = llclamp( scale_factor, min_scale_factor, max_scale_factor ); + + mScaleSnappedValue1 = scale_factor * ((drag_start_point_agent - drag_start_center_agent) * mSnapDir1); + + scale_factor *= 0.5f; + } + else + { + mInSnapRegime = FALSE; + scale_factor = llclamp( t, min_scale_factor, max_scale_factor ); + + if (!uniform) + { + scale_factor = 0.5f + (scale_factor * 0.5f); + } + } + + if (LLSelectMgr::getInstance()->getGridMode() != GRID_MODE_WORLD) + { + mScaleSnappedValue1 /= mGridScale1 * 2.f; + mScaleSnappedValue2 /= mGridScale2 * 2.f; + } LLVector3d drag_global = uniform ? mDragStartCenterGlobal : mDragFarHitGlobal; @@ -1112,14 +1125,14 @@ void LLManipScale::dragFace( S32 x, S32 y ) if (dist_along_scale_line > max_drag_dist) { - mScaleSnappedValue = max_drag_dist; + mScaleSnappedValue1 = max_drag_dist; LLVector3 clamp_point = mScaleCenter + max_drag_dist * mScaleDir; drag_delta.setVec(clamp_point - drag_start_point_agent); } else if (dist_along_scale_line < min_drag_dist) { - mScaleSnappedValue = min_drag_dist; + mScaleSnappedValue1 = min_drag_dist; LLVector3 clamp_point = mScaleCenter + min_drag_dist * mScaleDir; drag_delta.setVec(clamp_point - drag_start_point_agent); @@ -1127,7 +1140,7 @@ void LLManipScale::dragFace( S32 x, S32 y ) else { F32 drag_dist = scale_center_to_mouse * mScaleDir; - F32 cur_subdivisions = llclamp(getSubdivisionLevel(mScaleCenter + mScaleDir * drag_dist, mScaleDir, mScaleSnapUnit1, mTickPixelSpacing1), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + F32 cur_subdivisions = getSubdivisionLevel(mScaleCenter + mScaleDir * drag_dist, mScaleDir, mScaleSnapUnit1, mTickPixelSpacing1, 1.f, LLManip::sGridMaxSubdivisionLevel); F32 snap_dist = mScaleSnapUnit1 / (2.f * cur_subdivisions); F32 relative_snap_dist = fmodf(drag_dist + snap_dist, mScaleSnapUnit1 / cur_subdivisions); relative_snap_dist -= snap_dist; @@ -1141,7 +1154,7 @@ void LLManipScale::dragFace( S32 x, S32 y ) drag_dist - max_drag_dist, drag_dist - min_drag_dist); - mScaleSnappedValue = drag_dist - relative_snap_dist; + mScaleSnappedValue1 = drag_dist - relative_snap_dist; if (llabs(relative_snap_dist) < snap_dist) { @@ -1154,6 +1167,10 @@ void LLManipScale::dragFace( S32 x, S32 y ) drag_delta -= drag_correction; } } + if (uniform) + { + mScaleSnappedValue1 *= 2.f; + } } else { @@ -1312,29 +1329,30 @@ void LLManipScale::stretchFace( const LLVector3& drag_start_agent, const LLVecto } -void LLManipScale::renderGuidelinesPart( const LLBBox& bbox ) +void LLManipScale::renderGuideline( const LLBBox& bbox ) { - LLVector3 guideline_start = bbox.getCenterLocal(); - - LLVector3 guideline_end = unitVectorToLocalBBoxExtent( partToUnitVector( mManipPart ), bbox ); + F32 max_point_on_scale_line = partToMaxScale(mManipPart, bbox); - if (!getUniform()) + S32 pass; + for (pass = 0; pass < 3; pass++) { - guideline_start = unitVectorToLocalBBoxExtent( -partToUnitVector( mManipPart ), bbox ); - } + LLColor4 tick_color = setupSnapGuideRenderPass(pass); + LLGLDepthTest gls_depth(pass != 1); - guideline_end -= guideline_start; - guideline_end.normVec(); - guideline_end *= LLWorld::getInstance()->getRegionWidthInMeters(); - guideline_end += guideline_start; + glLineWidth(2.5f); - { - LLGLDepthTest gls_depth(GL_TRUE); - gl_stippled_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.5f) ); - } - { - LLGLDepthTest gls_depth(GL_FALSE); - gl_stippled_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.25f) ); + gGL.begin(LLRender::LINES); + { + LLVector3 line_start = mScaleCenter; + LLVector3 line_end = line_start + (mScaleDir * max_point_on_scale_line); + + gGL.color4fv(tick_color.mV); + gGL.vertex3fv(line_start.mV); + gGL.vertex3fv(line_end.mV); + } + gGL.end(); + + LLRender2D::setLineWidth(1.f); } } @@ -1399,8 +1417,11 @@ void LLManipScale::updateSnapGuides(const LLBBox& bbox) } LLVector3 scale_snap = grid_scale; - mScaleSnapUnit1 = scale_snap.scaleVec(partToUnitVector( mManipPart )).magVec(); + LLVector3 scale_dir = partToUnitVector( mManipPart ); + mScaleSnapUnit1 = scale_snap.scaleVec(scale_dir).magVec(); mScaleSnapUnit2 = mScaleSnapUnit1; + mGridScale1 = mScaleSnapUnit1; + mGridScale2 = mScaleSnapUnit1; mSnapGuideDir1 *= mSnapGuideDir1 * LLViewerCamera::getInstance()->getUpAxis() > 0.f ? 1.f : -1.f; mSnapGuideDir2 = mSnapGuideDir1 * -1.f; mSnapDir1 = mScaleDir; @@ -1515,30 +1536,30 @@ void LLManipScale::updateSnapGuides(const LLBBox& bbox) case VX: // x axis face being scaled, use y and z for snap guides mSnapGuideDir1 = LLVector3::y_axis.scaledVec(axis_flip); - mScaleSnapUnit1 = grid_scale.mV[VZ]; + mGridScale1 = grid_scale.mV[VZ]; mSnapGuideDir2 = LLVector3::z_axis.scaledVec(axis_flip); - mScaleSnapUnit2 = grid_scale.mV[VY]; + mGridScale2 = grid_scale.mV[VY]; break; case VY: // y axis facing being scaled, use x and z for snap guides mSnapGuideDir1 = LLVector3::x_axis.scaledVec(axis_flip); - mScaleSnapUnit1 = grid_scale.mV[VZ]; + mGridScale1 = grid_scale.mV[VZ]; mSnapGuideDir2 = LLVector3::z_axis.scaledVec(axis_flip); - mScaleSnapUnit2 = grid_scale.mV[VX]; + mGridScale2 = grid_scale.mV[VX]; break; case VZ: // z axis facing being scaled, use x and y for snap guides mSnapGuideDir1 = LLVector3::x_axis.scaledVec(axis_flip); - mScaleSnapUnit1 = grid_scale.mV[VY]; + mGridScale1 = grid_scale.mV[VY]; mSnapGuideDir2 = LLVector3::y_axis.scaledVec(axis_flip); - mScaleSnapUnit2 = grid_scale.mV[VX]; + mGridScale2 = grid_scale.mV[VX]; break; default: mSnapGuideDir1.zeroVec(); - mScaleSnapUnit1 = 0.f; + mGridScale1 = 0.f; mSnapGuideDir2.zeroVec(); - mScaleSnapUnit2 = 0.f; + mGridScale2 = 0.f; break; } @@ -1554,11 +1575,18 @@ void LLManipScale::updateSnapGuides(const LLBBox& bbox) mScalePlaneNormal2 = mSnapGuideDir2 % mScaleDir; mScalePlaneNormal2.normVec(); - mScaleSnapUnit1 = mScaleSnapUnit1 / (mSnapDir1 * mScaleDir); - mScaleSnapUnit2 = mScaleSnapUnit2 / (mSnapDir2 * mScaleDir); + mScaleSnapUnit1 = mGridScale1 / (mSnapDir1 * mScaleDir); + mScaleSnapUnit2 = mGridScale2 / (mSnapDir2 * mScaleDir); - mTickPixelSpacing1 = llround((F32)MIN_DIVISION_PIXEL_WIDTH / (mScaleDir % mSnapGuideDir1).length()); - mTickPixelSpacing2 = llround((F32)MIN_DIVISION_PIXEL_WIDTH / (mScaleDir % mSnapGuideDir2).length()); + LLVector3 scale_dir_screen = orthogonal_component(mScaleDir, cam_at_axis); + scale_dir_screen.normalize(); + LLVector3 snap_guide_dir_1_screen = orthogonal_component(mSnapGuideDir1, cam_at_axis); + snap_guide_dir_1_screen.normalize(); + LLVector3 snap_guide_dir_2_screen = orthogonal_component(mSnapGuideDir2, cam_at_axis); + snap_guide_dir_2_screen.normalize(); + + mTickPixelSpacing1 = llround((F32)MIN_DIVISION_PIXEL_WIDTH / (scale_dir_screen % snap_guide_dir_1_screen).length()); + mTickPixelSpacing2 = llround((F32)MIN_DIVISION_PIXEL_WIDTH / (scale_dir_screen % snap_guide_dir_2_screen).length()); if (uniform) { @@ -1574,68 +1602,42 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) return; } - F32 max_subdivisions = sGridMaxSubdivisionLevel; + F32 max_point_on_scale_line = partToMaxScale(mManipPart, bbox); F32 grid_alpha = gSavedSettings.getF32("GridOpacity"); - F32 max_point_on_scale_line = partToMaxScale(mManipPart, bbox); LLVector3 drag_point = gAgent.getPosAgentFromGlobal(mDragPointGlobal); updateGridSettings(); + // render tick ruler baselines S32 pass; for (pass = 0; pass < 3; pass++) { LLColor4 tick_color = setupSnapGuideRenderPass(pass); + LLGLDepthTest gls_depth(pass != 1); gGL.begin(LLRender::LINES); - LLVector3 line_mid = mScaleCenter + (mScaleSnappedValue * mScaleDir) + (mSnapGuideDir1 * mSnapRegimeOffset); - LLVector3 line_start = line_mid - (mScaleDir * (llmin(mScaleSnappedValue, mSnapGuideLength * 0.5f))); - LLVector3 line_end = line_mid + (mScaleDir * llmin(max_point_on_scale_line - mScaleSnappedValue, mSnapGuideLength * 0.5f)); + { + LLVector3 line_start = mScaleCenter + (mSnapGuideDir1 * mSnapRegimeOffset); + LLVector3 line_end = line_start + (mScaleDir * max_point_on_scale_line); - gGL.color4f(tick_color.mV[VRED], tick_color.mV[VGREEN], tick_color.mV[VBLUE], tick_color.mV[VALPHA] * 0.1f); - gGL.vertex3fv(line_start.mV); - gGL.color4fv(tick_color.mV); - gGL.vertex3fv(line_mid.mV); - gGL.vertex3fv(line_mid.mV); - gGL.color4f(tick_color.mV[VRED], tick_color.mV[VGREEN], tick_color.mV[VBLUE], tick_color.mV[VALPHA] * 0.1f); - gGL.vertex3fv(line_end.mV); - - line_mid = mScaleCenter + (mScaleSnappedValue * mScaleDir) + (mSnapGuideDir2 * mSnapRegimeOffset); - line_start = line_mid - (mScaleDir * (llmin(mScaleSnappedValue, mSnapGuideLength * 0.5f))); - line_end = line_mid + (mScaleDir * llmin(max_point_on_scale_line - mScaleSnappedValue, mSnapGuideLength * 0.5f)); - gGL.vertex3fv(line_start.mV); - gGL.color4fv(tick_color.mV); - gGL.vertex3fv(line_mid.mV); - gGL.vertex3fv(line_mid.mV); - gGL.color4f(tick_color.mV[VRED], tick_color.mV[VGREEN], tick_color.mV[VBLUE], tick_color.mV[VALPHA] * 0.1f); - gGL.vertex3fv(line_end.mV); + gGL.color4fv(tick_color.mV); + gGL.vertex3fv(line_start.mV); + gGL.vertex3fv(line_end.mV); + + line_start = mScaleCenter + (mSnapGuideDir2 * mSnapRegimeOffset); + line_end = line_start + (mScaleDir * max_point_on_scale_line); + gGL.vertex3fv(line_start.mV); + gGL.vertex3fv(line_end.mV); + } gGL.end(); } { LLGLDepthTest gls_depth(GL_FALSE); - F32 dist_grid_axis = llmax(0.f, (drag_point - mScaleCenter) * mScaleDir); - // find distance to nearest smallest grid unit - F32 grid_multiple1 = llfloor(dist_grid_axis / (mScaleSnapUnit1 / max_subdivisions)); - F32 grid_multiple2 = llfloor(dist_grid_axis / (mScaleSnapUnit2 / max_subdivisions)); - F32 grid_offset1 = fmodf(dist_grid_axis, mScaleSnapUnit1 / max_subdivisions); - F32 grid_offset2 = fmodf(dist_grid_axis, mScaleSnapUnit2 / max_subdivisions); - - // how many smallest grid units are we away from largest grid scale? - S32 sub_div_offset_1 = llround(fmod(dist_grid_axis - grid_offset1, mScaleSnapUnit1 / sGridMinSubdivisionLevel) / (mScaleSnapUnit1 / max_subdivisions)); - S32 sub_div_offset_2 = llround(fmod(dist_grid_axis - grid_offset2, mScaleSnapUnit2 / sGridMinSubdivisionLevel) / (mScaleSnapUnit2 / max_subdivisions)); - - S32 num_ticks_per_side1 = llmax(1, lltrunc(0.5f * mSnapGuideLength / (mScaleSnapUnit1 / max_subdivisions))); - S32 num_ticks_per_side2 = llmax(1, lltrunc(0.5f * mSnapGuideLength / (mScaleSnapUnit2 / max_subdivisions))); - F32 dist_scale_units_1 = dist_grid_axis / (mScaleSnapUnit1 / max_subdivisions); - F32 dist_scale_units_2 = dist_grid_axis / (mScaleSnapUnit2 / max_subdivisions); - S32 ticks_from_scale_center_1 = lltrunc(dist_scale_units_1); - S32 ticks_from_scale_center_2 = lltrunc(dist_scale_units_2); - S32 max_ticks1 = llceil(max_point_on_scale_line / (mScaleSnapUnit1 / max_subdivisions) - dist_scale_units_1); - S32 max_ticks2 = llceil(max_point_on_scale_line / (mScaleSnapUnit2 / max_subdivisions) - dist_scale_units_2); - S32 start_tick = 0; - S32 stop_tick = 0; + S32 num_ticks_per_side1 = llmax(1, lltrunc(max_point_on_scale_line / (mScaleSnapUnit1 / sGridMaxSubdivisionLevel))); + S32 num_ticks_per_side2 = llmax(1, lltrunc(max_point_on_scale_line / (mScaleSnapUnit2 / sGridMaxSubdivisionLevel))); if (mInSnapRegime) { @@ -1653,6 +1655,17 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) gGL.vertex3fv(snap_line_end.mV); gGL.end(); + F32 arrow_size; + if (mObjectSelection->getSelectType() == SELECT_TYPE_HUD) + { + arrow_size = 0.1f; + } + else + { + arrow_size = 0.01f * dist_vec(snap_line_center, LLViewerCamera::getInstance()->getOrigin()); + } + + // draw snap guide arrow gGL.begin(LLRender::TRIANGLES); { @@ -1664,15 +1677,15 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) arrow_dir = snap_line_start - snap_line_center; arrow_dir.normVec(); - gGL.vertex3fv((snap_line_start + arrow_dir * mSnapRegimeOffset * 0.1f).mV); - gGL.vertex3fv((snap_line_start + arrow_span * mSnapRegimeOffset * 0.1f).mV); - gGL.vertex3fv((snap_line_start - arrow_span * mSnapRegimeOffset * 0.1f).mV); + gGL.vertex3fv((snap_line_start + arrow_dir * arrow_size).mV); + gGL.vertex3fv((snap_line_start + arrow_span * arrow_size).mV); + gGL.vertex3fv((snap_line_start - arrow_span * arrow_size).mV); arrow_dir = snap_line_end - snap_line_center; arrow_dir.normVec(); - gGL.vertex3fv((snap_line_end + arrow_dir * mSnapRegimeOffset * 0.1f).mV); - gGL.vertex3fv((snap_line_end + arrow_span * mSnapRegimeOffset * 0.1f).mV); - gGL.vertex3fv((snap_line_end - arrow_span * mSnapRegimeOffset * 0.1f).mV); + gGL.vertex3fv((snap_line_end + arrow_dir * arrow_size).mV); + gGL.vertex3fv((snap_line_end + arrow_span * arrow_size).mV); + gGL.vertex3fv((snap_line_end - arrow_span * arrow_size).mV); } gGL.end(); } @@ -1685,35 +1698,32 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) for (pass = 0; pass < 3; pass++) { LLColor4 tick_color = setupSnapGuideRenderPass(pass); - - start_tick = -(llmin(ticks_from_scale_center_1, num_ticks_per_side1)); - stop_tick = llmin(max_ticks1, num_ticks_per_side1); + LLGLDepthTest gls_depth(pass != 1); gGL.begin(LLRender::LINES); // draw first row of ticks - for (S32 i = start_tick; i <= stop_tick; i++) + for (S32 i = 0; i <= num_ticks_per_side1; i++) { - F32 alpha = (1.f - (1.f * ((F32)llabs(i) / (F32)num_ticks_per_side1))); - LLVector3 tick_pos = mScaleCenter + (mScaleDir * (grid_multiple1 + i) * (mScaleSnapUnit1 / max_subdivisions)); + LLVector3 tick_pos = mScaleCenter + (mScaleDir * i * (mScaleSnapUnit1 / sGridMaxSubdivisionLevel)); - F32 cur_subdivisions = llclamp(getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit1, mTickPixelSpacing1), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + F32 cur_subdivisions = getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit1, mTickPixelSpacing1); - if (fmodf((F32)(i + sub_div_offset_1), (max_subdivisions / cur_subdivisions)) != 0.f) + if (i != num_ticks_per_side1 && fmodf((F32)i, (sGridMaxSubdivisionLevel / cur_subdivisions)) != 0.f) { continue; } F32 tick_scale = 1.f; - for (F32 division_level = max_subdivisions; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) + for (F32 division_level = sGridMaxSubdivisionLevel; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) { - if (fmodf((F32)(i + sub_div_offset_1), division_level) == 0.f) + if (fmodf((F32)i, division_level) == 0.f) { break; } tick_scale *= 0.7f; } - gGL.color4f(tick_color.mV[VRED], tick_color.mV[VGREEN], tick_color.mV[VBLUE], tick_color.mV[VALPHA] * alpha); + gGL.color4fv(tick_color.mV); LLVector3 tick_start = tick_pos + (mSnapGuideDir1 * mSnapRegimeOffset); LLVector3 tick_end = tick_start + (mSnapGuideDir1 * mSnapRegimeOffset * tick_scale); gGL.vertex3fv(tick_start.mV); @@ -1721,32 +1731,28 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) } // draw opposite row of ticks - start_tick = -(llmin(ticks_from_scale_center_2, num_ticks_per_side2)); - stop_tick = llmin(max_ticks2, num_ticks_per_side2); - - for (S32 i = start_tick; i <= stop_tick; i++) + for (S32 i = 0; i <= num_ticks_per_side2; i++) { - F32 alpha = (1.f - (1.f * ((F32)llabs(i) / (F32)num_ticks_per_side2))); - LLVector3 tick_pos = mScaleCenter + (mScaleDir * (grid_multiple2 + i) * (mScaleSnapUnit2 / max_subdivisions)); + LLVector3 tick_pos = mScaleCenter + (mScaleDir * i * (mScaleSnapUnit2 / sGridMaxSubdivisionLevel)); - F32 cur_subdivisions = llclamp(getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit2, mTickPixelSpacing2), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + F32 cur_subdivisions = getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit2, mTickPixelSpacing2); - if (fmodf((F32)(i + sub_div_offset_2), (max_subdivisions / cur_subdivisions)) != 0.f) + if (i != num_ticks_per_side1 && fmodf((F32)i, (sGridMaxSubdivisionLevel / cur_subdivisions)) != 0.f) { continue; } F32 tick_scale = 1.f; - for (F32 division_level = max_subdivisions; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) + for (F32 division_level = sGridMaxSubdivisionLevel; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) { - if (fmodf((F32)(i + sub_div_offset_2), division_level) == 0.f) + if (fmodf((F32)i, division_level) == 0.f) { break; } tick_scale *= 0.7f; } - gGL.color4f(tick_color.mV[VRED], tick_color.mV[VGREEN], tick_color.mV[VBLUE], tick_color.mV[VALPHA] * alpha); + gGL.color4fv(tick_color.mV); LLVector3 tick_start = tick_pos + (mSnapGuideDir2 * mSnapRegimeOffset); LLVector3 tick_end = tick_start + (mSnapGuideDir2 * mSnapRegimeOffset * tick_scale); gGL.vertex3fv(tick_start.mV); @@ -1756,29 +1762,23 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) } // render tick labels - start_tick = -(llmin(ticks_from_scale_center_1, num_ticks_per_side1)); - stop_tick = llmin(max_ticks1, num_ticks_per_side1); - F32 grid_resolution = mObjectSelection->getSelectType() == SELECT_TYPE_HUD ? 0.25f : llmax(gSavedSettings.getF32("GridResolution"), 0.001f); - S32 label_sub_div_offset_1 = llround(fmod(dist_grid_axis - grid_offset1, mScaleSnapUnit1 * 32.f) / (mScaleSnapUnit1 / max_subdivisions)); - S32 label_sub_div_offset_2 = llround(fmod(dist_grid_axis - grid_offset2, mScaleSnapUnit2 * 32.f) / (mScaleSnapUnit2 / max_subdivisions)); - for (S32 i = start_tick; i <= stop_tick; i++) + for (S32 i = 0; i <= num_ticks_per_side1; i++) { F32 tick_scale = 1.f; - F32 alpha = grid_alpha * (1.f - (0.5f * ((F32)llabs(i) / (F32)num_ticks_per_side1))); - LLVector3 tick_pos = mScaleCenter + (mScaleDir * (grid_multiple1 + i) * (mScaleSnapUnit1 / max_subdivisions)); + LLVector3 tick_pos = mScaleCenter + (mScaleDir * i * (mScaleSnapUnit1 / sGridMaxSubdivisionLevel)); - for (F32 division_level = max_subdivisions; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) + for (F32 division_level = sGridMaxSubdivisionLevel; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) { - if (fmodf((F32)(i + label_sub_div_offset_1), division_level) == 0.f) + if (fmodf((F32)i, division_level) == 0.f) { break; } tick_scale *= 0.7f; } - if (fmodf((F32)(i + label_sub_div_offset_1), (max_subdivisions / llmin(sGridMaxSubdivisionLevel, getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit1, tick_label_spacing)))) == 0.f) + if (i == num_ticks_per_side1 || fmodf((F32)i, (sGridMaxSubdivisionLevel / getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit1, tick_label_spacing))) == 0.f) { LLVector3 text_origin = tick_pos + (mSnapGuideDir1 * mSnapRegimeOffset * (1.f + tick_scale)); @@ -1787,45 +1787,42 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) F32 tick_value; if (grid_mode == GRID_MODE_WORLD) { - tick_value = (grid_multiple1 + i) / (max_subdivisions / grid_resolution); + tick_value = i / (sGridMaxSubdivisionLevel / grid_resolution); } else { - tick_value = (grid_multiple1 + i) / (2.f * max_subdivisions); + tick_value = i / (2.f * sGridMaxSubdivisionLevel); } F32 text_highlight = 0.8f; - if (is_approx_equal(tick_value, mScaleSnappedValue) && mInSnapRegime) + if (is_approx_equal(tick_value, mScaleSnappedValue1) && mInSnapRegime) { text_highlight = 1.f; } - renderTickValue(text_origin, tick_value, grid_mode == GRID_MODE_WORLD ? std::string("m") : std::string("x"), LLColor4(text_highlight, text_highlight, text_highlight, alpha)); + renderTickValue(text_origin, tick_value, grid_mode == GRID_MODE_WORLD ? "m" : "x", LLColor4(text_highlight, text_highlight, text_highlight, grid_alpha)); } } // label ticks on opposite side if (mScaleSnapUnit2 != mScaleSnapUnit1) { - start_tick = -(llmin(ticks_from_scale_center_2, num_ticks_per_side2)); - stop_tick = llmin(max_ticks2, num_ticks_per_side2); - for (S32 i = start_tick; i <= stop_tick; i++) + for (S32 i = 0; i <= num_ticks_per_side2; i++) { F32 tick_scale = 1.f; - F32 alpha = grid_alpha * (1.f - (0.5f * ((F32)llabs(i) / (F32)num_ticks_per_side2))); - LLVector3 tick_pos = mScaleCenter + (mScaleDir * (grid_multiple2 + i) * (mScaleSnapUnit2 / max_subdivisions)); + LLVector3 tick_pos = mScaleCenter + (mScaleDir * i * (mScaleSnapUnit2 / sGridMaxSubdivisionLevel)); - for (F32 division_level = max_subdivisions; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) + for (F32 division_level = sGridMaxSubdivisionLevel; division_level >= sGridMinSubdivisionLevel; division_level /= 2.f) { - if (fmodf((F32)(i + label_sub_div_offset_2), division_level) == 0.f) + if (fmodf(i, division_level) == 0.f) { break; } tick_scale *= 0.7f; } - if (fmodf((F32)(i + label_sub_div_offset_2), (max_subdivisions / llmin(max_subdivisions, getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit2, tick_label_spacing)))) == 0.f) + if (i == num_ticks_per_side2 || fmodf((F32)i, (sGridMaxSubdivisionLevel / getSubdivisionLevel(tick_pos, mScaleDir, mScaleSnapUnit2, tick_label_spacing))) == 0.f) { LLVector3 text_origin = tick_pos + (mSnapGuideDir2 * mSnapRegimeOffset * (1.f + tick_scale)); @@ -1834,21 +1831,21 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) F32 tick_value; if (grid_mode == GRID_MODE_WORLD) { - tick_value = (grid_multiple2 + i) / (max_subdivisions / grid_resolution); + tick_value = i / (sGridMaxSubdivisionLevel / grid_resolution); } else { - tick_value = (grid_multiple2 + i) / (2.f * max_subdivisions); + tick_value = i / (2.f * sGridMaxSubdivisionLevel); } F32 text_highlight = 0.8f; - if (is_approx_equal(tick_value, mScaleSnappedValue) && mInSnapRegime) + if (is_approx_equal(tick_value, mScaleSnappedValue2) && mInSnapRegime) { text_highlight = 1.f; } - renderTickValue(text_origin, tick_value, grid_mode == GRID_MODE_WORLD ? std::string("m") : std::string("x"), LLColor4(text_highlight, text_highlight, text_highlight, alpha)); + renderTickValue(text_origin, tick_value, grid_mode == GRID_MODE_WORLD ? "m" : "x", LLColor4(text_highlight, text_highlight, text_highlight, grid_alpha)); } } } diff --git a/indra/newview/llmanipscale.h b/indra/newview/llmanipscale.h index 079fda76ce..916213ea0d 100755 --- a/indra/newview/llmanipscale.h +++ b/indra/newview/llmanipscale.h @@ -92,7 +92,7 @@ private: void renderEdges( const LLBBox& local_bbox ); void renderBoxHandle( F32 x, F32 y, F32 z ); void renderAxisHandle( U32 part, const LLVector3& start, const LLVector3& end ); - void renderGuidelinesPart( const LLBBox& local_bbox ); + void renderGuideline( const LLBBox& local_bbox ); void renderSnapGuides( const LLBBox& local_bbox ); void revert(); @@ -149,6 +149,8 @@ private: LLVector4 mManipulatorVertices[14]; F32 mScaleSnapUnit1; // size of snap multiples for axis 1 F32 mScaleSnapUnit2; // size of snap multiples for axis 2 + F32 mGridScale1; + F32 mGridScale2; LLVector3 mScalePlaneNormal1; // normal of plane in which scale occurs that most faces camera LLVector3 mScalePlaneNormal2; // normal of plane in which scale occurs that most faces camera LLVector3 mSnapGuideDir1; @@ -161,7 +163,8 @@ private: F32 mSnapGuideLength; LLVector3 mScaleCenter; LLVector3 mScaleDir; - F32 mScaleSnappedValue; + F32 mScaleSnappedValue1, + mScaleSnappedValue2; BOOL mInSnapRegime; F32 mManipulatorScales[NUM_MANIPULATORS]; F32 mBoxHandleSize[NUM_MANIPULATORS]; // The size of the handles at the corners of the bounding box diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp index 4830a4b875..12c8ac4fb4 100755 --- a/indra/newview/llmaniptranslate.cpp +++ b/indra/newview/llmaniptranslate.cpp @@ -375,7 +375,7 @@ BOOL LLManipTranslate::handleMouseDownOnPart( S32 x, S32 y, MASK mask ) //LLVector3 select_center_agent = gAgent.getPosAgentFromGlobal(LLSelectMgr::getInstance()->getSelectionCenterGlobal()); // TomY: The above should (?) be identical to the below LLVector3 select_center_agent = getPivotPoint(); - mSubdivisions = llclamp(getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + mSubdivisions = getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale()); // if we clicked on a planar manipulator, recenter mouse cursor if (mManipPart >= LL_YZ_PLANE && mManipPart <= LL_XY_PLANE) @@ -517,7 +517,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask) LLSelectMgr::getInstance()->updateSelectionCenter(); LLVector3d current_pos_global = gAgent.getPosGlobalFromAgent(getPivotPoint()); - mSubdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + mSubdivisions = getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale()); // Project the cursor onto that plane LLVector3d relative_move; @@ -607,7 +607,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask) max_grid_scale = mGridScale.mV[VZ]; } - F32 num_subdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + F32 num_subdivisions = getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale); F32 grid_scale_a; F32 grid_scale_b; @@ -1255,6 +1255,7 @@ void LLManipTranslate::renderSnapGuides() for (S32 pass = 0; pass < 3; pass++) { LLColor4 line_color = setupSnapGuideRenderPass(pass); + LLGLDepthTest gls_depth(pass != 1); gGL.begin(LLRender::LINES); { @@ -1286,7 +1287,7 @@ void LLManipTranslate::renderSnapGuides() { tick_start = selection_center + (translate_axis * (smallest_grid_unit_scale * (F32)i - offset_nearest_grid_unit)); - F32 cur_subdivisions = llclamp(getSubdivisionLevel(tick_start, translate_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel); + F32 cur_subdivisions = getSubdivisionLevel(tick_start, translate_axis, getMinGridScale()); if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / cur_subdivisions)) != 0.f) { @@ -1384,7 +1385,7 @@ void LLManipTranslate::renderSnapGuides() tick_scale *= 0.7f; } - if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / llmin(sGridMaxSubdivisionLevel, getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing)))) == 0.f) + if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing))) == 0.f) { F32 snap_offset_meters; -- cgit v1.2.3 From 0630ac4d87cef2319b94aedb3c5c75b679691427 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 28 Feb 2014 22:35:12 -0800 Subject: MAINT-2059 FIX Corner scaling doesn't highlight distance text code cleanup --- indra/newview/llmanipscale.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp index 113a639635..cc28f52b0b 100755 --- a/indra/newview/llmanipscale.cpp +++ b/indra/newview/llmanipscale.cpp @@ -1658,7 +1658,7 @@ void LLManipScale::renderSnapGuides(const LLBBox& bbox) F32 arrow_size; if (mObjectSelection->getSelectType() == SELECT_TYPE_HUD) { - arrow_size = 0.1f; + arrow_size = 0.02f; } else { -- cgit v1.2.3 From 9670f19cc3fa71d86c72362e7ac1f95dd0387809 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 20 Mar 2014 11:37:20 +0200 Subject: MAINT-1190 FIXED Update visual param list when changing sex. --- indra/newview/llpaneleditwearable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 0621cc8fad..d7cf206775 100755 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -950,7 +950,7 @@ void LLPanelEditWearable::onCommitSexChange() gAgentAvatarp->updateSexDependentLayerSets( FALSE ); gAgentAvatarp->updateVisualParams(); - + showWearable(mWearablePtr, TRUE, TRUE); updateScrollingPanelUI(); } -- cgit v1.2.3 From 4fdf1c34b43f73c576576a6487c16e99e2ed75fc Mon Sep 17 00:00:00 2001 From: andreylproductengine <andreylproductengine@lindenlab.com> Date: Thu, 13 Mar 2014 01:44:41 +0200 Subject: MAINT-3812 FIXED "Remove from outfit" is unavailable for folders containing only gestures --- indra/newview/llappearancemgr.cpp | 12 ++++++++++++ indra/newview/llinventoryfunctions.cpp | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index da1609297e..415cefb5a9 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1431,6 +1431,18 @@ void LLAppearanceMgr::takeOffOutfit(const LLUUID& cat_id) uuids_to_remove.push_back(item->getUUID()); } removeItemsFromAvatar(uuids_to_remove); + + // now deactivating all gestures in that folder + LLInventoryModel::item_array_t gest_items; + getDescendentsOfAssetType(cat_id, gest_items, LLAssetType::AT_GESTURE, false); + for (S32 i = 0; i < gest_items.count(); ++i) + { + LLViewerInventoryItem *gest_item = gest_items.get(i); + if (LLGestureMgr::instance().isGestureActive(gest_item->getLinkedUUID())) + { + LLGestureMgr::instance().deactivateGesture(gest_item->getLinkedUUID()); + } + } } // Create a copy of src_id + contents as a subfolder of dst_id. diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index f1a4889f5a..aa50795eb5 100755 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -877,7 +877,7 @@ bool LLFindWearablesEx::operator()(LLInventoryCategory* cat, LLInventoryItem* it if (!vitem) return false; // Skip non-wearables. - if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT) + if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT && vitem->getType() != LLAssetType::AT_GESTURE) { return false; } -- cgit v1.2.3 From 6bbb86811e02f508323460e875eabe836e4fe40c Mon Sep 17 00:00:00 2001 From: andreylproductengine <andreylproductengine@lindenlab.com> Date: Fri, 21 Mar 2014 04:55:55 +0200 Subject: MAINT-3842 FIXED Using "Close Window" (Ctrl + W) shortcut while in Appearance mode doesn't visually revert any changes... --- indra/newview/llfloatersidepanelcontainer.cpp | 4 ++-- indra/newview/llfloatersidepanelcontainer.h | 2 +- indra/newview/llpaneleditwearable.cpp | 6 ++---- 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index c5248719e9..aee20ff706 100755 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -57,7 +57,7 @@ void LLFloaterSidePanelContainer::onOpen(const LLSD& key) getChild<LLPanel>(sMainPanelName)->onOpen(key); } -void LLFloaterSidePanelContainer::onClickCloseBtn(bool) +void LLFloaterSidePanelContainer::closeFloater(bool app_quitting) { LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); @@ -75,7 +75,7 @@ void LLFloaterSidePanelContainer::onClickCloseBtn(bool) } } - LLFloater::onClickCloseBtn(); + LLFloater::closeFloater(app_quitting); } LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 65ec8f604e..cb5956e4ef 100755 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -51,7 +51,7 @@ public: /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void onClickCloseBtn(bool app_quitting = false); + /*virtual*/ void closeFloater(bool app_quitting = false); LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index d7cf206775..7b50b3c7af 100755 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -859,10 +859,8 @@ void LLPanelEditWearable::draw() void LLPanelEditWearable::onClose() { - if ( isDirty() ) - { - revertChanges(); - } + // any unsaved changes should be reverted at this point + revertChanges(); } void LLPanelEditWearable::setVisible(BOOL visible) -- cgit v1.2.3 From 7698e169f55c41f99b3a35b9a54f55984faf2473 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 24 Mar 2014 11:20:59 +0200 Subject: MAINT-3186 FIXED Disable menu items if group or ad-hoc chat is in multiselection --- indra/newview/llfloaterimcontainer.cpp | 20 ++++++++++++++++++++ .../skins/default/xui/en/menu_conversation.xml | 1 + 2 files changed, 21 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index bb4b9d2d40..5e59460b30 100755 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1271,6 +1271,22 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata) uuid_vec_t uuids; getParticipantUUIDs(uuids); + + //If there is group or ad-hoc chat in multiselection, everything needs to be disabled + if(uuids.size() > 1) + { + const std::set<LLFolderViewItem*> selectedItems = mConversationsRoot->getSelectionList(); + LLConversationItem * conversationItem; + for(std::set<LLFolderViewItem*>::const_iterator it = selectedItems.begin(); it != selectedItems.end(); ++it) + { + conversationItem = static_cast<LLConversationItem *>((*it)->getViewModelItem()); + if((conversationItem->getType() == LLConversationItem::CONV_SESSION_GROUP) || (conversationItem->getType() == LLConversationItem::CONV_SESSION_AD_HOC)) + { + return false; + } + } + } + if ("conversation_log" == item) { return gSavedPerAccountSettings.getS32("KeepConversationLogTranscripts") > 0; @@ -1375,6 +1391,10 @@ bool LLFloaterIMContainer::enableContextMenuItem(const std::string& item, uuid_v else if ("can_call" == item) { return LLAvatarActions::canCall(); + } + else if ("can_open_voice_conversation" == item) + { + return is_single_select && LLAvatarActions::canCall(); } else if ("can_zoom_in" == item) { diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index 31b1d091ee..f5a493c064 100755 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -17,6 +17,7 @@ layout="topleft" name="open_voice_conversation"> <on_click function="Avatar.DoToSelected" parameter="open_voice_conversation"/> + <on_enable function="Avatar.EnableItem" parameter="can_open_voice_conversation"/> </menu_item_call> <menu_item_call label="Disconnect from voice" -- cgit v1.2.3 From 5a76ebc069f86b4e31e74512dba0af2edaa6f628 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 21 Mar 2014 22:20:59 +0200 Subject: MAINT-1805 FIXED "Back" button doesn't teleport user to correct location after performing several teleports to a different locations Agent position gets reseted frequently while not all varibles are uptadet, as result it is not reliable for inter-region teleportation. Changed to value from message. --- indra/newview/llviewerparcelmgr.cpp | 12 +++++++++++- indra/newview/llviewerparcelmgr.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index e361fad9de..04f02872f3 100755 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -118,6 +118,7 @@ LLViewerParcelMgr::LLViewerParcelMgr() mHoverRequestResult(0), mHoverWestSouth(), mHoverEastNorth(), + mTeleportInProgressPosition(), mRenderCollision(FALSE), mRenderSelection(TRUE), mCollisionBanned(0), @@ -1586,7 +1587,15 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use if (instance->mTeleportInProgress) { instance->mTeleportInProgress = FALSE; - instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false); + if(instance->mTeleportInProgressPosition.isNull()) + { + //initial update + instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false); + } + else + { + instance->mTeleportFinishedSignal(instance->mTeleportInProgressPosition, false); + } } } } @@ -2495,6 +2504,7 @@ void LLViewerParcelMgr::onTeleportFinished(bool local, const LLVector3d& new_pos // Non-local teleport (inter-region or between different parcels of the same region). // The agent parcel data has not been updated yet. // Let's wait for the update and then emit the signal. + mTeleportInProgressPosition = new_pos; mTeleportInProgress = TRUE; } } diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 9da49bb3f3..ee8d4778d9 100755 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -336,6 +336,7 @@ private: LLDynamicArray<LLParcelObserver*> mObservers; BOOL mTeleportInProgress; + LLVector3d mTeleportInProgressPosition; teleport_finished_signal_t mTeleportFinishedSignal; teleport_failed_signal_t mTeleportFailedSignal; -- cgit v1.2.3 From 3d80a0858d97012bf24cfb26e4053369c41b068e Mon Sep 17 00:00:00 2001 From: Dave Parks <davep@lindenlab.com> Date: Mon, 24 Mar 2014 14:04:40 -0500 Subject: MAINT-3211 Fix for texture animations not working properly on rigged attachments when worn from inventory. --- .../app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl | 2 +- indra/newview/lldrawpoolavatar.cpp | 11 +++++++++++ indra/newview/llface.cpp | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl index a74290bfcd..2487110624 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -40,7 +40,7 @@ mat4 getObjectSkinnedTransform(); void main() { vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; - + mat4 mat = getObjectSkinnedTransform(); mat = modelview_matrix * mat; diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 24f467f954..716243b381 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1517,6 +1517,17 @@ void LLDrawPoolAvatar::getRiggedGeometry(LLFace* face, LLPointer<LLVertexBuffer> face->setPoolType(LLDrawPool::POOL_AVATAR); } + //let getGeometryVolume know if a texture matrix is in play + if (face->mTextureMatrix) + { + face->setState(LLFace::TEXTURE_ANIM); + } + else + { + face->clearState(LLFace::TEXTURE_ANIM); + } + + //llinfos << "Rebuilt face " << face->getTEOffset() << " of " << face->getDrawable() << " at " << gFrameTimeSeconds << llendl; face->getGeometryVolume(*volume, face->getTEOffset(), mat_vert, mat_normal, offset, true); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index ae62be0ad0..d69c185a2b 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1638,7 +1638,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, do_xform = false; } - if (getVirtualSize() >= MIN_TEX_ANIM_SIZE) + if (getVirtualSize() >= MIN_TEX_ANIM_SIZE || isState(LLFace::RIGGED)) { //don't override texture transform during tc bake tex_mode = 0; } -- cgit v1.2.3 From bb0515db318ee4e528da75160e982b38dd9b4b5f Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 25 Mar 2014 11:37:19 +0200 Subject: MAINT-3852 FIXED Use script name in "Save as" dialog. --- indra/newview/llpreviewscript.cpp | 3 ++- indra/newview/llpreviewscript.h | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 18bbf110f7..7ea62bb332 100755 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1191,7 +1191,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata ) if( self->mSaveCallback ) { LLFilePicker& file_picker = LLFilePicker::instance(); - if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) + if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT, self->mScriptName ) ) { std::string filename = file_picker.getFirstFile(); std::string scriptText=self->mEditor->getText(); @@ -1978,6 +1978,7 @@ void LLLiveLSLEditor::loadScriptText(LLVFS *vfs, const LLUUID &uuid, LLAssetType mScriptEd->setScriptText(LLStringExplicit(&buffer[0]), TRUE); mScriptEd->mEditor->makePristine(); + mScriptEd->setScriptName(getItem()->getName()); } diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index 9fb0a4fb63..97187e055a 100755 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -110,6 +110,8 @@ public: virtual bool hasAccelerators() const { return true; } + void setScriptName(const std::string& name){mScriptName = name;}; + private: void onBtnHelp(); void onBtnDynamicHelp(); @@ -132,6 +134,7 @@ protected: private: std::string mSampleText; + std::string mScriptName; LLTextEditor* mEditor; void (*mLoadCallback)(void* userdata); void (*mSaveCallback)(void* userdata, BOOL close_after_save); -- cgit v1.2.3 From ffbf11e4430041d1df17e21e70d40348467a8d9d Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 26 Mar 2014 11:08:36 +0200 Subject: MAINT-2018 FIXED Viewer crashes when copying and pasting an empty outfit folder --- indra/newview/llinventorybridge.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 101b16b027..75a4c22d33 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3241,7 +3241,7 @@ void LLFolderBridge::pasteFromClipboard() { if (move_is_into_current_outfit || move_is_into_outfit) { - if (can_move_to_outfit(item, move_is_into_current_outfit)) + if (item && can_move_to_outfit(item, move_is_into_current_outfit)) { dropToOutfit(item, move_is_into_current_outfit); } -- cgit v1.2.3 From 73ef75498692e7b7cecb4960f4e308061917d86e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 26 Mar 2014 11:10:26 +0200 Subject: MAINT-2376 FIXED Centre the map on friend's location --- indra/newview/llavataractions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 70cc48f12b..3fa50360cb 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -373,7 +373,7 @@ void LLAvatarActions::showOnMap(const LLUUID& id) } gFloaterWorldMap->trackAvatar(id, av_name.getDisplayName()); - LLFloaterReg::showInstance("world_map"); + LLFloaterReg::showInstance("world_map", "center"); } // static -- cgit v1.2.3 From e0fb4b598266e8aaf6bbc73bae5e5390e361cfb2 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 26 Mar 2014 16:06:16 +0200 Subject: MAINT-1851 FIXED Viewer crashes while attempting to close "Snapshot" dialog after pressing on "Snapshot" icon several times at the left toolbar --- indra/newview/skins/default/xui/en/floater_snapshot.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 853c209bca..c0089a30d8 100755 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -7,6 +7,7 @@ height="500" layout="topleft" name="Snapshot" + single_instance="true" help_topic="snapshot" save_rect="true" save_visibility="false" -- cgit v1.2.3 From 4994d9d97d23afad234950f45a4ce99a276c5b5c Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 28 Mar 2014 18:22:03 +0200 Subject: MAINT-3878 FIXED Don't hide folder if it has descendants. --- indra/newview/llinventoryfilter.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 15463e0d33..b0d0cb217b 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -177,6 +177,7 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent // Pass if this item's type is of the correct filter type if (filterTypes & FILTERTYPE_OBJECT) { + // If it has no type, pass it, unless it's a link. if (object_type == LLInventoryType::IT_NONE) { @@ -244,13 +245,25 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(listener->getPreferredType()); if (is_hidden_if_empty) { - // Force the fetching of those folders so they are hidden iff they really are empty... + // Force the fetching of those folders so they are hidden if they really are empty... gInventory.fetchDescendentsOf(object_id); - return FALSE; + + LLInventoryModel::cat_array_t* cat_array = NULL; + LLInventoryModel::item_array_t* item_array = NULL; + gInventory.getDirectDescendentsOf(object_id,cat_array,item_array); + S32 descendents_actual = 0; + if(cat_array && item_array) + { + descendents_actual = cat_array->count() + item_array->count(); + } + if (descendents_actual == 0) + { + return FALSE; + } } } } - + return TRUE; } -- cgit v1.2.3 From dcb9b7fb05a045ca954e601cb315f58be1bea85b Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 31 Mar 2014 10:54:59 +0300 Subject: MAINT-535 FIXED The teleport SLAPP is changed to UNTRUSTED_THROTTLE. Confirmation dialog for teleporting via slapp is added. --- indra/newview/llurldispatcher.cpp | 43 ++++++++++++++++++++-- .../newview/skins/default/xui/en/notifications.xml | 13 +++++++ 2 files changed, 52 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 0c34db39b5..ca593c80bc 100755 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -34,6 +34,7 @@ #include "llfloaterreg.h" #include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" +#include "llnotifications.h" #include "llpanellogin.h" #include "llregionhandle.h" #include "llslurl.h" @@ -253,13 +254,15 @@ void LLURLDispatcherImpl::regionHandleCallback(U64 region_handle, const LLSLURL& //--------------------------------------------------------------------------- // Teleportation links are handled here because they are tightly coupled // to SLURL parsing and sim-fragment parsing + class LLTeleportHandler : public LLCommandHandler { public: // Teleport requests *must* come from a trusted browser // inside the app, otherwise a malicious web page could // cause a constant teleport loop. JC - LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_BLOCK) { } + LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_THROTTLE) { } + bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) @@ -276,18 +279,50 @@ public: tokens[3].asReal()); } + LLSD args; + args["LOCATION"] = tokens[0]; + // Region names may be %20 escaped. - std::string region_name = LLURI::unescape(tokens[0]); + LLSD payload; + payload["region_name"] = region_name; + payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString(); + + LLNotificationsUtil::add("TeleportViaSLAPP", args, payload); + return true; + } + + static void teleport_via_slapp(std::string region_name, std::string callback_url) + { + LLWorldMapMessage::getInstance()->sendNamedRegionRequest(region_name, LLURLDispatcherImpl::regionHandleCallback, - LLSLURL(region_name, coords).getSLURLString(), + callback_url, true); // teleport - return true; } + + static bool teleport_via_slapp_callback(const LLSD& notification, const LLSD& response) + { + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + std::string region_name = notification["payload"]["region_name"].asString(); + std::string callback_url = notification["payload"]["callback_url"].asString(); + + if (option == 0) + { + teleport_via_slapp(region_name, callback_url); + return true; + } + + return false; + } + }; LLTeleportHandler gTeleportHandler; +static LLNotificationFunctorRegistration open_landmark_callback_reg("TeleportViaSLAPP", LLTeleportHandler::teleport_via_slapp_callback); + + //--------------------------------------------------------------------------- diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index ce34c3f7a1..07531e0d56 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4137,6 +4137,19 @@ Are you sure you want to teleport to <nolink>[LOCATION]</nolink>? notext="Cancel" yestext="Teleport"/> </notification> + + <notification + icon="alertmodal.tga" + name="TeleportViaSLAPP" + type="alertmodal"> +Are you sure you want to teleport to <nolink>[LOCATION]</nolink>? + <tag>confirm</tag> + <usetemplate + ignoretext="Confirm that I want to teleport via SLAPP" + name="okcancelignore" + notext="Cancel" + yestext="Teleport"/> + </notification> <notification icon="alertmodal.tga" -- cgit v1.2.3 From 6ca7c588a898304177850cbe02961e21b93046a2 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Fri, 28 Mar 2014 19:09:38 +0200 Subject: MAINT-3871 FIXED Recent issues with dragging the World Map. --- indra/newview/llworldmapview.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 786e4f2de6..9c1fecefad 100755 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -1694,6 +1694,8 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask ) sPanY += delta_y; sTargetPanX = sPanX; sTargetPanY = sPanY; + + gViewerWindow->moveCursorToCenter(); } // doesn't matter, cursor should be hidden -- cgit v1.2.3 From f7b66fadf65365797025ec56773cad8cf9c8900f Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 28 Mar 2014 17:54:07 +0200 Subject: MAINT-1606 FIXED Warning message 'The object is not for sale' appears while user try to buy the shared object --- indra/newview/lltoolpie.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index a09a2739e8..8a341e2c95 100755 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -438,8 +438,12 @@ ECursorType LLToolPie::cursorFromObject(LLViewerObject* object) break; case CLICK_ACTION_BUY: if ( mClickActionBuyEnabled ) - { - cursor = UI_CURSOR_TOOLBUY; + { + LLSelectNode* node = LLSelectMgr::getInstance()->getHoverNode(); + if (!node || node->mSaleInfo.isForSale()) + { + cursor = UI_CURSOR_TOOLBUY; + } } break; case CLICK_ACTION_OPEN: @@ -543,6 +547,7 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask) mHoverPick = gViewerWindow->pickImmediate(x, y, FALSE); LLViewerObject *parent = NULL; LLViewerObject *object = mHoverPick.getObject(); + LLSelectMgr::getInstance()->setHoverObject(object, mHoverPick.mObjectFace); if (object) { parent = object->getRootEdit(); -- cgit v1.2.3 From 435c1950213be95f359a5d33e23e74cc2e8c76a0 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 31 Mar 2014 16:38:31 +0300 Subject: MAINT-1696 FIXED "Owner" name is not clickable in "Place Profile" dialog if region is group owned --- indra/newview/llpanelplaceprofile.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index 3b8acdca90..b636b76b07 100755 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -488,8 +488,9 @@ void LLPanelPlaceProfile::displaySelectedParcelInfo(LLParcel* parcel, gCacheName->getGroup(parcel->getGroupID(), boost::bind(&LLPanelPlaceInfo::onNameCache, mRegionGroupText, _2)); - gCacheName->getGroup(parcel->getGroupID(), - boost::bind(&LLPanelPlaceInfo::onNameCache, mParcelOwner, _2)); + std::string owner = + LLSLURL("group", parcel->getGroupID(), "inspect").getSLURLString(); + mParcelOwner->setText(owner); } else { -- cgit v1.2.3 From 873543bd88e1461ffadbc95ee215a1654e813261 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 2 Apr 2014 13:06:53 +0300 Subject: MAINT-2536 FIXED Ignore selectTool( gGrabTransientTool ) if mouse down is handled in mouselook and mouse up event is not handled in this mode. --- indra/newview/lltoolgrab.cpp | 18 ++++++++++++++---- indra/newview/lltoolgrab.h | 2 ++ 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 9907da0f0e..ff544f1e84 100755 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -83,6 +83,7 @@ LLToolGrab::LLToolGrab( LLToolComposite* composite ) mLastFace(0), mSpinGrabbing( FALSE ), mSpinRotation(), + mClickedInMouselook( FALSE ), mHideBuildHighlight(FALSE) { } @@ -136,6 +137,7 @@ BOOL LLToolGrab::handleMouseDown(S32 x, S32 y, MASK mask) // can grab transparent objects (how touch event propagates, scripters rely on this) gViewerWindow->pickAsync(x, y, mask, pickCallback, TRUE); } + mClickedInMouselook = gAgentCamera.cameraMouselook(); return TRUE; } @@ -926,13 +928,21 @@ BOOL LLToolGrab::handleMouseUp(S32 x, S32 y, MASK mask) { setMouseCapture( FALSE ); } + mMode = GRAB_INACTIVE; - // HACK: Make some grabs temporary - if (gGrabTransientTool) + if(mClickedInMouselook && !gAgentCamera.cameraMouselook()) { - gBasicToolset->selectTool( gGrabTransientTool ); - gGrabTransientTool = NULL; + mClickedInMouselook = FALSE; + } + else + { + // HACK: Make some grabs temporary + if (gGrabTransientTool) + { + gBasicToolset->selectTool( gGrabTransientTool ); + gGrabTransientTool = NULL; + } } //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h index 06a3b662c8..5107716aab 100755 --- a/indra/newview/lltoolgrab.h +++ b/indra/newview/lltoolgrab.h @@ -133,6 +133,8 @@ private: LLQuaternion mSpinRotation; BOOL mHideBuildHighlight; + + BOOL mClickedInMouselook; }; extern BOOL gGrabBtnVertical; -- cgit v1.2.3 From 469438707dd61711540f7277ac43f65ac399a51b Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Fri, 4 Apr 2014 16:30:50 -0400 Subject: Library updates and switch to 3d-llqtwebkit2 build products. SDL to 1.2.15, c-ares to latest 1.10.0 build, Boost to 1.55.0 with coroutine updates/fixes, curl to 7.34.0, libpng to 1.6.8, openssl to 1.0.1e, zlib to latest 1.2.8 build, llqtwebkit built from 4.7.1 sources refactored and tested in 3p-llqtwebkit2 repository. Windows is functional with a good number of warning messages at runtime from libpng and KDU. MoaP/slplugin functioning. --- indra/newview/CMakeLists.txt | 1 + indra/newview/viewer_manifest.py | 1 + 2 files changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 17e340d136..10015b65f2 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1892,6 +1892,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${BOOST_PROGRAM_OPTIONS_LIBRARY} ${BOOST_REGEX_LIBRARY} ${BOOST_CONTEXT_LIBRARY} + ${BOOST_COROUTINE_LIBRARY} ${DBUSGLIB_LIBRARIES} ${OPENGL_LIBRARIES} ${FMODWRAPPER_LIBRARY} # must come after LLAudio diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index f7b3a45e8d..2ce557fb8d 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1074,6 +1074,7 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libaprutil-1.so.0") self.path("libaprutil-1.so.0.4.1") self.path("libboost_context-mt.so.*") + self.path("libboost_coroutine-mt.so.*") self.path("libboost_filesystem-mt.so.*") self.path("libboost_program_options-mt.so.*") self.path("libboost_regex-mt.so.*") -- cgit v1.2.3 From 50d1ca325f2acc6e803f5385c9c58d7cd9314b3e Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Fri, 4 Apr 2014 23:48:20 +0000 Subject: Linux: Building some .so's with 0555 permissions now but viewer wants to strip those down for packaging. So we'll target those .so's for a chmod. --- indra/newview/viewer_manifest.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 2ce557fb8d..a9c2ab7437 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1022,6 +1022,10 @@ class LinuxManifest(ViewerManifest): def package_finish(self): installer_name = self.installer_base_name() + # Some .so's are packaged without write permissions and fail during strip. So this... + self.run_command(r"find %(dst)r/lib -type f -perm 0555 | xargs --no-run-if-empty chmod 0755; true" + % {'dst' : self.get_dst_prefix()} ) + self.strip_binaries() # Fix access permissions -- cgit v1.2.3 From 508487bdee53daf385653561fc14193dd3fc69a3 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 7 Apr 2014 18:36:02 +0300 Subject: MAINT-459 FIXED Cannot delete prim displaying media Fixed interaction with unselected faces while media is selected. --- indra/newview/lltoolselect.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp index 7c604a04bf..0e69cc51ac 100755 --- a/indra/newview/lltoolselect.cpp +++ b/indra/newview/lltoolselect.cpp @@ -35,6 +35,7 @@ #include "llmanip.h" #include "llmenugl.h" #include "llselectmgr.h" +#include "llviewermediafocus.h" #include "lltoolmgr.h" #include "llfloaterscriptdebug.h" #include "llviewercamera.h" @@ -109,6 +110,21 @@ LLObjectSelectionHandle LLToolSelect::handleObjectSelection(const LLPickInfo& pi { BOOL already_selected = object->isSelected(); + if (already_selected && + object->getNumTEs() > 0 && + !LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES)) + { + const LLTextureEntry* tep = object->getTE(pick.mObjectFace); + if (tep && !tep->isSelected() && !LLViewerMediaFocus::getInstance()->getFocusedObjectID().isNull()) + { + // we were interacting with media and clicked on non selected face, drop media focus + LLViewerMediaFocus::getInstance()->clearFocus(); + // selection was removed and zoom preserved by clearFocus(), continue with regular selection + already_selected = false; + extend_select = true; + } + } + if ( extend_select ) { if ( already_selected ) -- cgit v1.2.3 From 30eb6d13f56534695076b2f159ea93569af6d14c Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Mon, 7 Apr 2014 14:01:34 -0400 Subject: Linux/Mac: Update to latest OpenSSL 1.0.1e build. Fix manifest for openssl on Mac (copy, deploy). Revert Linux manifest work which tried to work around 0555 permissions on .sos (and didn't work). --- indra/newview/viewer_manifest.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index a9c2ab7437..f077cd466b 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -768,13 +768,21 @@ class Darwin_i386_Manifest(ViewerManifest): # dylibs that vary based on configuration if self.args['configuration'].lower() == 'debug': for libfile in ( + "libcrypto.1.0.0.dylib", + "libcrypto.dylib", "libfmodexL.dylib", + "libssl.1.0.0.dylib", + "libssl.dylib", ): dylibs += path_optional(os.path.join("../packages/lib/debug", libfile), libfile) else: for libfile in ( + "libcrypto.1.0.0.dylib", + "libcrypto.dylib", "libfmodex.dylib", + "libssl.1.0.0.dylib", + "libssl.dylib", ): dylibs += path_optional(os.path.join("../packages/lib/release", libfile), libfile) @@ -1022,10 +1030,6 @@ class LinuxManifest(ViewerManifest): def package_finish(self): installer_name = self.installer_base_name() - # Some .so's are packaged without write permissions and fail during strip. So this... - self.run_command(r"find %(dst)r/lib -type f -perm 0555 | xargs --no-run-if-empty chmod 0755; true" - % {'dst' : self.get_dst_prefix()} ) - self.strip_binaries() # Fix access permissions -- cgit v1.2.3 From 83bd0625f058e0ca64deb3eaa4ccd87c09c4624f Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 9 Apr 2014 10:50:18 +0300 Subject: MAINT-27 FIXED Prevent pasting non-ascii chars to avoid creating outfits with empty name. --- indra/newview/lltoastalertpanel.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp index 6083210080..c6e4fdf25a 100755 --- a/indra/newview/lltoastalertpanel.cpp +++ b/indra/newview/lltoastalertpanel.cpp @@ -267,6 +267,11 @@ LLToastAlertPanel::LLToastAlertPanel( LLNotificationPtr notification, bool modal mLineEditor->setMaxTextChars(edit_text_max_chars); mLineEditor->setText(edit_text_contents); + if("SaveOutfitAs" == mNotification->getName()) + { + mLineEditor->setPrevalidate(&LLTextValidate::validateASCII); + } + // decrease limit of line editor of teleport offer dialog to avoid truncation of // location URL in invitation message, see EXT-6891 if ("OfferTeleport" == mNotification->getName()) -- cgit v1.2.3 From 8683c47615fefb6fe531ceca4bf428a0faf010c2 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 10 Apr 2014 12:36:12 +0300 Subject: MAINT-1695 FIXED Close floater after saving notecard. --- indra/newview/llpreviewnotecard.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp index 3a9360fd23..61525bd560 100755 --- a/indra/newview/llpreviewnotecard.cpp +++ b/indra/newview/llpreviewnotecard.cpp @@ -476,12 +476,17 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem) &onSaveComplete, (void*)info, FALSE); + return true; } else // !gAssetStorage { llwarns << "Not connected to an asset storage system." << llendl; return false; } + if(mCloseAfterSave) + { + closeFloater(); + } } } return true; -- cgit v1.2.3 From 75b93c15abc9ad9964fd5ef1e89335e50bdd6647 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 9 Apr 2014 16:21:56 +0300 Subject: MAINT-2245 FIXED Object's content doesn't display inside "Buy" dialog when prim is set for sale --- indra/newview/llviewerobject.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index c789719291..1900112822 100755 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2563,8 +2563,8 @@ void LLViewerObject::dirtyInventory() mInventory->clear(); // will deref and delete entries delete mInventory; mInventory = NULL; - mInventoryDirty = TRUE; } + mInventoryDirty = TRUE; } void LLViewerObject::registerInventoryListener(LLVOInventoryListener* listener, void* user_data) @@ -2601,12 +2601,15 @@ void LLViewerObject::clearInventoryListeners() void LLViewerObject::requestInventory() { - mInventoryDirty = FALSE; + if(mInventoryDirty && mInventory && !mInventoryCallbacks.empty()) + { + mInventory->clear(); // will deref and delete entries + delete mInventory; + mInventory = NULL; + mInventoryDirty = FALSE; //since we are going to request it now + } if(mInventory) { - //mInventory->clear() // will deref and delete it - //delete mInventory; - //mInventory = NULL; doInventoryCallback(); } // throw away duplicate requests -- cgit v1.2.3 From 6631dc22f0513b5ffe28ca48f95ee31fc684d195 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Wed, 9 Apr 2014 21:05:55 +0000 Subject: All/Linux: Update llqtwebkit to latest all-shared lib build. Linux package assembly updated to deal with Qt libraries and discrete codec and imageformat plugins (which live under bin/llplugin). Functioning Linux viewer with MoaP support with a few image problems (sRGB profile, zlib errors). Much of this expected to be due to the new 1.6.8/1.2.8 libpng/libz and we'll fix as needed. --- indra/newview/viewer_manifest.py | 54 ++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 13 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index f077cd466b..3ba2e53cca 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1016,6 +1016,7 @@ class LinuxManifest(ViewerManifest): self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so") self.end_prefix("bin/llplugin") + # llcommon if not self.path("../llcommon/libllcommon.so", "lib/libllcommon.so"): print "Skipping llcommon.so (assuming llcommon was linked statically)" @@ -1135,26 +1136,53 @@ class Linux_i686_Manifest(LinuxManifest): pass try: - self.path("libfmodex-*.so") - self.path("libfmodex.so") - pass + self.path("libfmodex-*.so") + self.path("libfmodex.so") + pass except: - print "Skipping libfmodex.so - not found" - pass + print "Skipping libfmodex.so - not found" + pass self.end_prefix("lib") # Vivox runtimes if self.prefix(src="../packages/lib/release", dst="bin"): - self.path("SLVoice") - self.end_prefix() + self.path("SLVoice") + self.end_prefix() + if self.prefix(src="../packages/lib/release", dst="lib"): + self.path("libortp.so") + self.path("libsndfile.so.1") + #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib + self.path("libvivoxsdk.so") + self.path("libvivoxplatform.so") + self.end_prefix("lib") + + # plugin runtime if self.prefix(src="../packages/lib/release", dst="lib"): - self.path("libortp.so") - self.path("libsndfile.so.1") - #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib - self.path("libvivoxsdk.so") - self.path("libvivoxplatform.so") - self.end_prefix("lib") + self.path("libQtCore.so*") + self.path("libQtGui.so*") + self.path("libQtNetwork.so*") + self.path("libQtOpenGL.so*") + self.path("libQtWebKit.so*") + self.end_prefix("lib") + + # For WebKit/Qt plugin runtimes (image format plugins) + if self.prefix(src="../packages/plugins/imageformats", dst="bin/llplugin/imageformats"): + self.path("libqgif.so") + self.path("libqico.so") + self.path("libqjpeg.so") + self.path("libqmng.so") + self.path("libqsvg.so") + self.path("libqtiff.so") + self.end_prefix("bin/llplugin/imageformats") + + # For WebKit/Qt plugin runtimes (codec/character encoding plugins) + if self.prefix(src="../packages/plugins/codecs", dst="bin/llplugin/codecs"): + self.path("libqcncodecs.so") + self.path("libqjpcodecs.so") + self.path("libqkrcodecs.so") + self.path("libqtwcodecs.so") + self.end_prefix("bin/llplugin/codecs") self.strip_binaries() -- cgit v1.2.3 From 0b0ca7961bfb4fb808c9653a68c46eb2353ba2a8 Mon Sep 17 00:00:00 2001 From: andreylproductengine <andreylproductengine@lindenlab.com> Date: Thu, 10 Apr 2014 07:05:34 +0300 Subject: MAINT-3846 FIXED I can only invite members to a group to the role of everyone... --- indra/newview/llpanelgroupinvite.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelgroupinvite.cpp b/indra/newview/llpanelgroupinvite.cpp index a9a3c686a6..bb4bfb2f96 100755 --- a/indra/newview/llpanelgroupinvite.cpp +++ b/indra/newview/llpanelgroupinvite.cpp @@ -260,7 +260,7 @@ void LLPanelGroupInvite::impl::addRoleNames(LLGroupMgrGroupData* gdatap) //else if they have the limited add to roles power //we add every role the user is in //else we just add to everyone - bool is_owner = member_data->isInRole(gdatap->mOwnerRole); + bool is_owner = member_data->isOwner(); bool can_assign_any = gAgent.hasPowerInGroup(mGroupID, GP_ROLE_ASSIGN_MEMBER); bool can_assign_limited = gAgent.hasPowerInGroup(mGroupID, @@ -579,7 +579,7 @@ void LLPanelGroupInvite::updateLists() { waiting = true; } - if (gdatap->isRoleDataComplete() && gdatap->isMemberDataComplete()) + if (gdatap->isRoleDataComplete() && gdatap->isMemberDataComplete() && gdatap->isRoleMemberDataComplete()) { if ( mImplementation->mRoleNames ) { @@ -607,6 +607,7 @@ void LLPanelGroupInvite::updateLists() { LLGroupMgr::getInstance()->sendGroupPropertiesRequest(mImplementation->mGroupID); LLGroupMgr::getInstance()->sendGroupRoleDataRequest(mImplementation->mGroupID); + LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(mImplementation->mGroupID); LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mImplementation->mGroupID); } mPendingUpdate = TRUE; -- cgit v1.2.3 From e72d546fe36ffb262a6a844ac4aae432df357ed5 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Fri, 11 Apr 2014 19:19:22 -0400 Subject: Mac: Update llqtwebkit build, build and package dylib Qt4 pieces. Part of the switchover to dynamic Qt4. This mostly completes the Mac side. Webkit is functional on Mac, plugins work. The two test programs, llfbconnectest and llplugintest, need a little more work to run without manual fixup ('.' on PATH and maybe a symlink to libz.1.dylib and they run and function on Mac). Also need to address libz.dylib vs libz.a. Currently resolving against dylib which is not what I want. --- indra/newview/viewer_manifest.py | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 3ba2e53cca..e85f4929ae 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -804,14 +804,42 @@ class Darwin_i386_Manifest(ViewerManifest): symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile), os.path.join(resource_path, libfile)) - # plugins + # SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs. + if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"): + for libfile in ('libQtCore.4.dylib', + 'libQtCore.4.7.1.dylib', + 'libQtGui.4.dylib', + 'libQtGui.4.7.1.dylib', + 'libQtNetwork.4.dylib', + 'libQtNetwork.4.7.1.dylib', + 'libQtOpenGL.4.dylib', + 'libQtOpenGL.4.7.1.dylib', + 'libQtSvg.4.dylib', + 'libQtSvg.4.7.1.dylib', + 'libQtWebKit.4.dylib', + 'libQtWebKit.4.7.1.dylib', + 'libQtXml.4.dylib', + 'libQtXml.4.7.1.dylib'): + self.path2basename("../packages/lib/release", libfile) + self.end_prefix("SLPlugin.app/Contents/Resources") + + # Qt4 codecs go to llplugin. Not certain why but this is the first + # location probed according to dtruss so we'll go with that. + if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"): + self.path("libq*.dylib") + self.end_prefix("llplugin/codecs") + + # Similarly for imageformats. + if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"): + self.path("libq*.dylib") + self.end_prefix("llplugin/imageformats") + + # SLPlugin plugins proper if self.prefix(src="", dst="llplugin"): self.path2basename("../media_plugins/quicktime/" + self.args['configuration'], "media_plugin_quicktime.dylib") self.path2basename("../media_plugins/webkit/" + self.args['configuration'], "media_plugin_webkit.dylib") - self.path2basename("../packages/lib/release", "libllqtwebkit.dylib") - self.end_prefix("llplugin") self.end_prefix("Resources") -- cgit v1.2.3 From 4cf5d945d4e892c1c5383e49910759c24ecbf591 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 14 Apr 2014 11:13:22 +0300 Subject: MAINT-3564 FIXED Replace dot before comparing user name. --- indra/newview/llpanellogin.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 911ecaad9d..d6183c5ab3 100755 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -262,6 +262,7 @@ void LLPanelLogin::addFavoritesToStartLocation() // Load favorites into the combo. std::string user_defined_name = getChild<LLComboBox>("username_combo")->getSimple(); + std::replace(user_defined_name.begin(), user_defined_name.end(), '.', ' '); std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); LLSD fav_llsd; llifstream file; -- cgit v1.2.3 From 4eeff34c6514160b3abefce35cee5f0e4e8cf1de Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 15 Apr 2014 10:54:15 +0300 Subject: MAINT-3931 FIXED Don't display any other check marks if Region Settings is selected. --- indra/newview/llviewermenu.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ab9551ad17..e8759ee4ca 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8242,9 +8242,9 @@ class LLWorldEnableEnvSettings : public view_listener_t bool result = false; std::string tod = userdata.asString(); - if (tod == "region") + if (LLEnvManagerNew::instance().getUseRegionSettings()) { - return LLEnvManagerNew::instance().getUseRegionSettings(); + return (tod == "region"); } if (LLEnvManagerNew::instance().getUseFixedSky()) -- cgit v1.2.3 From fd2a114d4ba0edb3bdfb73fff1e455be3ec079ed Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 14 Apr 2014 18:57:29 +0300 Subject: MAINT-1642 FIXED Viewer crashes on double-click on RegionCapabilityRequestError in Notifications Console --- indra/newview/llfloaternotificationsconsole.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp index 4f35c325a8..e33f528c3b 100755 --- a/indra/newview/llfloaternotificationsconsole.cpp +++ b/indra/newview/llfloaternotificationsconsole.cpp @@ -41,6 +41,7 @@ class LLNotificationChannelPanel : public LLLayoutPanel { public: LLNotificationChannelPanel(const Params& p); + ~LLNotificationChannelPanel(); BOOL postBuild(); private: @@ -57,6 +58,20 @@ LLNotificationChannelPanel::LLNotificationChannelPanel(const LLNotificationChann buildFromFile( "panel_notifications_channel.xml"); } +LLNotificationChannelPanel::~LLNotificationChannelPanel() +{ + // Userdata for all records is a LLNotification* we need to clean up + std::vector<LLScrollListItem*> data_list = getChild<LLScrollListCtrl>("notifications_list")->getAllData(); + std::vector<LLScrollListItem*>::iterator data_itor; + for (data_itor = data_list.begin(); data_itor != data_list.end(); ++data_itor) + { + LLScrollListItem* item = *data_itor; + LLNotification* notification = (LLNotification*)item->getUserdata(); + delete notification; + notification = NULL; + } +} + BOOL LLNotificationChannelPanel::postBuild() { LLButton* header_button = getChild<LLButton>("header"); @@ -124,7 +139,7 @@ bool LLNotificationChannelPanel::update(const LLSD& payload) row["columns"][2]["type"] = "date"; LLScrollListItem* sli = getChild<LLScrollListCtrl>("notifications_list")->addElement(row); - sli->setUserdata(&(*notification)); + sli->setUserdata(new LLNotification(notification->asLLSD())); } return false; -- cgit v1.2.3 From 1a1ac2f9b84553ecd00430a82a8e73e373e9c885 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 22 Apr 2014 13:34:02 +0300 Subject: MAINT-3951 FIXED Exclude avatar's uuid before starting conference. --- indra/newview/llpanelpeoplemenus.cpp | 15 ++++++++++++++- indra/newview/llpanelpeoplemenus.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp index 6979ae06e0..a5f59dbf4a 100755 --- a/indra/newview/llpanelpeoplemenus.cpp +++ b/indra/newview/llpanelpeoplemenus.cpp @@ -90,7 +90,7 @@ LLContextMenu* PeopleContextMenu::createMenu() // Set up for multi-selected People // registrar.add("Avatar.AddFriend", boost::bind(&LLAvatarActions::requestFriendshipDialog, mUUIDs)); // *TODO: unimplemented - registrar.add("Avatar.IM", boost::bind(&LLAvatarActions::startConference, mUUIDs, LLUUID::null)); + registrar.add("Avatar.IM", boost::bind(&PeopleContextMenu::startConference, this)); registrar.add("Avatar.Call", boost::bind(&LLAvatarActions::startAdhocCall, mUUIDs, LLUUID::null)); registrar.add("Avatar.OfferTeleport", boost::bind(&PeopleContextMenu::offerTeleport, this)); registrar.add("Avatar.RemoveFriend", boost::bind(&LLAvatarActions::removeFriendsDialog, mUUIDs)); @@ -272,6 +272,19 @@ void PeopleContextMenu::offerTeleport() LLAvatarActions::offerTeleport(mUUIDs); } +void PeopleContextMenu::startConference() +{ + uuid_vec_t uuids; + for (uuid_vec_t::const_iterator it = mUUIDs.begin(); it != mUUIDs.end(); ++it) + { + if(*it != gAgentID) + { + uuids.push_back(*it); + } + } + LLAvatarActions::startConference(uuids); +} + //== NearbyPeopleContextMenu =============================================================== void NearbyPeopleContextMenu::buildContextMenu(class LLMenuGL& menu, U32 flags) diff --git a/indra/newview/llpanelpeoplemenus.h b/indra/newview/llpanelpeoplemenus.h index 945382ebc5..9767bab89f 100755 --- a/indra/newview/llpanelpeoplemenus.h +++ b/indra/newview/llpanelpeoplemenus.h @@ -47,6 +47,7 @@ private: bool enableContextMenuItem(const LLSD& userdata); bool checkContextMenuItem(const LLSD& userdata); void offerTeleport(); + void startConference(); void requestTeleport(); }; -- cgit v1.2.3 From 0e4e551df513c90afedf03f0cb8054df8e040e0f Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 22 Apr 2014 13:45:25 +0300 Subject: MAINT-3917 FIXED Don't stop updating self avatar even with disabled avatar rendering. --- indra/newview/llvoavatar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index c47b6d2335..baf396a818 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2058,7 +2058,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, const F64 &time) } if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR)) - && !(gSavedSettings.getBOOL("DisableAllRenderTypes"))) + && !(gSavedSettings.getBOOL("DisableAllRenderTypes")) && !isSelf()) { return; } -- cgit v1.2.3 From 29e0c3b18fe7dc504a898c7f50a372731a4fa291 Mon Sep 17 00:00:00 2001 From: andreylproductengine <andreylproductengine@lindenlab.com> Date: Tue, 15 Apr 2014 15:10:06 +0300 Subject: MAINT-3891 FIXED Clearing saved URLs from media URLs list causes mouse cursor to spin constantly until relog. --- indra/newview/llfloaterurlentry.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp index e85d849c9a..b8136d4a85 100755 --- a/indra/newview/llfloaterurlentry.cpp +++ b/indra/newview/llfloaterurlentry.cpp @@ -205,6 +205,10 @@ void LLFloaterURLEntry::onBtnOK( void* userdata ) LLURLHistory::addURL("parcel", media_url); } + // show progress bar here? + getWindow()->incBusyCount(); + self->getChildView("loading_label")->setVisible( true); + // leading whitespace causes problems with the MIME-type detection so strip it LLStringUtil::trim( media_url ); @@ -234,10 +238,6 @@ void LLFloaterURLEntry::onBtnOK( void* userdata ) self->getChildView("ok_btn")->setEnabled(false); self->getChildView("cancel_btn")->setEnabled(false); self->getChildView("media_entry")->setEnabled(false); - - // show progress bar here? - getWindow()->incBusyCount(); - self->getChildView("loading_label")->setVisible( true); } // static -- cgit v1.2.3 From f8874d04b8ca238ee99dc464055295cff417a9b2 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Tue, 15 Apr 2014 22:48:52 +0000 Subject: Linux/Win: Bad checksum on Windows package. Libz and libpng linking changes to find newest code. Windows autobuild package had a bad checksum due to oddities in the build system. On Linux I've been fighting with getting libz 1.2.8 and libpng 1.6.8 to be the definitive version in the viewer. Problem is the *massive* library search tree we assemble. We find older shared library versions first and so those dominated. By using --whole-archive with static libraries, the packaged versions of these libraries are made definitive. --- indra/newview/CMakeLists.txt | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 10015b65f2..72c406c95b 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -47,6 +47,8 @@ include(VisualLeakDetector) include(GLOD) include(CMakeCopyIfDifferent) include(LLAppearance) +include(PNG) +include(ZLIB) if (NOT HAVOK_TPV) # When using HAVOK_TPV, the library is precompiled, so no need for this @@ -1859,13 +1861,37 @@ else (WINDOWS) ) endif (WINDOWS) -# *NOTE - this list is very sensitive to ordering, test carefully on all +# *NOTE: - this list is very sensitive to ordering, test carefully on all # platforms if you change the releative order of the entries here. # In particular, cmake 2.6.4 (when buidling with linux/makefile generators) # appears to sometimes de-duplicate redundantly listed dependencies improperly. # To work around this, higher level modules should be listed before the modules # that they depend upon. -brad +# +# *NOTE: On mixing system shared libraries and updated static archives. +# We use a number of libraries that have an existence as system libraries, +# internal-use libraries and applications libraries. The most-referenced +# one of these being libz where you can find four or more versions in play +# at once. On Linux, libz can be found at link and run time via a number +# of paths: +# +# => -lfreetype +# => libz.so.1 (on install machine, not build) +# => -lSDL +# => libz.so.1 (on install machine, not build) +# => -lgdk-x11-2.0 +# => libz.so.1 +# => -lz +# +# We generally want the newest version of the library to provide all symbol +# resolution. To that end, when using static archives, the *_PRELOAD_ARCHIVES +# variables, PNG_PRELOAD_ARCHIVES and ZLIB_PRELOAD_ARCHIVES, get the archives +# dumped into the target binary and runtime lookup will find the most +# modern version. + target_link_libraries(${VIEWER_BINARY_NAME} + ${PNG_PRELOAD_ARCHIVES} + ${ZLIB_PRELOAD_ARCHIVES} ${UPDATER_LIBRARIES} ${GOOGLE_PERFTOOLS_LIBRARIES} ${LLAUDIO_LIBRARIES} -- cgit v1.2.3 From 331663458fbf0a434701b1bb1dd15901eb1c20fe Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 22 Apr 2014 19:27:25 +0300 Subject: MAINT-1344 FIXED Attempting to move a folder or item, to another folder in a different inventory window found via inventory search, fails. --- indra/newview/llinventorybridge.cpp | 25 +++++++++++++++++++------ indra/newview/llinventoryfilter.cpp | 5 +++++ indra/newview/llinventoryfilter.h | 1 + 3 files changed, 25 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 75a4c22d33..00ae3e6afc 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2263,6 +2263,9 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, && (LLToolDragAndDrop::SOURCE_AGENT == source); BOOL accept = FALSE; + U64 filter_types = filter->getFilterTypes(); + BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0); + if (is_agent_inventory) { const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false); @@ -2461,7 +2464,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, is_movable = active_folder_view != NULL; } - if (is_movable) + if (is_movable && use_filter) { // Check whether the folder being dragged from active inventory panel // passes the filter of the destination panel. @@ -2635,6 +2638,12 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id, BOOL accept = FALSE; BOOL is_move = FALSE; + BOOL use_filter = FALSE; + if (filter) + { + U64 filter_types = filter->getFilterTypes(); + use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0); + } // coming from a task. Need to figure out if the person can // move/copy this item. @@ -2667,7 +2676,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id, accept = TRUE; } - if (filter && accept) + if (accept && use_filter) { accept = filter->check(item); } @@ -3993,6 +4002,10 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource(); BOOL accept = FALSE; + U64 filter_types = filter->getFilterTypes(); + // We shouldn't allow to drop non recent items into recent tab (or some similar transactions) + // while we are allowing to interact with regular filtered inventory + BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0); LLViewerObject* object = NULL; if(LLToolDragAndDrop::SOURCE_AGENT == source) { @@ -4091,7 +4104,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, // Check whether the item being dragged from active inventory panel // passes the filter of the destination panel. - if (accept && active_panel) + if (accept && active_panel && use_filter) { LLFolderViewItem* fv_item = active_panel->getItemByID(inv_item->getUUID()); if (!fv_item) return false; @@ -4229,7 +4242,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, // Check whether the item being dragged from in world // passes the filter of the destination panel. - if (accept) + if (accept && use_filter) { accept = filter->check(inv_item); } @@ -4273,7 +4286,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, // Check whether the item being dragged from notecard // passes the filter of the destination panel. - if (accept) + if (accept && use_filter) { accept = filter->check(inv_item); } @@ -4313,7 +4326,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, // Check whether the item being dragged from the library // passes the filter of the destination panel. - if (accept && active_panel) + if (accept && active_panel && use_filter) { LLFolderViewItem* fv_item = active_panel->getItemByID(inv_item->getUUID()); if (!fv_item) return false; diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index c314886f16..b941552f21 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -985,6 +985,11 @@ void LLInventoryFilter::fromParams(const Params& params) setDateRangeLastLogoff(params.since_logoff); } +U64 LLInventoryFilter::getFilterTypes() const +{ + return mFilterOps.mFilterTypes; +} + U64 LLInventoryFilter::getFilterObjectTypes() const { return mFilterOps.mFilterObjectTypes; diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index ce516af0b9..094fda7707 100755 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -151,6 +151,7 @@ public: // +-------------------------------------------------------------------+ // + Parameters // +-------------------------------------------------------------------+ + U64 getFilterTypes() const; U64 getFilterObjectTypes() const; U64 getFilterCategoryTypes() const; U64 getFilterWearableTypes() const; -- cgit v1.2.3 From b1cffda8f3ac9ce95525ae926272c0ecbbc5b24e Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 23 Apr 2014 19:47:19 +0300 Subject: MAINT-2361 FIXED One and the same user shown in Allowed and in Banned Residents lists --- indra/newview/llfloaterland.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index d79eee6be3..6b549b06de 100755 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2776,10 +2776,16 @@ void LLPanelLandAccess::callbackAvatarCBAccess(const uuid_vec_t& ids) { LLUUID id = ids[0]; LLParcel* parcel = mParcel->getParcel(); - if (parcel) + if (parcel && parcel->addToAccessList(id, 0)) { - parcel->addToAccessList(id, 0); - LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_ACCESS); + U32 lists_to_update = AL_ACCESS; + // agent was successfully added to access list + // but we also need to check ban list to ensure that agent will not be in two lists simultaneously + if(parcel->removeFromBanList(id)) + { + lists_to_update |= AL_BAN; + } + LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update); refresh(); } } @@ -2828,10 +2834,16 @@ void LLPanelLandAccess::callbackAvatarCBBanned(const uuid_vec_t& ids) { LLUUID id = ids[0]; LLParcel* parcel = mParcel->getParcel(); - if (parcel) + if (parcel && parcel->addToBanList(id, 0)) { - parcel->addToBanList(id, 0); - LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_BAN); + U32 lists_to_update = AL_BAN; + // agent was successfully added to ban list + // but we also need to check access list to ensure that agent will not be in two lists simultaneously + if (parcel->removeFromAccessList(id)) + { + lists_to_update |= AL_ACCESS; + } + LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update); refresh(); } } -- cgit v1.2.3 From cd7e7e96030c2dffccc31e1c1e29f5ee608992e5 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 28 Apr 2014 11:48:11 +0300 Subject: MAINT-3957 FIXED Group owner issue --- indra/newview/llpanelgrouproles.cpp | 24 ++++++++++++++---------- indra/newview/llpanelgrouproles.h | 3 +++ 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index c30c932c41..160a0ee417 100755 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1768,7 +1768,7 @@ LLPanelGroupRolesSubTab::LLPanelGroupRolesSubTab() mMemberVisibleCheck(NULL), mDeleteRoleButton(NULL), mCreateRoleButton(NULL), - + mFirstOpen(TRUE), mHasRoleChange(FALSE) { } @@ -1870,6 +1870,7 @@ void LLPanelGroupRolesSubTab::deactivate() lldebugs << "LLPanelGroupRolesSubTab::deactivate()" << llendl; LLPanelGroupSubTab::deactivate(); + mFirstOpen = FALSE; } bool LLPanelGroupRolesSubTab::needsApply(std::string& mesg) @@ -1887,7 +1888,7 @@ bool LLPanelGroupRolesSubTab::apply(std::string& mesg) lldebugs << "LLPanelGroupRolesSubTab::apply()" << llendl; saveRoleChanges(true); - + mFirstOpen = FALSE; LLGroupMgr::getInstance()->sendGroupRoleChanges(mGroupID); notifyObservers(); @@ -2024,14 +2025,17 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc) } } - if (!gdatap || !gdatap->isMemberDataComplete()) + if(!mFirstOpen) { - LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); - } - - if (!gdatap || !gdatap->isRoleMemberDataComplete()) - { - LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(mGroupID); + if (!gdatap || !gdatap->isMemberDataComplete()) + { + LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); + } + + if (!gdatap || !gdatap->isRoleMemberDataComplete()) + { + LLGroupMgr::getInstance()->sendGroupRoleMembersRequest(mGroupID); + } } if ((GC_ROLE_MEMBER_DATA == gc || GC_MEMBER_DATA == gc) @@ -2662,7 +2666,7 @@ void LLPanelGroupRoles::setGroupID(const LLUUID& id) if(mSubTabContainer) mSubTabContainer->selectTab(1); - + group_roles_tab->mFirstOpen = TRUE; activate(); } diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h index 0cf272f3ee..71b1db5079 100755 --- a/indra/newview/llpanelgrouproles.h +++ b/indra/newview/llpanelgrouproles.h @@ -259,6 +259,9 @@ public: void saveRoleChanges(bool select_saved_role); virtual void setGroupID(const LLUUID& id); + + BOOL mFirstOpen; + protected: void handleActionCheck(LLUICtrl* ctrl, bool force); LLSD createRoleItem(const LLUUID& role_id, std::string name, std::string title, S32 members); -- cgit v1.2.3 From c283a94c0addc47468291c5b01c74d14daf81210 Mon Sep 17 00:00:00 2001 From: andreylproductengine <andreylproductengine@lindenlab.com> Date: Tue, 29 Apr 2014 06:36:23 +0300 Subject: MAINT-3969 FIXED Animation problems when teleporting while sitting on some objects --- indra/newview/llagent.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 0582916362..1cc9b6a510 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3822,6 +3822,12 @@ bool LLAgent::teleportCore(bool is_local) return false; } + // force stand up and stop a sitting animation (if any), see MAINT-3969 + if (isAgentAvatarValid() && gAgentAvatarp->getParent() && gAgentAvatarp->isSitting()) + { + gAgentAvatarp->getOffObject(); + } + #if 0 // This should not exist. It has been added, removed, added, and now removed again. // This change needs to come from the simulator. Otherwise, the agent ends up out of -- cgit v1.2.3 From 61f126c289f741265ec7a407c946bf26979255b9 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 25 Apr 2014 17:26:20 +0300 Subject: MAINT-2884 FIXED Empty menu item is presented in Type drop-down list in Media tab. --- indra/newview/skins/default/xui/en/mime_types.xml | 21 +++++++++++++++++++++ .../skins/default/xui/en/mime_types_linux.xml | 21 +++++++++++++++++++++ .../newview/skins/default/xui/en/mime_types_mac.xml | 21 +++++++++++++++++++++ 3 files changed, 63 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml index a585069faa..f5f2223330 100755 --- a/indra/newview/skins/default/xui/en/mime_types.xml +++ b/indra/newview/skins/default/xui/en/mime_types.xml @@ -101,6 +101,27 @@ true </allow_looping> </widgetset> + <widgetset name="none"> + <label name="none_label"> + No Content + </label> + <default_type> + none/none + </default_type> + <icon> + icn_media_web.tga + </icon> + <tooltip name="none_tooltip"> + No media here + </tooltip> + <playtip name="none_playtip" /> + <allow_resize> + false + </allow_resize> + <allow_looping> + false + </allow_looping> + </widgetset> <scheme name="rtsp"> <label name="rtsp_label"> Real Time Streaming diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml index e95b371d00..84aeaf3b54 100755 --- a/indra/newview/skins/default/xui/en/mime_types_linux.xml +++ b/indra/newview/skins/default/xui/en/mime_types_linux.xml @@ -101,6 +101,27 @@ true </allow_looping> </widgetset> + <widgetset name="none"> + <label name="none_label"> + No Content + </label> + <default_type> + none/none + </default_type> + <icon> + icn_media_web.tga + </icon> + <tooltip name="none_tooltip"> + No media here + </tooltip> + <playtip name="none_playtip" /> + <allow_resize> + false + </allow_resize> + <allow_looping> + false + </allow_looping> + </widgetset> <scheme name="rtsp"> <label name="rtsp_label"> Real Time Streaming diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml index 7931e55c0a..90230f12dd 100755 --- a/indra/newview/skins/default/xui/en/mime_types_mac.xml +++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml @@ -101,6 +101,27 @@ true </allow_looping> </widgetset> + <widgetset name="none"> + <label name="none_label"> + No Content + </label> + <default_type> + none/none + </default_type> + <icon> + icn_media_web.tga + </icon> + <tooltip name="none_tooltip"> + No media here + </tooltip> + <playtip name="none_playtip" /> + <allow_resize> + false + </allow_resize> + <allow_looping> + false + </allow_looping> + </widgetset> <scheme name="rtsp"> <label name="rtsp_label"> Real Time Streaming -- cgit v1.2.3 From ca967ce0a2e8fe6831c7e3496b786b07c0aef704 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 5 May 2014 11:00:52 +0300 Subject: MAINT-3974 FIXED Update and save favorites order when LLItemCopiedCallback is triggered. --- indra/newview/llfavoritesbar.cpp | 11 +++++++++++ indra/newview/llfavoritesbar.h | 2 ++ 2 files changed, 13 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index a2d0759587..046f3717c6 100755 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -327,6 +327,7 @@ public: gInventory.updateItem(item); gInventory.notifyObservers(); + LLFavoritesOrderStorage::instance().saveOrder(); } LLView::getWindow()->setCursor(UI_CURSOR_ARROW); @@ -1641,6 +1642,16 @@ void LLFavoritesOrderStorage::cleanup() mSortIndexes.swap(aTempMap); } +void LLFavoritesOrderStorage::saveOrder() +{ + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLIsType is_type(LLAssetType::AT_LANDMARK); + LLUUID favorites_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE); + gInventory.collectDescendentsIf(favorites_id, cats, items, LLInventoryModel::EXCLUDE_TRASH, is_type); + saveItemsOrder(items); +} + void LLFavoritesOrderStorage::saveItemsOrder( const LLInventoryModel::item_array_t& items ) { int sortField = 0; diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 211d3c4ce3..5ca1d3e8ed 100755 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -203,6 +203,8 @@ public: // Is used to save order for Favorites folder. void saveItemsOrder(const LLInventoryModel::item_array_t& items); + void saveOrder(); + void rearrangeFavoriteLandmarks(const LLUUID& source_item_id, const LLUUID& target_item_id); /** -- cgit v1.2.3 From 849ce1e30c080d71e4af8dc8f24720274a126f4c Mon Sep 17 00:00:00 2001 From: maxim_productengine <mnikolenko@productengine.com> Date: Tue, 6 May 2014 11:28:13 +0300 Subject: MAINT-423 FIXED Unminimize session floater and select this session when sharing initiated. --- indra/newview/llavataractions.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 54b9336d93..0d22c15b4f 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -525,6 +525,14 @@ void LLAvatarActions::share(const LLUUID& id) { // we should always get here, but check to verify anyways LLIMModel::getInstance()->addMessage(session_id, SYSTEM_FROM, LLUUID::null, LLTrans::getString("share_alert"), false); + + LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id); + if (session_floater && session_floater->isMinimized()) + { + session_floater->setMinimized(false); + } + LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); + im_container->selectConversationPair(session_id, true); } } -- cgit v1.2.3 From c8e4f2b10e508507a2c68f2f8eb63baf008a9eba Mon Sep 17 00:00:00 2001 From: MNikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 7 May 2014 11:46:47 +0300 Subject: MAINT-4004 FIXED Check image's dimensions and show notification if it's larger than allowed. --- indra/newview/lllocalbitmaps.cpp | 41 +++++++++++++++++++++- indra/newview/lllocalbitmaps.h | 1 + .../newview/skins/default/xui/en/notifications.xml | 11 +++++- 3 files changed, 51 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index 2d9385390b..941ae06b78 100755 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -60,7 +60,9 @@ #include "llnotificationsutil.h" #include "pipeline.h" #include "llmaterialmgr.h" - +#include "llimagedimensionsinfo.h" +#include "llviewercontrol.h" +#include "lltrans.h" /*=======================================*/ /* Formal declarations, constants, etc. */ /*=======================================*/ @@ -835,6 +837,12 @@ bool LLLocalBitmapMgr::addUnit() std::string filename = picker.getFirstFile(); while(!filename.empty()) { + if(!checkTextureDimensions(filename)) + { + filename = picker.getNextFile(); + continue; + } + LLLocalBitmap* unit = new LLLocalBitmap(filename); if (unit->getValid()) @@ -864,6 +872,37 @@ bool LLLocalBitmapMgr::addUnit() return add_successful; } +bool LLLocalBitmapMgr::checkTextureDimensions(std::string filename) +{ + std::string exten = gDirUtilp->getExtension(filename); + U32 codec = LLImageBase::getCodecFromExtension(exten); + std::string mImageLoadError; + LLImageDimensionsInfo image_info; + if (!image_info.load(filename,codec)) + { + return false; + } + + S32 max_width = gSavedSettings.getS32("max_texture_dimension_X"); + S32 max_height = gSavedSettings.getS32("max_texture_dimension_Y"); + + if ((image_info.getWidth() > max_width) || (image_info.getHeight() > max_height)) + { + LLStringUtil::format_map_t args; + args["WIDTH"] = llformat("%d", max_width); + args["HEIGHT"] = llformat("%d", max_height); + mImageLoadError = LLTrans::getString("texture_load_dimensions_error", args); + + LLSD notif_args; + notif_args["REASON"] = mImageLoadError; + LLNotificationsUtil::add("CannotUploadTexture", notif_args); + + return false; + } + + return true; +} + void LLLocalBitmapMgr::delUnit(LLUUID tracking_id) { if (!sBitmapList.empty()) diff --git a/indra/newview/lllocalbitmaps.h b/indra/newview/lllocalbitmaps.h index 2ee84bf46e..820157000c 100755 --- a/indra/newview/lllocalbitmaps.h +++ b/indra/newview/lllocalbitmaps.h @@ -119,6 +119,7 @@ class LLLocalBitmapMgr public: static bool addUnit(); static void delUnit(LLUUID tracking_id); + static bool checkTextureDimensions(std::string filename); static LLUUID getWorldID(LLUUID tracking_id); static std::string getFilename(LLUUID tracking_id); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 7297ba4fc0..e1194b2025 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7836,7 +7836,16 @@ You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] second ( [EXISTENCE] seconds alive ) You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. </notification> - + + <notification + icon="alertmodal.tga" + name="CannotUploadTexture" + type="alertmodal"> +Unable to upload texture. +[REASON] + <tag>fail</tag> + </notification> + <notification icon="alertmodal.tga" name="LivePreviewUnavailable" -- cgit v1.2.3 From afcfc40b5fd413058fe003636ad760683f0f0bde Mon Sep 17 00:00:00 2001 From: MNikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 7 May 2014 13:58:05 +0300 Subject: MAINT-3940 FIXED Scrollbar not visible after conversation floater is resized --- indra/newview/skins/default/xui/en/floater_im_session.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 7076de55e3..bc72092f5f 100755 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -210,7 +210,7 @@ default_tab_group="3" tab_group="2" name="right_part_holder" - min_width="230"> + min_width="207"> <layout_stack animate="true" default_tab_group="2" -- cgit v1.2.3 From 4e0d3bdd4da2bf376bf482f4430e05ba8a6fa01c Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 6 May 2014 17:21:18 +0300 Subject: MAINT-3977 FIXED Object does not display newly added contents if it was edited that session and you teleported to another region and back and then added new contents. --- indra/newview/llfloatertools.cpp | 3 +++ indra/newview/llpanelcontents.cpp | 7 +++++++ indra/newview/llpanelcontents.h | 1 + indra/newview/llpanelobjectinventory.cpp | 11 ++++++++--- indra/newview/llpanelobjectinventory.h | 1 + 5 files changed, 20 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 802544089c..bbb95e0cc4 100755 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -888,6 +888,9 @@ void LLFloaterTools::onClose(bool app_quitting) // hide the advanced object weights floater LLFloaterReg::hideInstance("object_weights"); + + // prepare content for next call + mPanelContents->clearContents(); } void click_popup_info(void*) diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp index 1a427338e5..5be796ea7a 100755 --- a/indra/newview/llpanelcontents.cpp +++ b/indra/newview/llpanelcontents.cpp @@ -141,6 +141,13 @@ void LLPanelContents::refresh() } } +void LLPanelContents::clearContents() +{ + if (mPanelInventoryObject) + { + mPanelInventoryObject->clearInventoryTask(); + } +} // diff --git a/indra/newview/llpanelcontents.h b/indra/newview/llpanelcontents.h index 62ccb64a4c..cf2c3af2a9 100755 --- a/indra/newview/llpanelcontents.h +++ b/indra/newview/llpanelcontents.h @@ -49,6 +49,7 @@ public: virtual ~LLPanelContents(); void refresh(); + void clearContents(); static void onClickNewScript(void*); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 6c9616511f..95472874ec 100755 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1862,14 +1862,19 @@ void LLPanelObjectInventory::refresh() } if(!has_inventory) { - mTaskUUID = LLUUID::null; - removeVOInventoryListener(); - clearContents(); + clearInventoryTask(); } mInventoryViewModel.setTaskID(mTaskUUID); //llinfos << "LLPanelObjectInventory::refresh() " << mTaskUUID << llendl; } +void LLPanelObjectInventory::clearInventoryTask() +{ + mTaskUUID = LLUUID::null; + removeVOInventoryListener(); + clearContents(); +} + void LLPanelObjectInventory::removeSelectedItem() { if(mFolders) diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h index 9559f7e886..3de49242ac 100755 --- a/indra/newview/llpanelobjectinventory.h +++ b/indra/newview/llpanelobjectinventory.h @@ -62,6 +62,7 @@ public: void refresh(); const LLUUID& getTaskUUID() { return mTaskUUID;} + void clearInventoryTask(); void removeSelectedItem(); void startRenamingSelectedItem(); -- cgit v1.2.3 From 80a134ffcc68b277c10cc79dc9c7ca073148b41e Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 7 May 2014 19:12:41 +0300 Subject: MAINT-3977 fixing line endings in llpanelcontents.cpp --- indra/newview/llpanelcontents.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp index 5be796ea7a..13ab7d7f27 100755 --- a/indra/newview/llpanelcontents.cpp +++ b/indra/newview/llpanelcontents.cpp @@ -141,12 +141,12 @@ void LLPanelContents::refresh() } } -void LLPanelContents::clearContents() -{ - if (mPanelInventoryObject) - { - mPanelInventoryObject->clearInventoryTask(); - } +void LLPanelContents::clearContents() +{ + if (mPanelInventoryObject) + { + mPanelInventoryObject->clearInventoryTask(); + } } -- cgit v1.2.3 From 794523d81d1ae6d83848dc4e2e4076c51bd66598 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Thu, 8 May 2014 19:20:20 +0300 Subject: MAINT-3981 FIXED [SECURITY] Notecard being passed around that crashes any V3 based viewer when opened --- indra/newview/llviewertexteditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 69f9bbdff8..81a1d26e5e 100755 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -179,7 +179,7 @@ public: /*virtual*/ bool getDimensions(S32 first_char, S32 num_chars, S32& width, S32& height) const { - if (num_chars == 0) + if (num_chars == 0 || !mImage) { width = 0; height = 0; -- cgit v1.2.3 From 06f5690100f8cd8aef01383adf0090a17ec4e515 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Fri, 9 May 2014 05:14:02 +0300 Subject: Backed out changeset: d351efc87829 --- indra/newview/llviewertexteditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 81a1d26e5e..69f9bbdff8 100755 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -179,7 +179,7 @@ public: /*virtual*/ bool getDimensions(S32 first_char, S32 num_chars, S32& width, S32& height) const { - if (num_chars == 0 || !mImage) + if (num_chars == 0) { width = 0; height = 0; -- cgit v1.2.3 From bcf4e288731f79f2c61aaa958189083c1d89011d Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Fri, 9 May 2014 05:15:54 +0300 Subject: MAINT-3981 FIXED [SECURITY] Notecard being passed around that crashes any V3 based viewer when opened. Correct fix after testing. --- indra/newview/llviewertexteditor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 69f9bbdff8..0c4f55d704 100755 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -542,8 +542,8 @@ LLUIImagePtr LLEmbeddedItems::getItemImage(llwchar ext_char) const case LLAssetType::AT_BODYPART: img_name = "Inv_Skin"; break; case LLAssetType::AT_ANIMATION: img_name = "Inv_Animation"; break; case LLAssetType::AT_GESTURE: img_name = "Inv_Gesture"; break; - case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break; - default: llassert(0); + case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break; + default: img_name = "Inv_Invalid"; break; // use the Inv_Invalid icon for undefined object types (see MAINT-3981) } return LLUI::getUIImage(img_name); -- cgit v1.2.3 From ccb91c6da4078ce5d977203f297b0197983a543e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 12 May 2014 11:52:39 +0300 Subject: MAINT-3963 FIXED The behavior of speak button in the conversations HUB and toolbar button is consistent now. Use setUserPTTState(false) to switch off the mic. --- indra/newview/llfloaterimcontainer.cpp | 15 ++++++++++++--- indra/newview/llfloaterimcontainer.h | 3 ++- indra/newview/llvoicechannel.cpp | 6 +++--- 3 files changed, 17 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index a0df37b309..a4b91e47bb 100755 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -229,7 +229,9 @@ BOOL LLFloaterIMContainer::postBuild() mStubCollapseBtn = getChild<LLButton>("stub_collapse_btn"); mStubCollapseBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onStubCollapseButtonClicked, this)); mSpeakBtn = getChild<LLButton>("speak_btn"); - mSpeakBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonClicked, this)); + + mSpeakBtn->setMouseDownCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonPressed, this)); + mSpeakBtn->setMouseUpCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonReleased, this)); childSetAction("add_btn", boost::bind(&LLFloaterIMContainer::onAddButtonClicked, this)); @@ -352,11 +354,18 @@ void LLFloaterIMContainer::onStubCollapseButtonClicked() collapseMessagesPane(true); } -void LLFloaterIMContainer::onSpeakButtonClicked() +void LLFloaterIMContainer::onSpeakButtonPressed() +{ + LLVoiceClient::getInstance()->inputUserControlState(true); + updateSpeakBtnState(); +} + +void LLFloaterIMContainer::onSpeakButtonReleased() { - LLAgent::toggleMicrophone("speak"); + LLVoiceClient::getInstance()->inputUserControlState(false); updateSpeakBtnState(); } + void LLFloaterIMContainer::onExpandCollapseButtonClicked() { if (mConversationsPane->isCollapsed() && mMessagesPane->isCollapsed() diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index f6d973b9b3..a3e10dc236 100755 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -135,7 +135,8 @@ private: void onExpandCollapseButtonClicked(); void onStubCollapseButtonClicked(); void processParticipantsStyleUpdate(); - void onSpeakButtonClicked(); + void onSpeakButtonPressed(); + void onSpeakButtonReleased(); /*virtual*/ void onClickCloseBtn(bool app_quitting = false); /*virtual*/ void closeHostedFloater(); diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 312842a70f..48d056b358 100755 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -273,14 +273,14 @@ void LLVoiceChannel::deactivate() if (callStarted()) { setState(STATE_HUNG_UP); - + //Default mic is OFF when leaving voice calls - if (gSavedSettings.getBOOL("AutoDisengageMic") && + if (gSavedSettings.getBOOL("AutoDisengageMic") && sCurrentVoiceChannel == this && LLVoiceClient::getInstance()->getUserPTTState()) { gSavedSettings.setBOOL("PTTCurrentlyEnabled", true); - LLVoiceClient::getInstance()->inputUserControlState(true); + LLVoiceClient::getInstance()->setUserPTTState(false); } } LLVoiceClient::getInstance()->removeObserver(this); -- cgit v1.2.3 From d2efc4ef39b9e1994afa5c3e84a5785969c9e7e8 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 13 May 2014 11:27:06 +0300 Subject: MAINT-4013 FIXED Debug setting which allows leaving Mouselook mode via S or Down Arrow keys was added. By default it's disabled. --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llviewerkeyboard.cpp | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4bbd48facf..c2555efbb5 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -14246,6 +14246,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>LeaveMouselook</key> + <map> + <key>Comment</key> + <string>Exit Mouselook mode via S or Down Arrow keys while sitting </string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> <key>TextureLoggingThreshold</key> <map> <key>Comment</key> diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp index 160478788c..b0f4802e20 100755 --- a/indra/newview/llviewerkeyboard.cpp +++ b/indra/newview/llviewerkeyboard.cpp @@ -162,7 +162,7 @@ void agent_push_backward( EKeystate s ) { camera_move_backward(s); } - else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting()) + else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting() && gSavedSettings.getBOOL("LeaveMouselook")) { gAgentCamera.changeCameraToThirdPerson(); } -- cgit v1.2.3 From 7fb4b417ce2048305eab6f1dbf51276697a94ff1 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 13 May 2014 12:37:26 +0300 Subject: MAINT-3942 FIXED missing entry on statistics floater. --- indra/newview/skins/default/xui/en/floater_stats.xml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index bee570d5d0..c9a6e1c9c3 100755 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -267,7 +267,9 @@ stat="simsimskippedsilhouettesteps" unit_label="/sec"/> <stat_bar name="simsimpctsteppedcharacters" + label="Characters Updated" stat="simsimpctsteppedcharacters" + unit_label="%" decimal_digits="1"/> </stat_view> <stat_bar name="siminpps" -- cgit v1.2.3 From b36458a98fb3aeb63d2aca5e3249c7aa508192c8 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 12 May 2014 20:01:20 +0300 Subject: MAINT-1734 FIXED Avatar chooser panel is empty the session after an avatar is chosen. --- indra/newview/llfloateravatar.cpp | 8 ++++++++ indra/newview/llmediactrl.cpp | 10 ++++++++++ indra/newview/llmediactrl.h | 1 + 3 files changed, 19 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp index bdc5b581a9..31adf5b61e 100755 --- a/indra/newview/llfloateravatar.cpp +++ b/indra/newview/llfloateravatar.cpp @@ -34,6 +34,7 @@ #include "llfloateravatar.h" #include "lluictrlfactory.h" +#include "llmediactrl.h" LLFloaterAvatar::LLFloaterAvatar(const LLSD& key) @@ -43,6 +44,13 @@ LLFloaterAvatar::LLFloaterAvatar(const LLSD& key) LLFloaterAvatar::~LLFloaterAvatar() { + LLMediaCtrl* avatar_picker = findChild<LLMediaCtrl>("avatar_picker_contents"); + if (avatar_picker) + { + avatar_picker->navigateStop(); + avatar_picker->clearCache(); //images are reloading each time already + avatar_picker->unloadMediaSource(); + } } BOOL LLFloaterAvatar::postBuild() diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 323445afa6..5490605c1b 100755 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -502,6 +502,16 @@ void LLMediaCtrl::navigateForward() } } +//////////////////////////////////////////////////////////////////////////////// +// +void LLMediaCtrl::navigateStop() +{ + if (mMediaSource && mMediaSource->hasMedia()) + { + mMediaSource->getMediaPlugin()->browse_stop(); + } +} + //////////////////////////////////////////////////////////////////////////////// // bool LLMediaCtrl::canNavigateBack() diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h index 5978a7a344..086b384a72 100755 --- a/indra/newview/llmediactrl.h +++ b/indra/newview/llmediactrl.h @@ -99,6 +99,7 @@ public: void navigateBack(); void navigateHome(); void navigateForward(); + void navigateStop(); void navigateToLocalPage( const std::string& subdir, const std::string& filename_in ); bool canNavigateBack(); bool canNavigateForward(); -- cgit v1.2.3 From 98ad974a8eb3a9d5074beb80c5ce7c27a52c8fd2 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 14 May 2014 13:22:30 +0300 Subject: MAINT-2873 FIXED Newline is added to the end of XUI tool tip. --- indra/newview/llviewerwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 4fae5c8e8e..5f4ad3081f 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3194,6 +3194,8 @@ void LLViewerWindow::updateUI() } append_xui_tooltip(tooltip_view, params); + params.styled_message.add().text("\n"); + screen_sticky_rect.intersectWith(tooltip_view->calcScreenRect()); params.sticky_rect = screen_sticky_rect; -- cgit v1.2.3 From b392a8b659a3cd219918b29b06000d43767a6c7a Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 15 May 2014 12:10:31 +0300 Subject: MAINT-4022 FIXED Use gSnapshotFloaterView to close snapshot floater, and then pass focus on to normal floater view. --- indra/newview/llviewermenufile.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 04697f3472..9880ebf2db 100755 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -476,8 +476,10 @@ class LLFileEnableCloseWindow : public view_listener_t { bool handleEvent(const LLSD& userdata) { - bool new_value = NULL != gFloaterView->getFrontmostClosableFloater(); - return new_value; + bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater()); + bool frontmost_snapshot_fl_exists = (NULL != gSnapshotFloaterView->getFrontmostClosableFloater()); + + return frontmost_fl_exists || frontmost_snapshot_fl_exists; } }; @@ -485,7 +487,21 @@ class LLFileCloseWindow : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLFloater::closeFrontmostFloater(); + bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater()); + LLFloater* snapshot_floater = gSnapshotFloaterView->getFrontmostClosableFloater(); + + if(snapshot_floater && (!frontmost_fl_exists || snapshot_floater->hasFocus())) + { + snapshot_floater->closeFloater(); + if (gFocusMgr.getKeyboardFocus() == NULL) + { + gFloaterView->focusFrontFloater(); + } + } + else + { + LLFloater::closeFrontmostFloater(); + } return true; } }; -- cgit v1.2.3 From 50a3aa837a1a5a755f49f96bc0d068d382f6d370 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 15 May 2014 16:25:13 +0300 Subject: MAINT-145 FIXED Can not use ctrl+shift+b to close my Grid Option XUI --- indra/newview/skins/default/xui/en/menu_viewer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index ec20c25f14..b1c1b236f0 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1207,7 +1207,7 @@ name="Grid Options" shortcut="control|shift|B"> <menu_item_call.on_click - function="Floater.Show" + function="Floater.Toggle" parameter="build_options" /> <menu_item_call.on_enable function="Tools.EnableToolNotPie" /> -- cgit v1.2.3 From 704246c30f79a45535c43893422d990db141f541 Mon Sep 17 00:00:00 2001 From: Callum Prentice <callum@lindenlab.com> Date: Thu, 15 May 2014 16:26:58 -0700 Subject: MAINT-3440 FIX Viewer freezes and not responding after trying to open 5 new media browsers tabs directed to yahoo.com link --- indra/newview/llfloaterwebcontent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index b8ea022810..640954a15f 100755 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -294,7 +294,7 @@ void LLFloaterWebContent::onOpen(const LLSD& key) void LLFloaterWebContent::onClose(bool app_quitting) { // If we close the web browsing window showing the facebook login, we need to signal to this object that the connection will not happen - LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web"); + LLFloater* fbc_web = LLFloaterReg::findInstance("fbc_web"); if (fbc_web == this) { if (!LLFacebookConnect::instance().isConnected()) -- cgit v1.2.3 From 1c82f376c2368f8f91627b3a45b2d6900d938ff4 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Fri, 16 May 2014 19:58:05 +0300 Subject: MAINT-4032 FIXED Sounds played locally play from avatar position, not camera position. --- indra/newview/llpreviewsound.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp index 11b81a58fc..105c5e8cbe 100755 --- a/indra/newview/llpreviewsound.cpp +++ b/indra/newview/llpreviewsound.cpp @@ -95,7 +95,6 @@ void LLPreviewSound::auditionSound( void *userdata ) if(item && gAudiop) { - LLVector3d lpos_global = gAgent.getPositionGlobal(); - gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX, lpos_global); + gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX); } } -- cgit v1.2.3 From 16a5c9346d04f20c536e9034947873f1202eb32e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 20 May 2014 11:34:24 +0300 Subject: MAINT-3064 FIXED Select next session in the list if selected session is nearby chat and it's not the only one. --- indra/newview/llviewermenu.cpp | 23 ++++++++++++++++++++++ indra/newview/skins/default/xui/en/menu_viewer.xml | 12 ++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 1daa85176a..aef8bc21ec 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -64,6 +64,7 @@ #include "llfloaterinventory.h" #include "llfloaterimcontainer.h" #include "llfloaterland.h" +#include "llfloaterimnearbychat.h" #include "llfloaterpathfindingcharacters.h" #include "llfloaterpathfindinglinksets.h" #include "llfloaterpay.h" @@ -5660,6 +5661,25 @@ void toggle_debug_menus(void*) // gExportDialog = LLUploadDialog::modalUploadDialog("Exporting selected objects..."); // } // + +class LLCommunicateNearbyChat : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLFloaterIMContainer* im_box = LLFloaterIMContainer::getInstance(); + bool nearby_visible = LLFloaterReg::getTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")->isInVisibleChain(); + if(nearby_visible && im_box->getSelectedSession() == LLUUID() && im_box->getConversationListItemSize() > 1) + { + im_box->selectNextorPreviousConversation(false); + } + else + { + LLFloaterReg::toggleInstanceOrBringToFront("nearby_chat"); + } + return true; + } +}; + class LLWorldSetHomeLocation : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -8577,6 +8597,9 @@ void initialize_menus() // Me > Movement view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying"); + //Communicate Nearby chat + view_listener_t::addMenu(new LLCommunicateNearbyChat(), "Communicate.NearbyChat"); + // Communicate > Voice morphing > Subscribe... commit.add("Communicate.VoiceMorphing.Subscribe", boost::bind(&handle_voice_morphing_subscribe)); LLVivoxVoiceClient * voice_clientp = LLVivoxVoiceClient::getInstance(); diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index b1c1b236f0..acec017622 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -259,8 +259,7 @@ function="Floater.Visible" parameter="nearby_chat" /> <menu_item_check.on_click - function="Floater.ToggleOrBringToFront" - parameter="nearby_chat" /> + function="Communicate.NearbyChat"/> </menu_item_check> <menu_item_check label="Speak" @@ -363,13 +362,16 @@ function="SideTray.PanelPeopleTab" parameter="nearby_panel" /> </menu_item_check> - <menu_item_call + <menu_item_check label="Block List" name="Block List"> - <menu_item_call.on_click + <menu_item_check.on_check + function="SideTray.CheckPanelPeopleTab" + parameter="blocked_panel" /> + <menu_item_check.on_click function="SideTray.PanelPeopleTab" parameter="blocked_panel" /> - </menu_item_call> + </menu_item_check> <menu_item_separator/> <menu_item_check name="Do Not Disturb" -- cgit v1.2.3 From d13b0a299e595d76c9db9ff4d625d959f9eb33b2 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 May 2014 14:07:23 -0700 Subject: MAINT-3950 FIXED can't open lag meter brought back llfloaterlagmeter from the dead, and ported to lltrace --- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloaterlagmeter.cpp | 378 +++++++++++++++++++++ indra/newview/llfloaterlagmeter.h | 80 +++++ indra/newview/lltextureview.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 2 + indra/newview/llviewertexture.cpp | 12 +- indra/newview/llviewertexture.h | 2 +- .../skins/default/xui/da/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/de/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/en/floater_lagmeter.xml | 336 ++++++++++++++++++ .../skins/default/xui/es/floater_lagmeter.xml | 154 +++++++++ .../skins/default/xui/fr/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/it/floater_lagmeter.xml | 154 +++++++++ .../skins/default/xui/ja/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/pl/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/pt/floater_lagmeter.xml | 154 +++++++++ .../skins/default/xui/ru/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/tr/floater_lagmeter.xml | 151 ++++++++ .../skins/default/xui/zh/floater_lagmeter.xml | 151 ++++++++ 19 files changed, 2476 insertions(+), 8 deletions(-) create mode 100644 indra/newview/llfloaterlagmeter.cpp create mode 100644 indra/newview/llfloaterlagmeter.h create mode 100644 indra/newview/skins/default/xui/da/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/de/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/en/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/es/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/fr/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/it/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/ja/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/pl/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/pt/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/ru/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/tr/floater_lagmeter.xml create mode 100644 indra/newview/skins/default/xui/zh/floater_lagmeter.xml (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c94969435b..cf584048f9 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -245,6 +245,7 @@ set(viewer_SOURCE_FILES llfloaterinspect.cpp llfloaterinventory.cpp llfloaterjoystick.cpp + llfloaterlagmeter.cpp llfloaterland.cpp llfloaterlandholdings.cpp llfloatermap.cpp @@ -839,6 +840,7 @@ set(viewer_HEADER_FILES llfloaterinspect.h llfloaterinventory.h llfloaterjoystick.h + llfloaterlagmeter.h llfloaterland.h llfloaterlandholdings.h llfloatermap.h diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp new file mode 100644 index 0000000000..f72f2631a1 --- /dev/null +++ b/indra/newview/llfloaterlagmeter.cpp @@ -0,0 +1,378 @@ +/** + * @file llfloaterlagmeter.cpp + * @brief The "Lag-o-Meter" floater used to tell users what is causing lag. + * + * $LicenseInfo:firstyear=2007&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloaterlagmeter.h" + +#include "lluictrlfactory.h" +#include "llviewerstats.h" +#include "llviewertexture.h" +#include "llviewercontrol.h" +#include "llappviewer.h" + +#include "lltexturefetch.h" + +#include "llbutton.h" +#include "llfocusmgr.h" +#include "lltextbox.h" + +const std::string LAG_CRITICAL_IMAGE_NAME = "lag_status_critical.tga"; +const std::string LAG_WARNING_IMAGE_NAME = "lag_status_warning.tga"; +const std::string LAG_GOOD_IMAGE_NAME = "lag_status_good.tga"; + +LLFloaterLagMeter::LLFloaterLagMeter(const LLSD& key) + : LLFloater(key) +{ + mCommitCallbackRegistrar.add("LagMeter.ClickShrink", boost::bind(&LLFloaterLagMeter::onClickShrink, this)); +} + +BOOL LLFloaterLagMeter::postBuild() +{ + // Don't let this window take keyboard focus -- it's confusing to + // lose arrow-key driving when testing lag. + setIsChrome(TRUE); + + // were we shrunk last time? + if (isShrunk()) + { + onClickShrink(); + } + + mClientButton = getChild<LLButton>("client_lagmeter"); + mClientText = getChild<LLTextBox>("client_text"); + mClientCause = getChild<LLTextBox>("client_lag_cause"); + + mNetworkButton = getChild<LLButton>("network_lagmeter"); + mNetworkText = getChild<LLTextBox>("network_text"); + mNetworkCause = getChild<LLTextBox>("network_lag_cause"); + + mServerButton = getChild<LLButton>("server_lagmeter"); + mServerText = getChild<LLTextBox>("server_text"); + mServerCause = getChild<LLTextBox>("server_lag_cause"); + + std::string config_string = getString("client_frame_rate_critical_fps", mStringArgs); + mClientFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() )); + config_string = getString("client_frame_rate_warning_fps", mStringArgs); + mClientFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() )); + + config_string = getString("network_packet_loss_critical_pct", mStringArgs); + mNetworkPacketLossCritical = F32Percent((float)atof( config_string.c_str() )); + config_string = getString("network_packet_loss_warning_pct", mStringArgs); + mNetworkPacketLossWarning = F32Percent((float)atof( config_string.c_str() )); + + config_string = getString("network_ping_critical_ms", mStringArgs); + mNetworkPingCritical = F32Milliseconds((float)atof( config_string.c_str() )); + config_string = getString("network_ping_warning_ms", mStringArgs); + mNetworkPingWarning = F32Milliseconds((float)atof( config_string.c_str() )); + config_string = getString("server_frame_rate_critical_fps", mStringArgs); + + mServerFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() )); + config_string = getString("server_frame_rate_warning_fps", mStringArgs); + mServerFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() )); + config_string = getString("server_single_process_max_time_ms", mStringArgs); + mServerSingleProcessMaxTime = F32Seconds((float)atof( config_string.c_str() )); + +// mShrunk = false; + config_string = getString("max_width_px", mStringArgs); + mMaxWidth = atoi( config_string.c_str() ); + config_string = getString("min_width_px", mStringArgs); + mMinWidth = atoi( config_string.c_str() ); + + mStringArgs["[CLIENT_FRAME_RATE_CRITICAL]"] = getString("client_frame_rate_critical_fps"); + mStringArgs["[CLIENT_FRAME_RATE_WARNING]"] = getString("client_frame_rate_warning_fps"); + + mStringArgs["[NETWORK_PACKET_LOSS_CRITICAL]"] = getString("network_packet_loss_critical_pct"); + mStringArgs["[NETWORK_PACKET_LOSS_WARNING]"] = getString("network_packet_loss_warning_pct"); + + mStringArgs["[NETWORK_PING_CRITICAL]"] = getString("network_ping_critical_ms"); + mStringArgs["[NETWORK_PING_WARNING]"] = getString("network_ping_warning_ms"); + + mStringArgs["[SERVER_FRAME_RATE_CRITICAL]"] = getString("server_frame_rate_critical_fps"); + mStringArgs["[SERVER_FRAME_RATE_WARNING]"] = getString("server_frame_rate_warning_fps"); + +// childSetAction("minimize", onClickShrink, this); + updateControls(isShrunk()); // if expanded append colon to the labels (EXT-4079) + + return TRUE; +} +LLFloaterLagMeter::~LLFloaterLagMeter() +{ + // save shrunk status for next time +// gSavedSettings.setBOOL("LagMeterShrunk", mShrunk); + // expand so we save the large window rectangle + if (isShrunk()) + { + onClickShrink(); + } +} + +void LLFloaterLagMeter::draw() +{ + determineClient(); + determineNetwork(); + determineServer(); + + LLFloater::draw(); +} + +void LLFloaterLagMeter::determineClient() +{ + F32Milliseconds client_frame_time = LLTrace::get_frame_recording().getPeriodMean(LLStatViewer::FRAME_STACKTIME); + bool find_cause = false; + + if (!gFocusMgr.getAppHasFocus()) + { + mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME)); + mClientText->setText( getString("client_frame_time_window_bg_msg", mStringArgs) ); + mClientCause->setText( LLStringUtil::null ); + } + else if(client_frame_time >= mClientFrameTimeCritical) + { + mClientButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME)); + mClientText->setText( getString("client_frame_time_critical_msg", mStringArgs) ); + find_cause = true; + } + else if(client_frame_time >= mClientFrameTimeWarning) + { + mClientButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME)); + mClientText->setText( getString("client_frame_time_warning_msg", mStringArgs) ); + find_cause = true; + } + else + { + mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME)); + mClientText->setText( getString("client_frame_time_normal_msg", mStringArgs) ); + mClientCause->setText( LLStringUtil::null ); + } + + if(find_cause) + { + if(gSavedSettings.getF32("RenderFarClip") > 128) + { + mClientCause->setText( getString("client_draw_distance_cause_msg", mStringArgs) ); + } + else if(LLAppViewer::instance()->getTextureFetch()->getNumRequests() > 2) + { + mClientCause->setText( getString("client_texture_loading_cause_msg", mStringArgs) ); + } + else if(LLViewerTexture::sBoundTextureMemory > LLViewerTexture::sMaxBoundTextureMemory) + { + mClientCause->setText( getString("client_texture_memory_cause_msg", mStringArgs) ); + } + else + { + mClientCause->setText( getString("client_complex_objects_cause_msg", mStringArgs) ); + } + } +} + +void LLFloaterLagMeter::determineNetwork() +{ + LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording(); + F32Percent packet_loss = frame_recording.getPeriodMean(LLStatViewer::PACKETS_LOST_PERCENT); + F32Milliseconds ping_time = frame_recording.getPeriodMean(LLStatViewer::SIM_PING); + bool find_cause_loss = false; + bool find_cause_ping = false; + + // *FIXME: We can't blame a large ping time on anything in + // particular if the frame rate is low, because a low frame + // rate is a sure recipe for bad ping times right now until + // the network handlers are de-synched from the rendering. + F32Milliseconds client_frame_time = frame_recording.getPeriodMean(LLStatViewer::FRAME_STACKTIME); + + if(packet_loss >= mNetworkPacketLossCritical) + { + mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME)); + mNetworkText->setText( getString("network_packet_loss_critical_msg", mStringArgs) ); + find_cause_loss = true; + } + else if(ping_time >= mNetworkPingCritical) + { + mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME)); + if (client_frame_time < mNetworkPingCritical) + { + mNetworkText->setText( getString("network_ping_critical_msg", mStringArgs) ); + find_cause_ping = true; + } + } + else if(packet_loss >= mNetworkPacketLossWarning) + { + mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME)); + mNetworkText->setText( getString("network_packet_loss_warning_msg", mStringArgs) ); + find_cause_loss = true; + } + else if(ping_time >= mNetworkPingWarning) + { + mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME)); + if (client_frame_time < mNetworkPingWarning) + { + mNetworkText->setText( getString("network_ping_warning_msg", mStringArgs) ); + find_cause_ping = true; + } + } + else + { + mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME)); + mNetworkText->setText( getString("network_performance_normal_msg", mStringArgs) ); + } + + if(find_cause_loss) + { + mNetworkCause->setText( getString("network_packet_loss_cause_msg", mStringArgs) ); + } + else if(find_cause_ping) + { + mNetworkCause->setText( getString("network_ping_cause_msg", mStringArgs) ); + } + else + { + mNetworkCause->setText( LLStringUtil::null ); + } +} + +void LLFloaterLagMeter::determineServer() +{ + F32Milliseconds sim_frame_time = LLTrace::get_frame_recording().getLastRecording().getLastValue(LLStatViewer::SIM_FRAME_TIME); + bool find_cause = false; + + if(sim_frame_time >= mServerFrameTimeCritical) + { + mServerButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME)); + mServerText->setText( getString("server_frame_time_critical_msg", mStringArgs) ); + find_cause = true; + } + else if(sim_frame_time >= mServerFrameTimeWarning) + { + mServerButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME)); + mServerText->setText( getString("server_frame_time_warning_msg", mStringArgs) ); + find_cause = true; + } + else + { + mServerButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME)); + mServerText->setText( getString("server_frame_time_normal_msg", mStringArgs) ); + mServerCause->setText( LLStringUtil::null ); + } + + if(find_cause) + { + LLTrace::Recording& last_recording = LLTrace::get_frame_recording().getLastRecording(); + + if(last_recording.getLastValue(LLStatViewer::SIM_PHYSICS_TIME) > mServerSingleProcessMaxTime) + { + mServerCause->setText( getString("server_physics_cause_msg", mStringArgs) ); + } + else if(last_recording.getLastValue(LLStatViewer::SIM_SCRIPTS_TIME) > mServerSingleProcessMaxTime) + { + mServerCause->setText( getString("server_scripts_cause_msg", mStringArgs) ); + } + else if(last_recording.getLastValue(LLStatViewer::SIM_NET_TIME) > mServerSingleProcessMaxTime) + { + mServerCause->setText( getString("server_net_cause_msg", mStringArgs) ); + } + else if(last_recording.getLastValue(LLStatViewer::SIM_AGENTS_TIME) > mServerSingleProcessMaxTime) + { + mServerCause->setText( getString("server_agent_cause_msg", mStringArgs) ); + } + else if(last_recording.getLastValue(LLStatViewer::SIM_IMAGES_TIME) > mServerSingleProcessMaxTime) + { + mServerCause->setText( getString("server_images_cause_msg", mStringArgs) ); + } + else + { + mServerCause->setText( getString("server_generic_cause_msg", mStringArgs) ); + } + } +} + +void LLFloaterLagMeter::updateControls(bool shrink) +{ +// LLFloaterLagMeter * self = (LLFloaterLagMeter*)data; + + LLButton * button = getChild<LLButton>("minimize"); + S32 delta_width = mMaxWidth -mMinWidth; + LLRect r = getRect(); + + if(!shrink) + { + setTitle(getString("max_title_msg", mStringArgs) ); + // make left edge appear to expand + r.translate(-delta_width, 0); + setRect(r); + reshape(mMaxWidth, getRect().getHeight()); + + getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) + ":"); + getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) + ":"); + getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) + ":"); + + // usually "<<" + button->setLabel( getString("smaller_label", mStringArgs) ); + } + else + { + setTitle( getString("min_title_msg", mStringArgs) ); + // make left edge appear to collapse + r.translate(delta_width, 0); + setRect(r); + reshape(mMinWidth, getRect().getHeight()); + + getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) ); + getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) ); + getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) ); + + // usually ">>" + button->setLabel( getString("bigger_label", mStringArgs) ); + } + // Don't put keyboard focus on the button + button->setFocus(FALSE); + +// self->mClientText->setVisible(self->mShrunk); +// self->mClientCause->setVisible(self->mShrunk); +// self->getChildView("client_help")->setVisible( self->mShrunk); + +// self->mNetworkText->setVisible(self->mShrunk); +// self->mNetworkCause->setVisible(self->mShrunk); +// self->getChildView("network_help")->setVisible( self->mShrunk); + +// self->mServerText->setVisible(self->mShrunk); +// self->mServerCause->setVisible(self->mShrunk); +// self->getChildView("server_help")->setVisible( self->mShrunk); + +// self->mShrunk = !self->mShrunk; +} + +BOOL LLFloaterLagMeter::isShrunk() +{ + return gSavedSettings.getBOOL("LagMeterShrunk"); +} + +void LLFloaterLagMeter::onClickShrink() // toggle "LagMeterShrunk" +{ + bool shrunk = isShrunk(); + updateControls(!shrunk); + gSavedSettings.setBOOL("LagMeterShrunk", !shrunk); +} diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h new file mode 100644 index 0000000000..929ea40629 --- /dev/null +++ b/indra/newview/llfloaterlagmeter.h @@ -0,0 +1,80 @@ +/** + * @file llfloaterlagmeter.h + * @brief The "Lag-o-Meter" floater used to tell users what is causing lag. + * + * $LicenseInfo:firstyear=2007&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LLFLOATERLAGMETER_H +#define LLFLOATERLAGMETER_H + +#include "llfloater.h" + +class LLTextBox; + +class LLFloaterLagMeter : public LLFloater +{ + friend class LLFloaterReg; + +public: + /*virtual*/ void draw(); + /*virtual*/ BOOL postBuild(); +private: + + LLFloaterLagMeter(const LLSD& key); + /*virtual*/ ~LLFloaterLagMeter(); + void determineClient(); + void determineNetwork(); + void determineServer(); + void updateControls(bool shrink); + BOOL isShrunk(); + + void onClickShrink(); + + bool mShrunk; + S32 mMaxWidth, mMinWidth; + + F32Milliseconds mClientFrameTimeCritical; + F32Milliseconds mClientFrameTimeWarning; + LLButton* mClientButton; + LLTextBox* mClientText; + LLTextBox* mClientCause; + + F32Percent mNetworkPacketLossCritical; + F32Percent mNetworkPacketLossWarning; + F32Milliseconds mNetworkPingCritical; + F32Milliseconds mNetworkPingWarning; + LLButton* mNetworkButton; + LLTextBox* mNetworkText; + LLTextBox* mNetworkCause; + + F32Milliseconds mServerFrameTimeCritical; + F32Milliseconds mServerFrameTimeWarning; + F32Milliseconds mServerSingleProcessMaxTime; + LLButton* mServerButton; + LLTextBox* mServerText; + LLTextBox* mServerCause; + + LLStringUtil::format_map_t mStringArgs; +}; + +#endif diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index 8ee83b5df0..d464b57b4a 100755 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -509,7 +509,7 @@ private: void LLGLTexMemBar::draw() { S32Megabytes bound_mem = LLViewerTexture::sBoundTextureMemory; - S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMem; + S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMemory; S32Megabytes total_mem = LLViewerTexture::sTotalTextureMemory; S32Megabytes max_total_mem = LLViewerTexture::sMaxTotalTextureMem; F32 discard_bias = LLViewerTexture::sDesiredDiscardBias; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index e427bb1735..55aeed68cc 100755 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -73,6 +73,7 @@ #include "llfloaterinspect.h" #include "llfloaterinventory.h" #include "llfloaterjoystick.h" +#include "llfloaterlagmeter.h" #include "llfloaterland.h" #include "llfloaterlandholdings.h" #include "llfloatermap.h" @@ -233,6 +234,7 @@ void LLViewerFloaterReg::registerFloaters() LLNotificationsUI::registerFloater(); LLFloaterDisplayNameUtil::registerFloater(); + LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>); LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>); LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 3be82a5531..b83697b2f1 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -88,7 +88,7 @@ F32 LLViewerTexture::sDesiredDiscardBias = 0.f; F32 LLViewerTexture::sDesiredDiscardScale = 1.1f; S32Bytes LLViewerTexture::sBoundTextureMemory; S32Bytes LLViewerTexture::sTotalTextureMemory; -S32Megabytes LLViewerTexture::sMaxBoundTextureMem; +S32Megabytes LLViewerTexture::sMaxBoundTextureMemory; S32Megabytes LLViewerTexture::sMaxTotalTextureMem; S32Bytes LLViewerTexture::sMaxDesiredTextureMem; S8 LLViewerTexture::sCameraMovingDiscardBias = 0; @@ -534,11 +534,11 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity sBoundTextureMemory = LLImageGL::sBoundTextureMemory; sTotalTextureMemory = LLImageGL::sGlobalTextureMemory; - sMaxBoundTextureMem = gTextureList.getMaxResidentTexMem(); + sMaxBoundTextureMemory = gTextureList.getMaxResidentTexMem(); sMaxTotalTextureMem = gTextureList.getMaxTotalTextureMem(); sMaxDesiredTextureMem = sMaxTotalTextureMem; //in Bytes, by default and when total used texture memory is small. - if (sBoundTextureMemory >= sMaxBoundTextureMem || + if (sBoundTextureMemory >= sMaxBoundTextureMemory || sTotalTextureMemory >= sMaxTotalTextureMem) { //when texture memory overflows, lower down the threshold to release the textures more aggressively. @@ -558,7 +558,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity sEvaluationTimer.reset(); } else if (sDesiredDiscardBias > 0.0f && - sBoundTextureMemory < sMaxBoundTextureMem * texmem_lower_bound_scale && + sBoundTextureMemory < sMaxBoundTextureMemory * texmem_lower_bound_scale && sTotalTextureMemory < sMaxTotalTextureMem * texmem_lower_bound_scale) { // If we are using less texture memory than we should, @@ -576,7 +576,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity sCameraMovingBias = llmax(0.2f * camera_moving_speed, 2.0f * camera_angular_speed - 1); sCameraMovingDiscardBias = (S8)(sCameraMovingBias); - LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMem * texmem_middle_bound_scale) && + LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMemory * texmem_middle_bound_scale) && (sTotalTextureMemory < 0.75f * sMaxTotalTextureMem * texmem_middle_bound_scale); } @@ -2962,7 +2962,7 @@ void LLViewerLODTexture::processTextureStats() scaleDown(); } // Limit the amount of GL memory bound each frame - else if ( sBoundTextureMemory > sMaxBoundTextureMem * texmem_middle_bound_scale && + else if ( sBoundTextureMemory > sMaxBoundTextureMemory * texmem_middle_bound_scale && (!getBoundRecently() || mDesiredDiscardLevel >= mCachedRawDiscardLevel)) { scaleDown(); diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index b12b988513..302cc8302a 100755 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -207,7 +207,7 @@ public: static F32 sDesiredDiscardScale; static S32Bytes sBoundTextureMemory; static S32Bytes sTotalTextureMemory; - static S32Megabytes sMaxBoundTextureMem; + static S32Megabytes sMaxBoundTextureMemory; static S32Megabytes sMaxTotalTextureMem; static S32Bytes sMaxDesiredTextureMem ; static S8 sCameraMovingDiscardBias; diff --git a/indra/newview/skins/default/xui/da/floater_lagmeter.xml b/indra/newview/skins/default/xui/da/floater_lagmeter.xml new file mode 100644 index 0000000000..149d174c34 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="LAG METER"> + <floater.string name="max_title_msg"> + Lag måler + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Klient + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, vindue i baggrund + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Klients billeder/sek under [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Klients billeder/sek mellem [CLIENT_FRAME_RATE_CRITICAL] og [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Mulig årsag: 'Vis afstand' sat for højt i grafik indstillinger + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Mulig årsag: Billeder hentes + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Mulig årsag: For mange billeder i hukommelse + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Mulig årsag: For mange komplekse objekter i scenariet + </floater.string> + <floater.string name="network_text_msg"> + Netværk + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Forbindelsen mister over [NETWORK_PACKET_LOSS_CRITICAL]% pakker + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Forbindelsen mister [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% pakker + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Forbindelsens ping tider er over [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Forbindelsens ping tider er [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Muligvis dårlig forbindelse eller 'båndbredde' sat for højt i netværksopsætning. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Muligvis dårlig forbindelse eller fil delings program. + </floater.string> + <floater.string name="server_text_msg"> + Server + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Simulator framerate er under [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Simulator framerate er mellem [SERVER_FRAME_RATE_CRITICAL] og [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Mulig årsag: For mange fysiske objekter + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Mulig årsag: For mange objekter med script + </floater.string> + <floater.string name="server_net_cause_msg"> + Mulig årsag: For meget netværks trafik + </floater.string> + <floater.string name="server_agent_cause_msg"> + Mulig årsag: For mange avatarer i bevægelse i regionen + </floater.string> + <floater.string name="server_images_cause_msg"> + Mulig årsag: For mange billed udregninger + </floater.string> + <floater.string name="server_generic_cause_msg"> + Mulig årsag: Simulator belastning for stor + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button label="" label_selected="" name="client_lagmeter" tool_tip="Status for klient lag"/> + <text name="client"> + Klient + </text> + <text name="client_text"> + Normal + </text> + <button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/> + <text name="network"> + Netværk + </text> + <text name="network_text"> + Normal + </text> + <button label="" label_selected="" name="server_lagmeter" tool_tip="Status for server lag"/> + <text name="server"> + Server + </text> + <text name="server_text"> + Normal + </text> + <button label=">>" name="minimize" tool_tip="Ændre størrelse"/> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_lagmeter.xml b/indra/newview/skins/default/xui/de/floater_lagmeter.xml new file mode 100644 index 0000000000..45ff37c147 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="LAG METER"> + <floater.string name="max_title_msg"> + Lag-Anzeige + </floater.string> + <floater.string name="max_width_px"> + 350 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Client + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, Fenster im Hintergrund + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Client-Frame-Rate unter [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Client-Frame-Rate zwischen [CLIENT_FRAME_RATE_CRITICAL] und [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Mögliche Ursache: Sichtweite zu groß + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Mögliche Ursache: Bilder werden geladen + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Mögliche Ursache: Zu viele Bilder im Speicher + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Mögliche Ursache: Zu viele komplexe Objekte in der Szene + </floater.string> + <floater.string name="network_text_msg"> + Netzwerk + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Paketverlust der Verbindung übersteigt [NETWORK_PACKET_LOSS_CRITICAL]% + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Paketverlust der Verbindung liegt bei [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Ping-Zeit der Verbindung übersteigt [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Ping-Zeit der Verbindung liegt bei [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Möglicherweise schlechte Verbindung oder zu hoher Wert für „Bandbreite“. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Möglicherweise schlechte Verbindung oder File-Sharing-Anwendung. + </floater.string> + <floater.string name="server_text_msg"> + Server + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Simulator-Frame-Rate liegt unter [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Simulator-Frame-Rate liegt zwischen [SERVER_FRAME_RATE_CRITICAL] und [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Mögliche Ursache: Zu viele physische Objekte + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Mögliche Ursache: Zu viele geskriptete Objekte + </floater.string> + <floater.string name="server_net_cause_msg"> + Mögliche Ursache: Zu viel Netzwerktraffic + </floater.string> + <floater.string name="server_agent_cause_msg"> + Mögliche Ursache: Zu viele Personen in Bewegung in der Region + </floater.string> + <floater.string name="server_images_cause_msg"> + Mögliche Ursache: Zu viele Bildberechnungen + </floater.string> + <floater.string name="server_generic_cause_msg"> + Mögliche Ursache: Zu hohe Simulator-Last + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="Client-Lag-Status"/> + <text name="client"> + Client + </text> + <text name="client_text"> + Normal + </text> + <button name="network_lagmeter" tool_tip="Netzwerk-Lag-Status"/> + <text name="network"> + Netzwerk + </text> + <text name="network_text"> + Normal + </text> + <button name="server_lagmeter" tool_tip="Server-Lag-Status"/> + <text name="server"> + Server + </text> + <text name="server_text"> + Normal + </text> + <button label=">> " name="minimize" tool_tip="Fenstergröße ändern"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml new file mode 100644 index 0000000000..b24c745bdd --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + height="170" + layout="topleft" + name="floater_lagmeter" + help_topic="floater_lagmeter" + save_rect="true" + title="LAG METER" + width="350"> + <floater.string + name="max_title_msg"> + Lag Meter + </floater.string> + <floater.string + name="max_width_px"> + 360 + </floater.string> + <floater.string + name="min_title_msg"> + Lag + </floater.string> + <floater.string + name="min_width_px"> + 90 + </floater.string> + <floater.string + name="client_text_msg"> + Client + </floater.string> + <floater.string + name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string + name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string + name="client_frame_time_window_bg_msg"> + Normal, window in background + </floater.string> + <floater.string + name="client_frame_time_critical_msg"> + Client frame rate below [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string + name="client_frame_time_warning_msg"> + Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string + name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string + name="client_draw_distance_cause_msg"> + Possible cause: Draw distance set too high + </floater.string> + <floater.string + name="client_texture_loading_cause_msg"> + Possible cause: Images loading + </floater.string> + <floater.string + name="client_texture_memory_cause_msg"> + Possible cause: Too many images in memory + </floater.string> + <floater.string + name="client_complex_objects_cause_msg"> + Possible cause: Too many complex objects in scene + </floater.string> + <floater.string + name="network_text_msg"> + Network + </floater.string> + <floater.string + name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string + name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string + name="network_packet_loss_critical_msg"> + Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets + </floater.string> + <floater.string + name="network_packet_loss_warning_msg"> + Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets + </floater.string> + <floater.string + name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string + name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string + name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string + name="network_ping_critical_msg"> + Connection ping time is over [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string + name="network_ping_warning_msg"> + Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string + name="network_packet_loss_cause_msg"> + Possible bad connection or 'Bandwidth' pref too high. + </floater.string> + <floater.string + name="network_ping_cause_msg"> + Possible bad connection or file-sharing app. + </floater.string> + <floater.string + name="server_text_msg"> + Server + </floater.string> + <floater.string + name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string + name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string + name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string + name="server_frame_time_critical_msg"> + Simulator framerate below [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string + name="server_frame_time_warning_msg"> + Simulator framerate between [SERVER_FRAME_RATE_CRITICAL] and [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string + name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string + name="server_physics_cause_msg"> + Possible Cause: Too many physical objects + </floater.string> + <floater.string + name="server_scripts_cause_msg"> + Possible Cause: Too many scripted objects + </floater.string> + <floater.string + name="server_net_cause_msg"> + Possible Cause: Too much network traffic + </floater.string> + <floater.string + name="server_agent_cause_msg"> + Possible Cause: Too many moving people in region + </floater.string> + <floater.string + name="server_images_cause_msg"> + Possible Cause: Too many image calculations + </floater.string> + <floater.string + name="server_generic_cause_msg"> + Possible Cause: Simulator load too heavy + </floater.string> + <floater.string + name="smaller_label"> + >> + </floater.string> + <floater.string + name="bigger_label"> + << + </floater.string> + <button + follows="top|left" + height="16" + image_selected="lag_status_good.tga" + image_unselected="lag_status_good.tga" + layout="topleft" + left="8" + name="client_lagmeter" + tab_stop="false" + tool_tip="Client lag status" + top="24" + width="16" /> + <text + type="string" + length="1" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left_pad="3" + name="client" + top_delta="0" + width="128"> + Client + </text> + <text + invisiblity_control="LagMeterShrunk" + type="string" + length="1" + bottom="40" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left="110" + name="client_text" + right="-10"> + Normal + </text> + <text + invisiblity_control="LagMeterShrunk" + bottom="56" + follows="left|top" + height="16" + layout="topleft" + left="40" + name="client_lag_cause" + right="-32" /> + <button + follows="top|left" + height="16" + image_selected="lag_status_good.tga" + image_unselected="lag_status_good.tga" + layout="topleft" + left="8" + name="network_lagmeter" + tab_stop="false" + tool_tip="Network lag status" + top="64" + width="16" /> + <text + type="string" + length="1" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left_pad="3" + name="network" + top_delta="0" + width="128"> + Network + </text> + <text + invisiblity_control="LagMeterShrunk" + type="string" + length="1" + bottom="80" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left="110" + name="network_text" + right="-10"> + Normal + </text> + <text + invisiblity_control="LagMeterShrunk" + bottom="96" + follows="left|top" + height="16" + layout="topleft" + left="40" + name="network_lag_cause" + right="-32" /> + <button + follows="top|left" + height="16" + image_selected="lag_status_good.tga" + image_unselected="lag_status_good.tga" + layout="topleft" + left="8" + name="server_lagmeter" + tab_stop="false" + tool_tip="Server lag status" + top="104" + width="16" /> + <text + type="string" + length="1" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left_pad="3" + name="server" + top_delta="0" + width="60"> + Server + </text> + <text + invisiblity_control="LagMeterShrunk" + type="string" + length="1" + bottom="120" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left="110" + name="server_text" + right="-10"> + Normal + </text> + <text + invisiblity_control="LagMeterShrunk" + bottom="136" + follows="left|top" + height="16" + layout="topleft" + left="40" + name="server_lag_cause" + right="-32" /> + <button + follows="left|top" + height="20" + label=">>" + layout="topleft" + left="10" + name="minimize" + tool_tip="Toggle floater size" + top_delta="24" + width="40"> + <button.commit_callback + function="LagMeter.ClickShrink" /> + </button> +</floater> diff --git a/indra/newview/skins/default/xui/es/floater_lagmeter.xml b/indra/newview/skins/default/xui/es/floater_lagmeter.xml new file mode 100644 index 0000000000..227689a194 --- /dev/null +++ b/indra/newview/skins/default/xui/es/floater_lagmeter.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="MEDIDOR DEL LAG"> + <floater.string name="max_title_msg"> + Medidor del lag + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Cliente + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, ventana en segundo plano + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Frames del cliente valorados por debajo de [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Frames del cliente valorados entre [CLIENT_FRAME_RATE_CRITICAL] y [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Posible causa: distancia de dibujo fijada muy alta + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Posible causa: imágenes cargándose + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Posible causa: demasiadas imágenes en la memoria + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Posible causa: demasiados objetos complejos en la escena + </floater.string> + <floater.string name="network_text_msg"> + Red + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + La conexión deja caer más del [NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + La conexión deja caer [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + El tiempo de conexión -ping- supera los [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + El tiempo de conexión -ping- es de [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Quizá una mala conexión o un ancho de banda fijado demasiado alto. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Quizá una mala conexión o una aplicación de archivos compartidos. + </floater.string> + <floater.string name="server_text_msg"> + Servidor + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Frecuencia (framerate) por debajo de [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Frecuencia (framerate) entre [SERVER_FRAME_RATE_CRITICAL] y [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Posible causa: demasiados objetos físicos + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Posible causa: demasiados objetos con script + </floater.string> + <floater.string name="server_net_cause_msg"> + Posible causa: demasiado tráfico en la red + </floater.string> + <floater.string name="server_agent_cause_msg"> + Posible causa: demasiada gente moviéndose en la región + </floater.string> + <floater.string name="server_images_cause_msg"> + Posible causa: demasiados cálculos de imáganes + </floater.string> + <floater.string name="server_generic_cause_msg"> + Posible causa: carga del simulador muy pesada + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button label="" label_selected="" name="client_lagmeter" tool_tip="Estado del lag del cliente"/> + <text name="client"> + Cliente + </text> + <text font="SansSerifSmall" name="client_text"> + Normal + </text> + <text left="30" name="client_lag_cause" right="-10"/> + <button label="" label_selected="" name="network_lagmeter" tool_tip="Estado del lag de la red"/> + <text name="network"> + Red + </text> + <text font="SansSerifSmall" name="network_text"> + Normal + </text> + <text left="30" name="network_lag_cause" right="-10"/> + <button label="" label_selected="" name="server_lagmeter" tool_tip="Estado del lag del servidor"/> + <text name="server"> + Servidor + </text> + <text font="SansSerifSmall" name="server_text"> + Normal + </text> + <text left="30" name="server_lag_cause" right="-32"/> + <button label=">>" name="minimize" tool_tip="Cambia el tamaño de la ventana"/> +</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml new file mode 100644 index 0000000000..39a861d8bd --- /dev/null +++ b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="MESURE DU LAG"> + <floater.string name="max_title_msg"> + Mesure du lag + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Client + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, fenêtre en arrière-plan + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Taux de défilement [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Taux de défilement entre [CLIENT_FRAME_RATE_CRITICAL] et [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Cause possible : limite d'affichage trop élevée + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Cause possible : images en cours de chargement + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Cause possible : trop d'images en mémoire + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Cause possible : trop d'objets complexes + </floater.string> + <floater.string name="network_text_msg"> + Réseau + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + La connexion perd plus de [NETWORK_PACKET_LOSS_CRITICAL] % de paquets + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + La connexion perd entre [NETWORK_PACKET_LOSS_WARNING] % et [NETWORK_PACKET_LOSS_CRITICAL] % de paquets + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Connexion ping > [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Connexion ping entre [NETWORK_PING_WARNING] et [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Mauvaise connexion possible ou réglage de la bande passante trop élevé. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Mauvaise connexion possible ou app. de partage des fichiers + </floater.string> + <floater.string name="server_text_msg"> + Serveur + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Défilement du simulateur < [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Défilement simulateur entre [SERVER_FRAME_RATE_CRITICAL] et [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Cause possible : trop d'objets physiques + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Cause possible : trop d'objets scriptés + </floater.string> + <floater.string name="server_net_cause_msg"> + Cause possible : trop de trafic réseau + </floater.string> + <floater.string name="server_agent_cause_msg"> + Cause possible : trop de personnes en mouvement + </floater.string> + <floater.string name="server_images_cause_msg"> + Cause possible : trop de calculs d'images + </floater.string> + <floater.string name="server_generic_cause_msg"> + Cause possible : charge simulateur trop lourde + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="Statut du lag client"/> + <text name="client"> + Client + </text> + <text name="client_text"> + Normal + </text> + <button name="network_lagmeter" tool_tip="Statut du lag réseau"/> + <text name="network"> + Réseau + </text> + <text name="network_text"> + Normal + </text> + <button name="server_lagmeter" tool_tip="Statut du lag serveur"/> + <text name="server"> + Serveur + </text> + <text name="server_text"> + Normal + </text> + <button label=">>" name="minimize" tool_tip="Activer/désactiver la taille du floater"/> +</floater> diff --git a/indra/newview/skins/default/xui/it/floater_lagmeter.xml b/indra/newview/skins/default/xui/it/floater_lagmeter.xml new file mode 100644 index 0000000000..f7b2b1ab4a --- /dev/null +++ b/indra/newview/skins/default/xui/it/floater_lagmeter.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="MISURATORE LAG"> + <floater.string name="max_title_msg"> + Misuratore del lag + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Programma in locale + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normale, finestra sullo sfondo + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Velocità dei frame al di sotto di [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Velocità dei frame tra [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normale + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Possibile causa: Campo visivo impostato troppo alto + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Possibile causa: Caricamento immagini + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Possibile causa: Troppe immagini in memoria + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Possibile causa: Troppi oggetti complessi intorno + </floater.string> + <floater.string name="network_text_msg"> + Network + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + La connessione sta calando al di sotto del [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + La connessione sta calando tra il [NETWORK_PACKET_LOSS_WARNING]% e il [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normale + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Il tempo di ping della connessione è al di sopra di [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Il tempo di ping della connessione è tra [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Possibile cattiva connessione o la larghezza di banda impostata nelle preferenze troppo alta. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Possibile cattiva connessione o l'apertura di un programma di scambio files. + </floater.string> + <floater.string name="server_text_msg"> + Server + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Velocità dei frame al di sotto di [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Velocità dei frame tra [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normale + </floater.string> + <floater.string name="server_physics_cause_msg"> + Possibile causa: troppi oggetti fisici + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Possibile causa: troppi oggetti scriptati + </floater.string> + <floater.string name="server_net_cause_msg"> + Possibile causa: eccessivo traffico sulla rete + </floater.string> + <floater.string name="server_agent_cause_msg"> + Possibile causa: troppi residenti in movimento nella regione + </floater.string> + <floater.string name="server_images_cause_msg"> + Possibile causa: troppe elaborazioni di immagini + </floater.string> + <floater.string name="server_generic_cause_msg"> + Possibile causa: carico eccessivo del simulatore + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button label="" label_selected="" name="client_lagmeter" tool_tip="Stato del lag del programma in locale"/> + <text name="client"> + Client + </text> + <text font="SansSerifSmall" left="145" name="client_text"> + Normale + </text> + <text left="30" name="client_lag_cause" right="-10"/> + <button label="" label_selected="" name="network_lagmeter" tool_tip="Stato del lag del network"/> + <text name="network"> + Rete + </text> + <text font="SansSerifSmall" name="network_text"> + Normale + </text> + <text left="30" name="network_lag_cause" right="-10"/> + <button label="" label_selected="" name="server_lagmeter" tool_tip="Stato del lag del server"/> + <text name="server"> + Server + </text> + <text font="SansSerifSmall" name="server_text"> + Normale + </text> + <text left="30" name="server_lag_cause" right="-32"/> + <button label=">>" name="minimize" tool_tip="Cambia dimensioni floater"/> +</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_lagmeter.xml b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml new file mode 100644 index 0000000000..e3546cd837 --- /dev/null +++ b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="ラグメーター"> + <floater.string name="max_title_msg"> + ラグ メーター + </floater.string> + <floater.string name="max_width_px"> + 350 + </floater.string> + <floater.string name="min_title_msg"> + ラグ + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + クライアント + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + ノーマル、ウィンドウは背景に + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + クライアント フレームレート < [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + クライアント フレームレート: [CLIENT_FRAME_RATE_CRITICAL] ~ [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + ノーマル + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + 考えられる原因: 描画距離の設定が大きすぎる + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + 考えられる原因: 画像のロード中 + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + 考えられる原因: メモリ内の画像数が多すぎる + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + 考えられる原因: 画面に含まれる複雑なオブジェクトが多すぎる + </floater.string> + <floater.string name="network_text_msg"> + ネットワーク + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + 接続でドロップされるパケットの割合: > [NETWORK_PACKET_LOSS_CRITICAL] + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + 接続でドロップされるパケットの割合:[NETWORK_PACKET_LOSS_WARNING] ~ [NETWORK_PACKET_LOSS_CRITICAL] + </floater.string> + <floater.string name="network_performance_normal_msg"> + ノーマル + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + 接続の ping 時間: > [NETWORK_PING_CRITICAL] ミリ秒 + </floater.string> + <floater.string name="network_ping_warning_msg"> + 接続の ping 時間: [NETWORK_PING_WARNING] ~ [NETWORK_PING_CRITICAL] ミリ秒 + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + 接続不良になっているか、帯域幅設定が高すぎます。 + </floater.string> + <floater.string name="network_ping_cause_msg"> + 接続不良になっているか、ファイル共有アプリケーションに問題があります。 + </floater.string> + <floater.string name="server_text_msg"> + サーバー + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + シミュレーターのフレームレート: < [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + シミュレーターのフレームレート: [SERVER_FRAME_RATE_CRITICAL] ~ [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + ノーマル + </floater.string> + <floater.string name="server_physics_cause_msg"> + 考えられる原因: 物理的オブジェクトが多すぎる + </floater.string> + <floater.string name="server_scripts_cause_msg"> + 考えられる原因: スクリプトを含むオブジェクトが多すぎる + </floater.string> + <floater.string name="server_net_cause_msg"> + 考えられる原因: ネットワーク トラフィック過大 + </floater.string> + <floater.string name="server_agent_cause_msg"> + 考えられる原因: 地域内にて動いているアバターが多すぎる + </floater.string> + <floater.string name="server_images_cause_msg"> + 考えられる原因: 画像計算が多すぎる + </floater.string> + <floater.string name="server_generic_cause_msg"> + 考えられる原因: シミュレーターの過負荷 + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="クライアント ラグ ステータス"/> + <text name="client"> + クライアント + </text> + <text name="client_text"> + ノーマル + </text> + <button name="network_lagmeter" tool_tip="ネットワーク ラグ ステータス"/> + <text name="network"> + ネットワーク + </text> + <text name="network_text"> + ノーマル + </text> + <button name="server_lagmeter" tool_tip="サーバー ラグ ステータス"/> + <text name="server"> + サーバー + </text> + <text name="server_text"> + ノーマル + </text> + <button label=">> " name="minimize" tool_tip="フローターのサイズをトグル"/> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml new file mode 100644 index 0000000000..8038550bcb --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="POMIAR LAGÓW"> + <floater.string name="max_title_msg"> + Pomiar lagów + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Klient + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + W normie, okno w tle + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Ilość klatek na sekundę klienta poniżej [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Ilość klatek na sekundę pomiędzy [CLIENT_FRAME_RATE_CRITICAL] i [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + W normie + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Przyczyna: dystans rysowania jest za wysoki + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Przyczyna: ładowanie obrazu + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Przyczyna: za dużo obrazów w pamięci + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Przyczyna: za dużo złożonych obiektów + </floater.string> + <floater.string name="network_text_msg"> + Sieć + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Utrata pakietów przekracza [NETWORK_PACKET_LOSS_CRITICAL]% + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Utrata pakietów przekracza [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% + </floater.string> + <floater.string name="network_performance_normal_msg"> + W normie + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Fatalny ping - [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Wolny ping - [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Złe połączenie lub przepustowość. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Złe połączenie lub aplikacja współdzieląca pliki. + </floater.string> + <floater.string name="server_text_msg"> + Serwer + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Ilość klatek na sekundę poniżej [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Ilość klatek na sekundę pomiędzy [SERVER_FRAME_RATE_CRITICAL] i [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + W normie + </floater.string> + <floater.string name="server_physics_cause_msg"> + Przyczyna: za dużo obiektów fizycznych + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Przyczyna: za dużo obieków skryptowanych + </floater.string> + <floater.string name="server_net_cause_msg"> + Przyczyna: za duży ruch w sieci + </floater.string> + <floater.string name="server_agent_cause_msg"> + Przyczyna: za dużo poruszających się awatarów w regionie + </floater.string> + <floater.string name="server_images_cause_msg"> + Przyczyna: za dużo kalkulacji obrazu + </floater.string> + <floater.string name="server_generic_cause_msg"> + Przyczyna: symulator ładuje się zbyt powoli + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button label="" label_selected="" name="client_lagmeter" tool_tip="Status lagów klienta"/> + <text name="client"> + Klient + </text> + <text name="client_text"> + W normie + </text> + <button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/> + <text name="network"> + Sieć + </text> + <text name="network_text"> + W normie + </text> + <button label="" label_selected="" name="server_lagmeter" tool_tip="Server lag status"/> + <text name="server"> + Serwer + </text> + <text name="server_text"> + W normie + </text> + <button label=">>" name="minimize" tool_tip="Złącz rozmiar pliku xml"/> +</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml new file mode 100644 index 0000000000..9932318293 --- /dev/null +++ b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="LAG - Índice"> + <floater.string name="max_title_msg"> + Medidor de Atraso + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Atraso + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Cliente + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, janela por baixo + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Taxa de quadros do Cliente abaixo de [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Taxa de quadros do Cliente entre [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Causa possível: Distância de desenho ajustada muito alta + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Causa possível: Carregamento de Imagens + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Causa possível: Muitas imagens na memória + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Causa possível: Muitos objetos complexos na cena + </floater.string> + <floater.string name="network_text_msg"> + Rede + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Conexão está caindo para cerca de [NETWORK_PACKET_LOSS_CRITICAL]% de pacotes + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Conexão está caindo [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de pacotes + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Tempo de conexão de ping é cerca de [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Tempo de conexão de ping é [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Possível conexão ruim ou 'Largura de Banda' escolhida muito alta. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Possível conexão ruim ou aplicativos compartilhando arquivos. + </floater.string> + <floater.string name="server_text_msg"> + Servidor + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Taxa de quadros abaixo de [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Taxa de quadros entre [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Causa possível: Muitos objetos físicos + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Causa possível: Muitos objetos com scripts + </floater.string> + <floater.string name="server_net_cause_msg"> + Causa possível: Muito tráfego na rede + </floater.string> + <floater.string name="server_agent_cause_msg"> + Causa possível: Muitas pessoas se movendo na região + </floater.string> + <floater.string name="server_images_cause_msg"> + Causa possível: Muitos cálculos de imagem + </floater.string> + <floater.string name="server_generic_cause_msg"> + Causa possível: Carga no simulador muito pesada + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button label="" label_selected="" name="client_lagmeter" tool_tip="Status de atraso no Cliente"/> + <text name="client"> + Cliente + </text> + <text font="SansSerifSmall" name="client_text"> + Normal + </text> + <text left="30" name="client_lag_cause" right="-10"/> + <button label="" label_selected="" name="network_lagmeter" tool_tip="Status de atraso na rede"/> + <text name="network"> + Rede + </text> + <text font="SansSerifSmall" name="network_text"> + Normal + </text> + <text left="30" name="network_lag_cause" right="-10"/> + <button label="" label_selected="" name="server_lagmeter" tool_tip="Status de atraso no servidor"/> + <text name="server"> + Servidor + </text> + <text font="SansSerifSmall" name="server_text"> + Normal + </text> + <text left="30" name="server_lag_cause" right="-32"/> + <button label=">>" name="minimize" tool_tip="Alternar o tamanho da janela"/> +</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_lagmeter.xml b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml new file mode 100644 index 0000000000..c420006a03 --- /dev/null +++ b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="УРОВЕНЬ ЛАГОВ"> + <floater.string name="max_title_msg"> + Уровень лагов + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Лаг + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + Клиент + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Нормально, окно в фоне + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Частота кадров клиента ниже [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Частота кадров клиента от [CLIENT_FRAME_RATE_CRITICAL] до [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Нормально + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Возможная причина: дальность отрисовки слишком велика + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Возможная причина: загрузка изображений + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Возможная причина: слишком много изображений в памяти + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Возможная причина: слишком много сложных объектов в сцене + </floater.string> + <floater.string name="network_text_msg"> + Сеть + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Сеть теряет более [NETWORK_PACKET_LOSS_CRITICAL]% пакетов + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Сеть теряет [NETWORK_PACKET_LOSS_WARNING]–[NETWORK_PACKET_LOSS_CRITICAL]% пакетов + </floater.string> + <floater.string name="network_performance_normal_msg"> + Нормально + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Пинг соединения более [NETWORK_PING_CRITICAL] мс + </floater.string> + <floater.string name="network_ping_warning_msg"> + Пинг соединения [NETWORK_PING_WARNING]–[NETWORK_PING_CRITICAL] мс + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Возможно, плохое соединение, или параметр «Ширина канала» слишком велик. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Возможно, плохое соединение или есть работающие файлообменные программы. + </floater.string> + <floater.string name="server_text_msg"> + Сервер + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Частота кадров сервера ниже [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Частота кадров сервера [SERVER_FRAME_RATE_CRITICAL]–[SERVER_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Нормально + </floater.string> + <floater.string name="server_physics_cause_msg"> + Возможная причина: слишком много физических объектов + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Возможная причина: слишком много скриптовых объектов + </floater.string> + <floater.string name="server_net_cause_msg"> + Возможная причина: слишком большой сетевой трафик + </floater.string> + <floater.string name="server_agent_cause_msg"> + Возможная причина: слишком много людей в регионе + </floater.string> + <floater.string name="server_images_cause_msg"> + Возможная причина: слишком много изображений + </floater.string> + <floater.string name="server_generic_cause_msg"> + Возможная причина: сервер сильно загружен + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="Уровень лагов клиента"/> + <text name="client"> + Клиент + </text> + <text name="client_text"> + Нормально + </text> + <button name="network_lagmeter" tool_tip="Уровень лагов сети"/> + <text name="network"> + Сеть + </text> + <text name="network_text"> + Нормально + </text> + <button name="server_lagmeter" tool_tip="Уровень лагов сервера"/> + <text name="server"> + Сервер + </text> + <text name="server_text"> + Нормально + </text> + <button label=">>" name="minimize" tool_tip="Переключение размера"/> +</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_lagmeter.xml b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml new file mode 100644 index 0000000000..736c50be90 --- /dev/null +++ b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="GECİKME ÖLÇER"> + <floater.string name="max_title_msg"> + Gecikme Ölçer + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Gecikme + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + İstemci + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, pencere alt zeminde + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] altında + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] ile [CLIENT_FRAME_RATE_WARNING] arasınad + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Muhtemel neden: Çizme mesafesi çok yüksek + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Muhtemel neden: Görüntüler yükleniyor + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Muhtemel neden: Bellekte çok fazla görüntü + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Muhtemel neden: Sahnede çok fazla karmaşık nesne + </floater.string> + <floater.string name="network_text_msg"> + Ağ + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Bağlantı paketlerin % [NETWORK_PACKET_LOSS_CRITICAL]'sinden fazlasını bırakıyor + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Bağlantı paketlerin % [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]'sini bırakıyor + </floater.string> + <floater.string name="network_performance_normal_msg"> + Normal + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Bağlantı ping süresi [NETWORK_PING_CRITICAL] ms.den fazla + </floater.string> + <floater.string name="network_ping_warning_msg"> + Bağlantı ping süresi [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Muhtemel yetersiz bağlantı veya 'Bant Genişliği' tercihi çok yüksek. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Muhtemel yetersiz bağlantı veya dosya paylaşım uygulaması. + </floater.string> + <floater.string name="server_text_msg"> + Sunucu + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] altında + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] ve [SERVER_FRAME_RATE_WARNING] arasında + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + Normal + </floater.string> + <floater.string name="server_physics_cause_msg"> + Muhtemel Neden: Çok fazla fiziki nesne + </floater.string> + <floater.string name="server_scripts_cause_msg"> + Muhtemel Neden: Çok fazla komut dosyalı nesne + </floater.string> + <floater.string name="server_net_cause_msg"> + Muhtemel Neden: Çok fazla ağ trafiği + </floater.string> + <floater.string name="server_agent_cause_msg"> + Muhtemel Neden: Bölgede hareket eden çok fazla insan var + </floater.string> + <floater.string name="server_images_cause_msg"> + Muhtemel Neden: Çok fazla görüntü hesabı + </floater.string> + <floater.string name="server_generic_cause_msg"> + Muhtemel Neden: Simülatör yükü çok ağır + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="İstemci gecikme durumu"/> + <text name="client"> + İstemci + </text> + <text name="client_text"> + Normal + </text> + <button name="network_lagmeter" tool_tip="Ağ gecikme durumu"/> + <text name="network"> + Ağ + </text> + <text name="network_text"> + Normal + </text> + <button name="server_lagmeter" tool_tip="Sunucu gecikme durumu"/> + <text name="server"> + Sunucu + </text> + <text name="server_text"> + Normal + </text> + <button label=">>" name="minimize" tool_tip="Gezdirici büyüklüğünü değiştir"/> +</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_lagmeter.xml b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml new file mode 100644 index 0000000000..6e58e7332f --- /dev/null +++ b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_lagmeter" title="LAG 測量器"> + <floater.string name="max_title_msg"> + Lag 測量器 + </floater.string> + <floater.string name="max_width_px"> + 360 + </floater.string> + <floater.string name="min_title_msg"> + Lag + </floater.string> + <floater.string name="min_width_px"> + 90 + </floater.string> + <floater.string name="client_text_msg"> + 客戶端 + </floater.string> + <floater.string name="client_frame_rate_critical_fps"> + 10 + </floater.string> + <floater.string name="client_frame_rate_warning_fps"> + 15 + </floater.string> + <floater.string name="client_frame_time_window_bg_msg"> + Normal, window in background + </floater.string> + <floater.string name="client_frame_time_critical_msg"> + Client frame rate below [CLIENT_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="client_frame_time_warning_msg"> + Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING] + </floater.string> + <floater.string name="client_frame_time_normal_msg"> + 正常 + </floater.string> + <floater.string name="client_draw_distance_cause_msg"> + Possible cause: Draw distance set too high + </floater.string> + <floater.string name="client_texture_loading_cause_msg"> + Possible cause: Images loading + </floater.string> + <floater.string name="client_texture_memory_cause_msg"> + Possible cause: Too many images in memory + </floater.string> + <floater.string name="client_complex_objects_cause_msg"> + Possible cause: Too many complex objects in scene + </floater.string> + <floater.string name="network_text_msg"> + 網路 + </floater.string> + <floater.string name="network_packet_loss_critical_pct"> + 10 + </floater.string> + <floater.string name="network_packet_loss_warning_pct"> + 5 + </floater.string> + <floater.string name="network_packet_loss_critical_msg"> + Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets + </floater.string> + <floater.string name="network_packet_loss_warning_msg"> + Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets + </floater.string> + <floater.string name="network_performance_normal_msg"> + 正常 + </floater.string> + <floater.string name="network_ping_critical_ms"> + 600 + </floater.string> + <floater.string name="network_ping_warning_ms"> + 300 + </floater.string> + <floater.string name="network_ping_critical_msg"> + Connection ping time is over [NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_ping_warning_msg"> + Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms + </floater.string> + <floater.string name="network_packet_loss_cause_msg"> + Possible bad connection or 'Bandwidth' pref too high. + </floater.string> + <floater.string name="network_ping_cause_msg"> + Possible bad connection or file-sharing app. + </floater.string> + <floater.string name="server_text_msg"> + 伺服器 + </floater.string> + <floater.string name="server_frame_rate_critical_fps"> + 20 + </floater.string> + <floater.string name="server_frame_rate_warning_fps"> + 30 + </floater.string> + <floater.string name="server_single_process_max_time_ms"> + 20 + </floater.string> + <floater.string name="server_frame_time_critical_msg"> + 模擬器 framerate 低於 [SERVER_FRAME_RATE_CRITICAL] + </floater.string> + <floater.string name="server_frame_time_warning_msg"> + 模擬器 framerate 介於 [SERVER_FRAME_RATE_CRITICAL] 與 [SERVER_FRAME_RATE_WARNING] 之間 + </floater.string> + <floater.string name="server_frame_time_normal_msg"> + 正常 + </floater.string> + <floater.string name="server_physics_cause_msg"> + 可能原因:太多物理物件 + </floater.string> + <floater.string name="server_scripts_cause_msg"> + 可能原因:太多腳本物件 + </floater.string> + <floater.string name="server_net_cause_msg"> + 可能原因:太多網路流量 + </floater.string> + <floater.string name="server_agent_cause_msg"> + 可能原因:地區有太多移動的人 + </floater.string> + <floater.string name="server_images_cause_msg"> + 可能原因:太多圖像計算 + </floater.string> + <floater.string name="server_generic_cause_msg"> + 可能原因:模擬器負載過重 + </floater.string> + <floater.string name="smaller_label"> + >> + </floater.string> + <floater.string name="bigger_label"> + << + </floater.string> + <button name="client_lagmeter" tool_tip="客戶端 lag 狀態"/> + <text name="client"> + 客戶端 + </text> + <text name="client_text"> + 正常 + </text> + <button name="network_lagmeter" tool_tip="網路 lag 狀態"/> + <text name="network"> + 網路 + </text> + <text name="network_text"> + 正常 + </text> + <button name="server_lagmeter" tool_tip="伺服器 lag 狀態"/> + <text name="server"> + 伺服器 + </text> + <text name="server_text"> + 正常 + </text> + <button label=">>" name="minimize" tool_tip="切換浮動視窗尺寸"/> +</floater> -- cgit v1.2.3 From dc304b2be8cdf2f4496d85c7e7b3b95e5f4da716 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 23 May 2014 12:17:32 +0300 Subject: MAINT-2255 FIXED Allow copy only landmarks to Favorites. --- indra/newview/llinventorybridge.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 60a95741b3..feb7a0e904 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -103,6 +103,7 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response bool confirm_attachment_rez(const LLSD& notification, const LLSD& response); void teleport_via_landmark(const LLUUID& asset_id); static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit); +static BOOL can_move_to_landmarks(LLInventoryItem* inv_item); static bool check_category(LLInventoryModel* model, const LLUUID& cat_id, LLInventoryPanel* active_panel, @@ -3190,10 +3191,12 @@ void LLFolderBridge::pasteFromClipboard() { const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false); const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false); + const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false); const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id); const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id); + const BOOL move_is_into_favorites = (mUUID == favorites_id); std::vector<LLUUID> objects; LLClipboard::instance().pasteFromClipboard(objects); @@ -3256,6 +3259,13 @@ void LLFolderBridge::pasteFromClipboard() dropToOutfit(item, move_is_into_current_outfit); } } + else if (move_is_into_favorites) + { + if (item && can_move_to_landmarks(item)) + { + dropToFavorites(item); + } + } else if (LLClipboard::instance().isCutMode()) { // Do a move to "paste" a "cut" -- cgit v1.2.3 From 37239340458b3340f50e0748bb28b4cb52e287e2 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Fri, 23 May 2014 17:57:40 +0300 Subject: MAINT-4081 FIXED When removing a friend, the dialog now mentions complete name --- indra/newview/llavataractions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 0bf5aa8031..8235b13118 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -143,7 +143,7 @@ void LLAvatarActions::removeFriendsDialog(const uuid_vec_t& ids) LLAvatarName av_name; if(LLAvatarNameCache::get(agent_id, &av_name)) { - args["NAME"] = av_name.getDisplayName(); + args["NAME"] = av_name.getCompleteName(); } msgType = "RemoveFromFriends"; -- cgit v1.2.3 From ca79d238935b2569194adfabae59dfbff4e5eea4 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 23 May 2014 19:05:49 +0300 Subject: MAINT-4018 FIXED Mini profile pictures tend to fail to load fully, and sometimes not at all. Profile icons are no longer discarded uless they are too big. Icons will refresh correctly if needed. --- indra/newview/llavatariconctrl.cpp | 5 +++-- indra/newview/llviewertexture.cpp | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp index 746b541f9d..b89b0d9900 100755 --- a/indra/newview/llavatariconctrl.cpp +++ b/indra/newview/llavatariconctrl.cpp @@ -247,7 +247,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) { LLAvatarPropertiesProcessor* app = LLAvatarPropertiesProcessor::getInstance(); - if (mAvatarId.notNull()) + if (mAvatarId.notNull() && mAvatarId != value.asUUID()) { app->removeObserver(mAvatarId, this); } @@ -255,6 +255,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) if (mAvatarId != value.asUUID()) { mAvatarId = value.asUUID(); + app->addObserver(mAvatarId, this); // *BUG: This will return stale icons if a user changes their // profile picture. However, otherwise we send too many upstream @@ -270,7 +271,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) // People API, rather than sending AvatarPropertyRequest // messages. People API already hits the user table. LLIconCtrl::setValue(mDefaultIconName); - app->addObserver(mAvatarId, this); + // duplicated requests are filtered later if there are any app->sendAvatarPropertiesRequest(mAvatarId); } } diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index b83697b2f1..8090b85c0a 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1458,6 +1458,17 @@ void LLViewerFetchedTexture::processTextureStats() { mDesiredDiscardLevel = 0; } + else if (mDontDiscard && (mBoostLevel == LLGLTexture::BOOST_UI || mBoostLevel == LLGLTexture::BOOST_ICON)) + { + if (mFullWidth > MAX_IMAGE_SIZE_DEFAULT || mFullHeight > MAX_IMAGE_SIZE_DEFAULT) + { + mDesiredDiscardLevel = 1; // MAX_IMAGE_SIZE_DEFAULT = 1024 and max size ever is 2048 + } + else + { + mDesiredDiscardLevel = 0; + } + } else if(!mFullWidth || !mFullHeight) { mDesiredDiscardLevel = llmin(getMaxDiscardLevel(), (S32)mLoadedCallbackDesiredDiscardLevel); -- cgit v1.2.3 From 7a5d2db8e35b2220e27140fe329600211373160c Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Fri, 23 May 2014 17:57:40 +0300 Subject: MAINT-4036 FIXED [CHUIBUG]Long pause on first open of preferences or right-clicking a user in friend list --- indra/newview/llgiveinventory.cpp | 6 ++- indra/newview/lllogchat.cpp | 108 ++++++++++++++++++++------------------ indra/newview/lllogchat.h | 6 +++ 3 files changed, 68 insertions(+), 52 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgiveinventory.cpp b/indra/newview/llgiveinventory.cpp index 813d2081ce..b2fc41526e 100755 --- a/indra/newview/llgiveinventory.cpp +++ b/indra/newview/llgiveinventory.cpp @@ -328,8 +328,10 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im { // Build a new format username or firstname_lastname for legacy names // to use it for a history log filename. - full_name = LLCacheName::buildUsername(full_name); - LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, LLTrans::getString("inventory_item_offered-im")); + if (LLLogChat::buildIMP2PLogFilename(to_agent, LLStringUtil::null, full_name)) + { + LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, LLTrans::getString("inventory_item_offered-im")); + } } } } diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index 06e517a861..743bb8973b 100755 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -261,6 +261,46 @@ std::string LLLogChat::cleanFileName(std::string filename) return filename; } +bool LLLogChat::buildIMP2PLogFilename(const LLUUID& idAgent, const std::string& strName, std::string& strFilename) +{ + static LLCachedControl<bool> fLegacyFilenames(gSavedSettings, "UseLegacyIMLogNames", true); + + // If we have the name cached then we can simply return the username + LLAvatarName avName; + if (LLAvatarNameCache::get(idAgent, &avName)) + { + if (!fLegacyFilenames) + { + strFilename = avName.getUserName(); + } + else + { + strFilename = LLCacheName::cleanFullName(avName.getLegacyName()); + } + return true; + } + else + { + // Try and get it from the legacy cache if we can + std::string strLegacyName; + if (gCacheName->getFullName(idAgent, strLegacyName)) + strLegacyName = strName; + + if (!fLegacyFilenames) + { + // If we don't have it cached 'strName' *should* be a legacy name (or a complete name) and we can construct a username from that + strFilename = LLCacheName::buildUsername(strName); + return strName != strFilename; // If the assumption above was wrong then the two will match which signals failure + } + else + { + // Strip any possible mention of a username + strFilename = LLCacheName::buildLegacyName(strName); + return (!strFilename.empty()); // Assume success as long as the filename isn't an empty string + } + } +} + std::string LLLogChat::timestamp(bool withdate) { std::string timeStr; @@ -570,13 +610,6 @@ void LLLogChat::findTranscriptFiles(std::string pattern, std::vector<std::string LLFILE * filep = LLFile::fopen(fullname, "rb"); if (NULL != filep) { - if(makeLogFileName("chat")== fullname) - { - //Add Nearby chat history to the list of transcriptions - list_of_transcriptions.push_back(gDirUtilp->add(dirname, filename)); - LLFile::close(filep); - continue; - } char buffer[LOG_RECALL_SIZE]; fseek(filep, 0, SEEK_END); // seek to end of file @@ -749,59 +782,34 @@ void LLLogChat::deleteTranscripts() // static bool LLLogChat::isTranscriptExist(const LLUUID& avatar_id, bool is_group) { - std::vector<std::string> list_of_transcriptions; - LLLogChat::getListOfTranscriptFiles(list_of_transcriptions); + std::string strFileName; + if (!is_group) + buildIMP2PLogFilename(avatar_id, LLStringUtil::null, strFileName); + else + gCacheName->getGroupName(avatar_id, strFileName); - if (list_of_transcriptions.size() > 0) + std::string strFilePath = makeLogFileName(strFileName); + if ( (!strFilePath.empty()) && (LLFile::isfile(strFilePath)) ) { - LLAvatarName avatar_name; - LLAvatarNameCache::get(avatar_id, &avatar_name); - std::string avatar_user_name = avatar_name.getAccountName(); - if(!is_group) - { - std::replace(avatar_user_name.begin(), avatar_user_name.end(), '.', '_'); - BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) - { - if (std::string::npos != transcript_file_name.find(avatar_user_name)) - { - return true; - } - } - } - else - { - std::string file_name; - gCacheName->getGroupName(avatar_id, file_name); - file_name = makeLogFileName(file_name); - BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) - { - if (transcript_file_name == file_name) - { - return true; - } - } - } - + return true; } - return false; + // If a dated file existed it'll return a valid path; otherwise, it returns the undated unverified path so we do need to check it + strFilePath = oldLogFileName(strFileName); + return (!strFilePath.empty()) && (LLFile::isfile(strFilePath)); } bool LLLogChat::isNearbyTranscriptExist() { - std::vector<std::string> list_of_transcriptions; - LLLogChat::getListOfTranscriptFiles(list_of_transcriptions); - - std::string file_name; - file_name = makeLogFileName("chat"); - BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) + std::string strFilePath = makeLogFileName("chat"); + if ( (!strFilePath.empty()) && (LLFile::isfile(strFilePath)) ) { - if (transcript_file_name == file_name) - { - return true; - } + return true; } - return false; + + // If a dated file existed it'll return a valid path; otherwise, it returns the undated unverified path so we do need to check it + strFilePath = oldLogFileName("chat"); + return (!strFilePath.empty()) && (LLFile::isfile(strFilePath)); } //*TODO mark object's names in a special way so that they will be distinguishable form avatar name diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h index ca597599dd..d1dbf2d119 100755 --- a/indra/newview/lllogchat.h +++ b/indra/newview/lllogchat.h @@ -92,6 +92,12 @@ public: static std::string timestamp(bool withdate = false); static std::string makeLogFileName(std::string(filename)); + + /** + * Attempts to build the correct IM P2P log filename for the specified agent UUID and agent name + */ + static bool buildIMP2PLogFilename(const LLUUID& idAgent, const std::string& strName, std::string& strFilename); + /** *Add functions to get old and non date stamped file names when needed */ -- cgit v1.2.3 From db4d0f91584f1000c97215091fddeeb783c702d7 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Thu, 15 May 2014 04:56:20 +0300 Subject: MAINT-4016 FIXED Viewer attempts full fetch of member list before allowing user to leave group --- indra/newview/llgroupactions.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index f514729aa1..913efd6434 100755 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -149,7 +149,7 @@ public: void changed(LLGroupChange gc) { - if (gc == GC_MEMBER_DATA && !mRequestProcessed) + if (gc == GC_PROPERTIES && !mRequestProcessed) { LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupId); if (!gdatap) @@ -159,9 +159,6 @@ public: else if (!gdatap->isMemberDataComplete()) { LL_WARNS() << "LLGroupMgr::getInstance()->getGroupData()->isMemberDataComplete() was FALSE" << LL_ENDL; - } - else - { processGroupData(); mRequestProcessed = true; } -- cgit v1.2.3 From 6f7294264671656de20ed6a7b08930af15333825 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Fri, 23 May 2014 22:08:56 +0300 Subject: MAINT-4016 FIXED Viewer attempts full fetch of member list before allowing user to leave group: added two notifications GroupDepartError and GroupDepart --- .../newview/skins/default/xui/en/notifications.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index e1194b2025..4d4251dd2c 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3746,6 +3746,28 @@ Leave Group? yestext="OK"/> </notification> + <notification + icon="aler.tga" + name="GroupDepartError" + type="alert"> +Unable to leave this group. + <tag>reason</tag> + <usetemplate + name="okbutton" + yestext="OK"/> + </notification> + + <notification + icon="alert.tga" + name="GroupDepart" + type="alert"> +You have left the group [group_name]. + <tag>group_name</tag> + <usetemplate + name="okbutton" + yestext="OK"/> + </notification> + <notification icon="alert.tga" name="ConfirmKick" -- cgit v1.2.3 From effd423ec5567eb03b1e26f1531e24294fa2e7c7 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Sat, 24 May 2014 03:10:07 +0300 Subject: MAINT-4016 FIXED Viewer attempts full fetch of member list before allowing user to leave group: updating of text for GroupDepartError notifications. --- indra/newview/skins/default/xui/en/notifications.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 4d4251dd2c..0230019eb2 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3750,7 +3750,7 @@ Leave Group? icon="aler.tga" name="GroupDepartError" type="alert"> -Unable to leave this group. +Unable to leave group: [reason]. <tag>reason</tag> <usetemplate name="okbutton" -- cgit v1.2.3 From 403ec62e3ce9c32961d50ff13b38a48c24a5cc4b Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Wed, 28 May 2014 19:40:45 +0000 Subject: All: Update library SDL to 290309, c-ares to 290089, boost to 290191, colladadom to 290229, curl to 290186, fontconfig to 290258, freetype to 290255, google-mock/gmock/gtest to 290199, libpng to 290081, libxml2 to 290157, llqtwebkit to 290262/250147 (to be fixed shortly), openssl to 290083, pcre to 290150, zlib to 290080. The freetype2 headers are now normalized to what they would normally be on a unix-type system. Libxml2 and pcre are available on all platforms. Libraries generally move in the direction of static archives rather than shared libraries (e.g. openssl). The llqtwebkit side is a step back from the more ambitious goal. What will be used (290262) will be a simple rebuild of the existing 4.7.1 library with updated package dependencies. The bigger work will be in the future. --- indra/newview/viewer_manifest.py | 71 +++------------------------------------- 1 file changed, 4 insertions(+), 67 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index e85f4929ae..6729cd617a 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -768,21 +768,13 @@ class Darwin_i386_Manifest(ViewerManifest): # dylibs that vary based on configuration if self.args['configuration'].lower() == 'debug': for libfile in ( - "libcrypto.1.0.0.dylib", - "libcrypto.dylib", "libfmodexL.dylib", - "libssl.1.0.0.dylib", - "libssl.dylib", ): dylibs += path_optional(os.path.join("../packages/lib/debug", libfile), libfile) else: for libfile in ( - "libcrypto.1.0.0.dylib", - "libcrypto.dylib", "libfmodex.dylib", - "libssl.1.0.0.dylib", - "libssl.dylib", ): dylibs += path_optional(os.path.join("../packages/lib/release", libfile), libfile) @@ -804,42 +796,14 @@ class Darwin_i386_Manifest(ViewerManifest): symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile), os.path.join(resource_path, libfile)) - # SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs. - if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"): - for libfile in ('libQtCore.4.dylib', - 'libQtCore.4.7.1.dylib', - 'libQtGui.4.dylib', - 'libQtGui.4.7.1.dylib', - 'libQtNetwork.4.dylib', - 'libQtNetwork.4.7.1.dylib', - 'libQtOpenGL.4.dylib', - 'libQtOpenGL.4.7.1.dylib', - 'libQtSvg.4.dylib', - 'libQtSvg.4.7.1.dylib', - 'libQtWebKit.4.dylib', - 'libQtWebKit.4.7.1.dylib', - 'libQtXml.4.dylib', - 'libQtXml.4.7.1.dylib'): - self.path2basename("../packages/lib/release", libfile) - self.end_prefix("SLPlugin.app/Contents/Resources") - - # Qt4 codecs go to llplugin. Not certain why but this is the first - # location probed according to dtruss so we'll go with that. - if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"): - self.path("libq*.dylib") - self.end_prefix("llplugin/codecs") - - # Similarly for imageformats. - if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"): - self.path("libq*.dylib") - self.end_prefix("llplugin/imageformats") - - # SLPlugin plugins proper + # plugins if self.prefix(src="", dst="llplugin"): self.path2basename("../media_plugins/quicktime/" + self.args['configuration'], "media_plugin_quicktime.dylib") self.path2basename("../media_plugins/webkit/" + self.args['configuration'], "media_plugin_webkit.dylib") + self.path2basename("../packages/lib/release", "libllqtwebkit.dylib") + self.end_prefix("llplugin") self.end_prefix("Resources") @@ -1111,7 +1075,6 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libaprutil-1.so.0") self.path("libaprutil-1.so.0.4.1") self.path("libboost_context-mt.so.*") - self.path("libboost_coroutine-mt.so.*") self.path("libboost_filesystem-mt.so.*") self.path("libboost_program_options-mt.so.*") self.path("libboost_regex-mt.so.*") @@ -1156,6 +1119,7 @@ class Linux_i686_Manifest(LinuxManifest): # previous call did, without having to explicitly state the # version number. self.path("libfontconfig.so.*.*") + self.path("libfreetype.so.*.*") try: self.path("libtcmalloc.so*") #formerly called google perf tools pass @@ -1185,33 +1149,6 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libvivoxplatform.so") self.end_prefix("lib") - # plugin runtime - if self.prefix(src="../packages/lib/release", dst="lib"): - self.path("libQtCore.so*") - self.path("libQtGui.so*") - self.path("libQtNetwork.so*") - self.path("libQtOpenGL.so*") - self.path("libQtWebKit.so*") - self.end_prefix("lib") - - # For WebKit/Qt plugin runtimes (image format plugins) - if self.prefix(src="../packages/plugins/imageformats", dst="bin/llplugin/imageformats"): - self.path("libqgif.so") - self.path("libqico.so") - self.path("libqjpeg.so") - self.path("libqmng.so") - self.path("libqsvg.so") - self.path("libqtiff.so") - self.end_prefix("bin/llplugin/imageformats") - - # For WebKit/Qt plugin runtimes (codec/character encoding plugins) - if self.prefix(src="../packages/plugins/codecs", dst="bin/llplugin/codecs"): - self.path("libqcncodecs.so") - self.path("libqjpcodecs.so") - self.path("libqkrcodecs.so") - self.path("libqtwcodecs.so") - self.end_prefix("bin/llplugin/codecs") - self.strip_binaries() -- cgit v1.2.3 From 0fdff14b664f84658580f2d2595261832406fe76 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 29 May 2014 13:05:09 +0300 Subject: MAINT-4094 FIXED Use unescaped region name in the notification --- indra/newview/llurldispatcher.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 615064c782..78268944fc 100755 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -278,13 +278,13 @@ public: tokens[2].asReal(), tokens[3].asReal()); } - - LLSD args; - args["LOCATION"] = tokens[0]; // Region names may be %20 escaped. std::string region_name = LLURI::unescape(tokens[0]); + LLSD args; + args["LOCATION"] = region_name; + LLSD payload; payload["region_name"] = region_name; payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString(); -- cgit v1.2.3 From a7b523b36a79bdb1ec8701ce20df4fb60fead1bf Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 29 May 2014 13:49:25 +0300 Subject: MAINT-4071 FIXED Use LLViewerStats::instance().getRecording() to get correct stats. --- indra/newview/llappviewer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 1c38adb879..0ca7f0788e 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3360,11 +3360,11 @@ LLSD LLAppViewer::getViewerInfo() const // TODO: Implement media plugin version query info["QT_WEBKIT_VERSION"] = "4.7.1 (version number hard-coded)"; - if (gPacketsIn > 0) + S32 packets_in = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN); + if (packets_in > 0) { - LLTrace::Recording& last_frame = LLTrace::get_frame_recording().getLastRecording(); - info["PACKETS_LOST"] = last_frame.getSum(LLStatViewer::PACKETS_LOST); - info["PACKETS_IN"] = last_frame.getSum(LLStatViewer::PACKETS_IN); + info["PACKETS_LOST"] = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_LOST); + info["PACKETS_IN"] = packets_in; info["PACKETS_PCT"] = 100.f*info["PACKETS_LOST"].asReal() / info["PACKETS_IN"].asReal(); } -- cgit v1.2.3 From fadf35b90a96475cc2af31eab08a982641a6db0e Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Thu, 29 May 2014 10:57:16 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llappearancemgr.cpp | 16 ++++++++++++++++ indra/newview/llinventorybridge.cpp | 4 ++++ 3 files changed, 31 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c2555efbb5..f2f457f575 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -15154,6 +15154,17 @@ <key>Value</key> <string /> </map> + <key>WearFolderLimit</key> + <map> + <key>Comment</key> + <string>Limits number of items in the folder that can be replaced/added to current outfit</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>125</integer> + </map> </map> </llsd> diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index b7fe96727f..c76652c650 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1621,6 +1621,14 @@ bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id) items, LLInventoryModel::EXCLUDE_TRASH, not_worn); + + U32 max_items = gSavedSettings.getU32("WearFolderLimit"); + if (items.size() > max_items) + { + LL_WARNS() << "Folder contains more wearables than allowed to wear by WearFolderLimit setting" << LL_ENDL; + return false; + } + return items.size() > 0; } @@ -1647,6 +1655,14 @@ bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id) items, LLInventoryModel::EXCLUDE_TRASH, is_worn); + + U32 max_items = gSavedSettings.getU32("WearFolderLimit"); + if (items.size() > max_items) + { + LL_WARNS() << "Folder contains more wearables than allowed to wear by WearFolderLimit setting" << LL_ENDL; + return false; + } + return items.size() > 0; } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index feb7a0e904..fbaee68cf8 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3639,6 +3639,10 @@ void LLFolderBridge::buildContextMenuFolderOptions(U32 flags, menuentry_vec_t& { disabled_items.push_back(std::string("Replace Outfit")); } + if (!LLAppearanceMgr::getCanAddToCOF(mUUID)) + { + disabled_items.push_back(std::string("Add To Outfit")); + } items.push_back(std::string("Outfit Separator")); } } -- cgit v1.2.3 From 6ad62c6bf5d0dd71b913cb1f483de3edf7de3103 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 30 May 2014 11:56:41 +0300 Subject: MAINT-4099 FIXED Use toggleOpen() to open/close folders via Enter key --- indra/newview/llinventorybridge.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index fbaee68cf8..6d9b2dce9c 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2909,7 +2909,7 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action) LLFolderViewFolder *f = dynamic_cast<LLFolderViewFolder *>(mInventoryPanel.get()->getItemByID(mUUID)); if (f) { - f->setOpen(TRUE); + f->toggleOpen(); } return; -- cgit v1.2.3 From 863cf3e64af75eeb89fc2614bbe684cc300438e3 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 30 May 2014 12:24:37 +0300 Subject: MAINT-865 FIXED Multiline description in Place profile is shown as one line after changing floater width --- indra/newview/skins/default/xui/en/panel_place_profile.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index 30239d6d01..0dd75b1b55 100755 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -295,14 +295,14 @@ value="SampleParcel, Name Long (145, 228, 26)" width="285" /> <expandable_text - follows="left|top|right" + follows="left|top" height="50" layout="topleft" left="5" name="description" top_pad="10" value="Du waltz die spritz" - width="300" /> + width="285" /> <text follows="left|top" height="14" -- cgit v1.2.3 From 984cc0788dd0bde032eab993293db2131b51a26f Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Thu, 29 May 2014 19:19:41 +0300 Subject: MAINT-3504 FIXED Avatar cannot move after TPing into region he nearly crossed into --- indra/newview/llagent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 8914379073..cf09a410bd 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4001,7 +4001,7 @@ void LLAgent::teleportRequest( bool look_at_from_camera) { LLViewerRegion* regionp = getRegion(); - bool is_local = (region_handle == to_region_handle(getPositionGlobal())); + bool is_local = (region_handle == regionp->getHandle()); if(regionp && teleportCore(is_local)) { LL_INFOS("") << "TeleportLocationRequest: '" << region_handle << "':" -- cgit v1.2.3 From c5f85d6e3819316331de39611735c268553c70ed Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 3 Jun 2014 11:19:25 +0300 Subject: MAINT-4076 FIXED Don't use autocomplete to shout/whisper if several triggers match the prefix --- indra/newview/llgesturemgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp index ffddeeb129..1a23ad38f4 100755 --- a/indra/newview/llgesturemgr.cpp +++ b/indra/newview/llgesturemgr.cpp @@ -1399,7 +1399,7 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str) } if (rest_of_match.compare("") == 0) { - return FALSE; + return TRUE; } if (buf.compare("") != 0) { -- cgit v1.2.3 From 445b13dc5203e2931379953bc5e9cd589cd841c6 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 3 Jun 2014 13:52:39 +0300 Subject: MAINT-4120 FIXED Remove the message because it's only called for STATE_WEARABLES_WAIT state. --- indra/newview/llstartup.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index cca079b4c9..9cfc913c5a 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2188,7 +2188,6 @@ bool idle_startup() return TRUE; } - LL_WARNS("AppInit") << "Reached end of idle_startup for state " << LLStartUp::getStartupState() << LL_ENDL; return TRUE; } -- cgit v1.2.3 From 75b68cf3f4286a8ba8e54bd119c5d26008e44de8 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 3 Jun 2014 20:01:45 +0300 Subject: MAINT-2881 FIXED Open folders close when you create a new folder, new script, new notecard etc --- indra/newview/llpanelmaininventory.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index b02298090a..90dfb24377 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -382,9 +382,11 @@ BOOL LLPanelMainInventory::filtersVisible(void* user_data) void LLPanelMainInventory::onClearSearch() { + BOOL initially_active = FALSE; LLFloater *finder = getFinder(); if (mActivePanel) { + initially_active = mActivePanel->getFilter().isNotDefault(); mActivePanel->setFilterSubString(LLStringUtil::null); mActivePanel->setFilterTypes(0xffffffffffffffffULL); mActivePanel->setFilterLinks(LLInventoryFilter::FILTERLINK_INCLUDE_LINKS); @@ -395,8 +397,8 @@ void LLPanelMainInventory::onClearSearch() LLFloaterInventoryFinder::selectAllTypes(finder); } - // re-open folders that were initially open - if (mActivePanel) + // re-open folders that were initially open in case filter was active + if (mActivePanel && (mFilterSubString.size() || initially_active)) { mSavedFolderState->setApply(TRUE); mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState); -- cgit v1.2.3 From 1655887f30e40ea390b6dca9f64ac5e84309be05 Mon Sep 17 00:00:00 2001 From: eli <none@none> Date: Tue, 3 Jun 2014 16:27:47 -0700 Subject: FIX INTL-142 translations for Viewer Set40 --- .../default/xui/de/floater_region_restarting.xml | 23 ++++++++ .../default/xui/de/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/de/floater_stats.xml | 44 +++++++++++---- .../skins/default/xui/de/menu_avatar_icon.xml | 1 + .../skins/default/xui/de/menu_inventory.xml | 1 + indra/newview/skins/default/xui/de/menu_login.xml | 10 +++- .../default/xui/de/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/de/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/de/notifications.xml | 41 +++++++++----- .../default/xui/de/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/de/panel_group_roles.xml | 1 + .../skins/default/xui/de/panel_region_debug.xml | 9 +-- .../skins/default/xui/de/panel_region_general.xml | 2 +- .../skins/default/xui/de/sidepanel_inventory.xml | 4 +- indra/newview/skins/default/xui/de/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/es/floater_region_restarting.xml | 23 ++++++++ .../default/xui/es/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/es/floater_stats.xml | 43 ++++++++++---- .../skins/default/xui/es/menu_avatar_icon.xml | 1 + .../skins/default/xui/es/menu_inventory.xml | 1 + indra/newview/skins/default/xui/es/menu_login.xml | 10 +++- .../default/xui/es/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/es/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/es/notifications.xml | 43 +++++++++----- .../default/xui/es/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/es/panel_group_roles.xml | 1 + .../skins/default/xui/es/panel_region_debug.xml | 9 +-- .../skins/default/xui/es/panel_region_general.xml | 2 +- .../skins/default/xui/es/sidepanel_inventory.xml | 6 +- indra/newview/skins/default/xui/es/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/fr/floater_region_restarting.xml | 23 ++++++++ .../default/xui/fr/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/fr/floater_stats.xml | 40 +++++++++---- .../skins/default/xui/fr/menu_avatar_icon.xml | 1 + .../skins/default/xui/fr/menu_inventory.xml | 1 + indra/newview/skins/default/xui/fr/menu_login.xml | 10 +++- .../default/xui/fr/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/fr/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/fr/notifications.xml | 41 +++++++++----- .../default/xui/fr/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/fr/panel_group_roles.xml | 1 + .../skins/default/xui/fr/panel_region_debug.xml | 9 +-- .../skins/default/xui/fr/panel_region_general.xml | 2 +- .../skins/default/xui/fr/sidepanel_inventory.xml | 6 +- indra/newview/skins/default/xui/fr/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/it/floater_region_restarting.xml | 23 ++++++++ .../default/xui/it/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/it/floater_stats.xml | 43 ++++++++++---- .../skins/default/xui/it/menu_avatar_icon.xml | 1 + .../skins/default/xui/it/menu_inventory.xml | 1 + indra/newview/skins/default/xui/it/menu_login.xml | 10 +++- .../default/xui/it/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/it/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/it/notifications.xml | 43 +++++++++----- .../default/xui/it/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/it/panel_group_roles.xml | 1 + .../skins/default/xui/it/panel_region_debug.xml | 9 +-- .../skins/default/xui/it/panel_region_general.xml | 2 +- .../skins/default/xui/it/sidepanel_inventory.xml | 2 +- indra/newview/skins/default/xui/it/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/ja/floater_region_restarting.xml | 23 ++++++++ .../default/xui/ja/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/ja/floater_stats.xml | 44 +++++++++++---- .../skins/default/xui/ja/menu_avatar_icon.xml | 1 + .../skins/default/xui/ja/menu_inventory.xml | 1 + indra/newview/skins/default/xui/ja/menu_login.xml | 10 +++- .../default/xui/ja/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/ja/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/ja/notifications.xml | 39 +++++++++---- .../default/xui/ja/panel_group_info_sidetray.xml | 4 +- .../skins/default/xui/ja/panel_group_roles.xml | 1 + .../skins/default/xui/ja/panel_region_debug.xml | 9 +-- .../skins/default/xui/ja/panel_region_general.xml | 2 +- .../skins/default/xui/ja/sidepanel_inventory.xml | 6 +- indra/newview/skins/default/xui/ja/strings.xml | 65 +++++++++++++++++++-- .../default/xui/pt/floater_region_restarting.xml | 23 ++++++++ .../default/xui/pt/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/pt/floater_stats.xml | 43 ++++++++++---- .../skins/default/xui/pt/menu_avatar_icon.xml | 1 + .../skins/default/xui/pt/menu_inventory.xml | 1 + indra/newview/skins/default/xui/pt/menu_login.xml | 10 +++- .../default/xui/pt/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/pt/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/pt/notifications.xml | 51 ++++++++++++----- .../default/xui/pt/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/pt/panel_group_roles.xml | 3 +- .../skins/default/xui/pt/panel_region_debug.xml | 9 +-- .../skins/default/xui/pt/panel_region_general.xml | 2 +- .../skins/default/xui/pt/sidepanel_inventory.xml | 2 +- indra/newview/skins/default/xui/pt/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/ru/floater_region_restarting.xml | 23 ++++++++ .../default/xui/ru/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/ru/floater_stats.xml | 40 +++++++++---- .../skins/default/xui/ru/menu_avatar_icon.xml | 1 + .../skins/default/xui/ru/menu_inventory.xml | 1 + indra/newview/skins/default/xui/ru/menu_login.xml | 10 +++- .../default/xui/ru/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/ru/menu_viewer.xml | 17 +++--- .../newview/skins/default/xui/ru/notifications.xml | 37 ++++++++---- .../default/xui/ru/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/ru/panel_group_roles.xml | 1 + .../skins/default/xui/ru/panel_region_debug.xml | 3 +- .../skins/default/xui/ru/panel_region_general.xml | 2 +- .../skins/default/xui/ru/sidepanel_inventory.xml | 8 +-- indra/newview/skins/default/xui/ru/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/tr/floater_region_restarting.xml | 23 ++++++++ .../default/xui/tr/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/tr/floater_stats.xml | 44 +++++++++++---- .../skins/default/xui/tr/menu_avatar_icon.xml | 1 + .../skins/default/xui/tr/menu_inventory.xml | 1 + indra/newview/skins/default/xui/tr/menu_login.xml | 10 +++- .../default/xui/tr/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/tr/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/tr/notifications.xml | 39 +++++++++---- .../default/xui/tr/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/tr/panel_group_roles.xml | 1 + .../skins/default/xui/tr/panel_region_debug.xml | 3 +- .../skins/default/xui/tr/panel_region_general.xml | 2 +- indra/newview/skins/default/xui/tr/strings.xml | 66 ++++++++++++++++++++-- .../default/xui/zh/floater_region_restarting.xml | 23 ++++++++ .../default/xui/zh/floater_scene_load_stats.xml | 64 +++++++++++++++++++++ .../newview/skins/default/xui/zh/floater_stats.xml | 44 +++++++++++---- .../skins/default/xui/zh/menu_avatar_icon.xml | 1 + .../skins/default/xui/zh/menu_inventory.xml | 1 + indra/newview/skins/default/xui/zh/menu_login.xml | 10 +++- .../default/xui/zh/menu_teleport_history_item.xml | 2 +- indra/newview/skins/default/xui/zh/menu_viewer.xml | 18 +++--- .../newview/skins/default/xui/zh/notifications.xml | 39 +++++++++---- .../default/xui/zh/panel_group_info_sidetray.xml | 2 +- .../skins/default/xui/zh/panel_group_roles.xml | 1 + .../skins/default/xui/zh/panel_region_debug.xml | 3 +- .../skins/default/xui/zh/panel_region_general.xml | 2 +- .../skins/default/xui/zh/sidepanel_inventory.xml | 6 +- indra/newview/skins/default/xui/zh/strings.xml | 63 ++++++++++++++++++++- 134 files changed, 2136 insertions(+), 434 deletions(-) create mode 100644 indra/newview/skins/default/xui/de/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/de/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/es/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/es/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/fr/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/it/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/it/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/ja/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/pt/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/ru/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/tr/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml create mode 100644 indra/newview/skins/default/xui/zh/floater_region_restarting.xml create mode 100644 indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/de/floater_region_restarting.xml b/indra/newview/skins/default/xui/de/floater_region_restarting.xml new file mode 100644 index 0000000000..890391c508 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="REGION WIRD NEU GESTARTET"> + <string name="RegionName"> + Die Region, in der Sie sich gerade befinden ([NAME]), wird gleich neu gestartet. + +Wenn Sie in dieser Region bleiben, werden Sie abgemeldet. + </string> + <string name="RestartSeconds"> + Sekunden bis Neustart +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + Die Region, in der Sie sich gerade befinden (-längster Regionsname-), wird gleich neu gestartet. + +Wenn Sie in dieser Region bleiben, werden Sie abgemeldet. + </text> + <text name="restart_seconds"> + Sekunden bis Neustart + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml new file mode 100644 index 0000000000..dff462a594 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="STATISTIKEN ZUM LADEN VON SZENEN"> + <button label="Anhalten" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Standard" name="basic"> + <stat_bar label="Frame-Pixel-Differenz" name="frame difference"/> + <stat_bar label="Empfangene UDP-Daten" name="bandwidth"/> + <stat_bar label="Paketverlust" name="packet_loss"/> + </stat_view> + <stat_view label="Erweitert" name="advanced"> + <stat_view label="Darstellung" name="render"> + <stat_bar label="Objektanzahl" name="objs"/> + <stat_bar label="Neue Objekte" name="newobjs"/> + <stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/> + </stat_view> + <stat_view label="Textur" name="texture"> + <stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/> + <stat_bar label="Cache-Leselatenz" name="texture_cache_read_latency"/> + <stat_bar label="Anzahl" name="numimagesstat"/> + <stat_bar label="Rohanzahl" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Netzwerk" name="network"> + <stat_bar label="Paketeingang" name="packetsinstat"/> + <stat_bar label="Paketausgang" name="packetsoutstat"/> + <stat_bar label="Objekte" name="objectdatareceived"/> + <stat_bar label="Textur" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Ebenen" name="layersdatareceived"/> + <stat_bar label="Tatsächlicher Eingang" name="messagedatain"/> + <stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/> + <stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simulator" name="sim"> + <stat_bar label="Objekte" name="simobjects"/> + <stat_bar label="Aktive Objekte" name="simactiveobjects"/> + <stat_bar label="Aktive Skripts" name="simactivescripts"/> + <stat_bar label="Paketeingang" name="siminpps"/> + <stat_bar label="Paketausgang" name="simoutpps"/> + <stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/> + <stat_bar label="Ausstehende Uploads" name="simpendinguploads"/> + <stat_bar label="Gesamtanzahl nicht bestätigter Bytes" name="simtotalunackedbytes"/> + <stat_view label="Zeit (ms)" name="simperf"> + <stat_bar label="Gesamt-Framezeit" name="simframemsec"/> + <stat_bar label="Nettozeit" name="simnetmsec"/> + <stat_bar label="Physikzeit" name="simsimphysicsmsec"/> + <stat_bar label="Simulationszeit" name="simsimothermsec"/> + <stat_bar label="Agentenzeit" name="simagentmsec"/> + <stat_bar label="Bilderzeit" name="simimagesmsec"/> + <stat_bar label="Skriptzeit" name="simscriptmsec"/> + <stat_bar label="Verbleib. Zeit" name="simsparemsec"/> + <stat_view label="Zeitdetails (ms)" name="timedetails"> + <stat_bar label="Physikschritt" name="simsimphysicsstepmsec"/> + <stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Physik – andere" name="simsimphysicsothermsec"/> + <stat_bar label="Schlafzeit" name="simsleepmsec"/> + <stat_bar label="Pump IO" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_stats.xml b/indra/newview/skins/default/xui/de/floater_stats.xml index f3239f73c7..f4a9acddec 100755 --- a/indra/newview/skins/default/xui/de/floater_stats.xml +++ b/indra/newview/skins/default/xui/de/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view" width="280"> <stat_view label="Basic" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bandbreite" name="bandwidth"/> + <stat_bar label="Empfangene UDP-Daten" name="bandwidth"/> <stat_bar label="Paketverlust" name="packet_loss"/> <stat_bar label="Ping Sim" name="ping"/> </stat_view> <stat_view label="Erweitert" name="advanced"> <stat_view label="Darstellung" name="render"> - <stat_bar label="Pro Frame gezeichnete KTris" name="ktrisframe"/> - <stat_bar label="Pro Sek. gezeichnete KTris" name="ktrissec"/> + <stat_bar label="KTris pro Frame" name="ktrisframe"/> + <stat_bar label="KTris pro Sekunden" name="ktrissec"/> <stat_bar label="Objektanzahl" name="objs"/> <stat_bar label="Neue Objekte" name="newobjs"/> <stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/> + <stat_bar label="Durchgeführte Okklusionsabfragen" name="occlusion_queries"/> + <stat_bar label="Okkludierte Objekte" name="occluded"/> + <stat_bar label="Nicht okkludierte Objekte" name="unoccluded"/> </stat_view> <stat_view label="Textur" name="texture"> <stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Rohsp" name="rawmemstat"/> <stat_bar label="Zugeteilter Sp" name="glboundmemstat"/> </stat_view> + <stat_view label="Speichernutzung" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="UI" name="LLView"/> + <stat_bar label="Schriftarten" name="LLFontFreetype"/> + <stat_bar label="Inventar" name="LLInventoryObject"/> + <stat_bar label="Viewer-Objekte" name="LLViewerObject"/> + <stat_bar label="Octree-Gruppendaten" name="LLViewerOctreeGroup"/> + <stat_bar label="Octree-Daten" name="LLViewerOctreeEntry"/> + <stat_bar label="Viewer-Objekt-Cache" name="LLVOCacheEntry"/> + <stat_bar label="Zeichnungsobjekte" name="LLDrawable"/> + <stat_bar label="Gesichtsdaten" name="LLFace"/> + <stat_bar label="Zeichnungsinfos" name="LLDrawInfo"/> + <stat_bar label="Texturdaten" name="LLTexture"/> + <stat_bar label="Bilddaten" name="LLImage"/> + <stat_bar label="GL-Bilddaten" name="LLImageGL"/> + <stat_bar label="Vertex-Buffer" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Netzwerk" name="network"> <stat_bar label="Paketeingang" name="packetsinstat"/> <stat_bar label="Paketausgang" name="packetsoutstat"/> - <stat_bar label="Objekte" name="objectkbitstat"/> - <stat_bar label="Textur" name="texturekbitstat"/> - <stat_bar label="Bestand" name="assetkbitstat"/> - <stat_bar label="Ebenen" name="layerskbitstat"/> - <stat_bar label="Tatsächlicher Eingang" name="actualinkbitstat"/> - <stat_bar label="Tatsächlicher Ausgang" name="actualoutkbitstat"/> + <stat_bar label="Objekte" name="objectdatareceived"/> + <stat_bar label="Textur" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Ebenen" name="layersdatareceived"/> + <stat_bar label="Tatsächlicher Eingang" name="messagedatain"/> + <stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/> <stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="Paketausgang" name="simoutpps"/> <stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/> <stat_bar label="Ausstehende Uploads" name="simpendinguploads"/> - <stat_bar label="Gesamtanzahl „Unacked" Bytes" name="simtotalunackedbytes"/> - <stat_view label="Zeit (ms)" name="simperf"> + <stat_bar label="Gesamtmenge unbestätigter Daten" name="simtotalunackedbytes"/> + <stat_view label="Zeit" name="simperf"> <stat_bar label="Gesamtzeit Frame" name="simframemsec"/> <stat_bar label="Netto-Zeit" name="simnetmsec"/> <stat_bar label="Physik-Zeit" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="Bilder-Zeit" name="simimagesmsec"/> <stat_bar label="Skript-Zeit" name="simscriptmsec"/> <stat_bar label="Verbleib. Zeit" name="simsparemsec"/> - <stat_view label="Zeitdetails (ms)" name="timedetails"> + <stat_view label="Zeitdetails" name="timedetails"> <stat_bar label="Physik-Schritt" name="simsimphysicsstepmsec"/> <stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Physik – andere" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml index c036cf5515..ad47f1d37d 100755 --- a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Profil anzeigen" name="Show Profile"/> <menu_item_call label="IM senden..." name="Send IM"/> + <menu_item_call label="Teleport anfordern" name="Request Teleport"/> <menu_item_call label="Freund hinzufügen..." name="Add Friend"/> <menu_item_call label="Freund entfernen..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml index cd2fca313e..d838f736f8 100755 --- a/indra/newview/skins/default/xui/de/menu_inventory.xml +++ b/indra/newview/skins/default/xui/de/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/> <menu_item_call label="SLurl kopieren" name="url_copy"/> <menu_item_call label="Landmarken-Info" name="About Landmark"/> + <menu_item_call label="Auf Karte anzeigen" name="show_on_map"/> <menu_item_call label="Inworld abspielen" name="Animation Play"/> <menu_item_call label="Lokal abspielen" name="Animation Audition"/> <menu_item_call label="Instant Message senden" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml index 62358cc5a8..329ea20179 100755 --- a/indra/newview/skins/default/xui/de/menu_login.xml +++ b/indra/newview/skins/default/xui/de/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="[APP_NAME] schließen" name="Quit"/> </menu> <menu label="Hilfe" name="Help"> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> + <menu_item_call label="Anweisungen..." name="How To"/> + <menu_item_call label="Kurzanleitung" name="Quickstart"/> + <menu_item_call label="Knowledge Base" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Community-Foren" name="Community Forums"/> + <menu_item_call label="Support-Portal" name="Support portal"/> + <menu_item_call label="[SECOND_LIFE]-Neuigkeiten" name="Second Life News"/> + <menu_item_call label="[SECOND_LIFE]-Blogs" name="Second Life Blogs"/> + <menu_item_call label="Fehler melden" name="Report Bug"/> <menu_item_call label="INFO ÜBER [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml index ff8fb0b181..1d7e3059c0 100755 --- a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Teleportieren" name="Teleport"/> <menu_item_call label="Weitere Informationen" name="More Information"/> - <menu_item_call label="In Zwischenablage kopieren" name="CopyToClipboard"/> + <menu_item_call label="SLurl kopieren" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index be5d4891d7..8e15e128a6 100755 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -72,11 +72,11 @@ <menu_item_check label="Menü „Erweitert“" name="Show Advanced Menu"/> </menu> <menu label="Sonne" name="Sun"> - <menu_item_call label="Sonnenaufgang" name="Sunrise"/> - <menu_item_call label="Mittag" name="Noon"/> - <menu_item_call label="Sonnenuntergang" name="Sunset"/> - <menu_item_call label="Mitternacht" name="Midnight"/> - <menu_item_call label="Regionseinstellungen verwenden" name="Use Region Settings"/> + <menu_item_check label="Sonnenaufgang" name="Sunrise"/> + <menu_item_check label="Mittag" name="Noon"/> + <menu_item_check label="Sonnenuntergang" name="Sunset"/> + <menu_item_check label="Mitternacht" name="Midnight"/> + <menu_item_check label="Regionseinstellungen verwenden" name="Use Region Settings"/> </menu> <menu label="Umwelt-Editor" name="Environment Editor"> <menu_item_call label="Umwelt-Einstellungen..." name="Environment Settings"/> @@ -165,8 +165,6 @@ </menu> <menu label="Hilfe" name="Help"> <menu_item_call label="Anweisungen..." name="How To"/> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> - <menu_item_call label="Benutzerhandbuch" name="User’s guide"/> <menu_item_call label="Knowledge Base" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Community-Foren" name="Community Forums"/> @@ -188,6 +186,7 @@ <menu label="Performance Tools" name="Performance Tools"> <menu_item_call label="Lag-Anzeige" name="Lag Meter"/> <menu_item_check label="Statistikleiste" name="Statistics Bar"/> + <menu_item_call label="Statistiken zum Laden von Szenen" name="Scene Load Statistics"/> <menu_item_check label="Zuggewicht für Avatare anzeigen" name="Avatar Rendering Cost"/> </menu> <menu label="Hervorhebung und Sichtbarkeit" name="Highlighting and Visibility"> @@ -250,6 +249,7 @@ <menu_item_check label="Schnelle Timer" name="Fast Timers"/> <menu_item_check label="Speicher" name="Memory"/> <menu_item_check label="Szenestatistiken" name="Scene Statistics"/> + <menu_item_check label="Monitor zum Laden von Szenen" name="Scene Loading Monitor"/> <menu_item_call label="Debug-Konsole für Texturabruffehler" name="Texture Fetch Debug Console"/> <menu_item_call label="Info zu Region in Fenster Fehler beseitigen" name="Region Info to Debug Console"/> <menu_item_call label="Gruppeninfo in Fenster Fehler beseitigen" name="Group Info to Debug Console"/> @@ -286,6 +286,7 @@ <menu_item_check label="Periodic Slow Frame" name="Periodic Slow Frame"/> <menu_item_check label="Frame-Test" name="Frame Test"/> <menu_item_call label="Rahmenprofil" name="Frame Profile"/> + <menu_item_call label="Benchmark" name="Benchmark"/> </menu> <menu label="Metadaten darstellen" name="Render Metadata"> <menu_item_check label="Bonding Boxes" name="Bounding Boxes"/> @@ -304,6 +305,7 @@ <menu_item_check label="Konstruktionswarteschlange" name="Build Queue"/> <menu_item_check label="Lichter" name="Lights"/> <menu_item_check label="Gelenkpunkte" name="Collision Skeleton"/> + <menu_item_check label="Gelenke" name="Joints"/> <menu_item_check label="Raycast" name="Raycast"/> <menu_item_check label="Windvektoren" name="Wind Vectors"/> <menu_item_check label="Komplexität beim Rendern" name="rendercomplexity"/> @@ -336,6 +338,7 @@ <menu_item_check label="Angehängte Lichter rendern" name="Render Attached Lights"/> <menu_item_check label="Angehängte Partikel rendern" name="Render Attached Particles"/> <menu_item_check label="Leucht-Objekte schweben lassen" name="Hover Glow Objects"/> + <menu_item_call label="Cache sofort leeren" name="Cache Clear"/> </menu> <menu label="Netzwerk" name="Network"> <menu_item_check label="Agent pausieren" name="AgentPause"/> @@ -368,7 +371,6 @@ <menu_item_call label="Fokus ausgeben" name="Dump Focus Holder"/> <menu_item_call label="Ausgewählte Objektinfo drucken" name="Print Selected Object Info"/> <menu_item_call label="Agent-Info drucken" name="Print Agent Info"/> - <menu_item_check label="Regions-Debug-Konsole" name="Region Debug Console"/> <menu_item_check label="Fehler in SelectMgr beseitigen" name="Debug SelectMgr"/> <menu_item_check label="Fehler in Klicks beseitigen" name="Debug Clicks"/> <menu_item_check label="Debug-Ansichten" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index b3ae98f633..c728402e89 100755 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -114,13 +114,13 @@ Weitere Informationen finden Sie im [[MARKETPLACE_IMPORTS_URL] Fehlerprotokoll]. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Übertragung fehlgeschlagen + Übertragung fehlgeschlagen mit Fehler „[ERROR_CODE]“ Aufgrund eines System- oder Netzwerkfehlers wurden keine Ordner an den Marktplatz übertragen. Versuchen Sie es später erneut. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Marktplatzinitialisierung fehlgeschlagen + Marktplatzinitialisierung fehlgeschlagen mit Fehler „[ERROR_CODE]“ Marktplatzinitialisierung aufgrund eines System- oder Netzwerkfehlers fehlgeschlagen. Versuchen Sie es später erneut. <usetemplate name="okbutton" yestext="OK"/> @@ -1744,6 +1744,10 @@ womit Sie die Höchstgrenze von [LIMIT] überschreiten. Sind Sie sicher, dass Sie zu <nolink>[LOCATION]</nolink> teleportieren möchten? <usetemplate ignoretext="Bestätigen, dass ich zu einer Landmarke teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/> </notification> + <notification name="TeleportViaSLAPP"> + Möchten Sie wirklich zu <nolink>[LOCATION]</nolink> teleportieren? + <usetemplate ignoretext="Bestätigen, dass ich via SLAPP teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/> + </notification> <notification name="TeleportToPick"> Nach [PICK] teleportieren? <usetemplate ignoretext="Bestätigen, dass ich zu einer Position in Auswahl teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/> @@ -1954,6 +1958,9 @@ Tausende Regionen werden verändert und der Spaceserver wird dadurch stark belas <notification name="ProblemAddingEstateManager"> Es gibt Probleme beim Hinzufügen eines neuen Grundbesitzverwalters. Bei mindestens einem Grundbesitz ist die Verwalterliste voll. </notification> + <notification name="ProblemAddingEstateBanManager"> + Grundbesitzer oder Grundstücksverwalter kann nicht auf die Bannliste gesetzt werden. + </notification> <notification name="ProblemAddingEstateGeneric"> Problem beim Hinzufügen zu dieser Grundbesitzliste. Bei mindestens einem Grundbesitz ist die Liste voll. </notification> @@ -3038,13 +3045,13 @@ Details finden Sie in der Protokolldatei. Regionsfähigkeit „[CAPABILITY]“ konnte nicht abgerufen werden. </notification> <notification name="ShareItemsConfirmation"> - Möchten Sie wirklich die folgenden Objekte: + Möchten Sie wirklich die folgenden Artikel: <nolink>[ITEMS]</nolink> -für folgende Einwohner freigeben: +mit den folgenden Einwohnern teilen: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3056,7 +3063,7 @@ Möchten Sie wirklich die folgenden Artikel: mit den folgenden Einwohnern teilen: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="ItemsShared"> @@ -3510,10 +3517,6 @@ Warten Sie kurz und versuchen Sie es noch einmal. <notification name="EjectComingSoon"> Sie nicht hier nicht mehr zugelassen und haben [EJECT_TIME] Sekunden Zeit, um zu gehen. </notification> - <notification name="NoEnterServerFull"> - Sie können diese Region nicht betreten, da -der Server voll ist. - </notification> <notification name="SaveBackToInvDisabled"> Erneutes Speichern im Inventar ist deaktiviert. </notification> @@ -3703,6 +3706,9 @@ der Server voll ist. <notification name="LinkFailedTooMuchPhysics"> Objekt verwendet zu viele Physikressourcen – seine Dynamik wurde deaktiviert. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + Das Objekt „[OBJECT_NAME]“ auf [SLURL] kann Grundstücksverwalter nicht nach Hause teleportieren. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Sie wurden vom Objekt „[OBJECT_NAME]“ auf der Parzelle „[PARCEL_NAME]“ nach Hause teleportiert </notification> @@ -3893,13 +3899,18 @@ der Server voll ist. Auswahl enthält nicht genügend gemietete Parzellen zum Zusammenlegen. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Land kann nicht geteilt werden.\nMehr als eine Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus. + Land kann nicht geteilt werden. +Mehr als eine Parzelle ist ausgewählt. +Wählen Sie eine kleinere Landfläche aus. </notification> <notification name="CantDivideLandCantFindParcel"> - Land kann nicht geteilt werden.\nParzelle nicht auffindbar.\nMelden Sie das Problem über „Hilfe“ -> „Fehler melden“... + Land kann nicht geteilt werden. +Parzelle kann nicht gefunden werden. +Bitte melden Sie den Fehler über „Hilfe“ -> „Fehler melden“. </notification> <notification name="CantDivideLandWholeParcelSelected"> - Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus. + Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt. +Wählen Sie eine kleinere Landfläche aus. </notification> <notification name="LandHasBeenDivided"> Land wurde geteilt. @@ -4039,4 +4050,8 @@ der Server voll ist. Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt. <usetemplate ignoretext="Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + Chatverlaufsdatei ist noch mit vorheriger Operation beschäftigt. Versuchen Sie es in ein paar Minuten noch einmal oder chatten Sie mit einer anderen Person. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml index bf4d44af52..1775394ecd 100755 --- a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Allgemein"/> - <accordion_tab name="group_roles_tab" title="Rollen"/> + <accordion_tab name="group_roles_tab" title="Rollen und Mitglieder"/> <accordion_tab name="group_notices_tab" title="Mitteilungen"/> <accordion_tab name="group_land_tab" title="Land/Kapital"/> </accordion> diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml index f297d32a91..20f61817a3 100755 --- a/indra/newview/skins/default/xui/de/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/de/panel_group_roles.xml @@ -21,6 +21,7 @@ um mehrere Mitglieder auszuwählen. <name_list.columns label="Mitglied" name="name" relative_width="0.30"/> <name_list.columns label="Übereignung" name="donated" relative_width="0.33"/> <name_list.columns label="Status" name="online"/> + <name_list.columns label="Titel" name="title"/> </name_list> <button label="Einladen" name="member_invite"/> <button label="Hinauswerfen" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml index a03a0b8b7b..d4b0ed907e 100755 --- a/indra/newview/skins/default/xui/de/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/de/panel_region_debug.xml @@ -7,11 +7,8 @@ unbekannt </text> <check_box label="Skripts deaktivieren" name="disable_scripts_check" tool_tip="Skripts in dieser Region deaktivieren"/> - <button label="?" name="disable_scripts_help"/> <check_box label="Kollisionen deaktivieren" name="disable_collisions_check" tool_tip="Nicht-Avatar-Kollisionen in dieser Region deaktivieren"/> - <button label="?" name="disable_collisions_help"/> <check_box label="Physik deaktivieren" name="disable_physics_check" tool_tip="Physik in dieser Region deaktivieren"/> - <button label="?" name="disable_physics_help"/> <button label="Übernehmen" name="apply_btn"/> <text name="objret_text_lbl" width="110"> Objekt zurückgeben @@ -31,10 +28,8 @@ <check_box label="In jeder Region auf diesem Grundbesitz" name="return_estate_wide" tool_tip="Es werden die Objekte in allen Regionen dieses Grundbesitzes zurückgegeben"/> <button label="Zurückgeben" name="return_btn" width="90"/> <button label="Top-Kollisionsobjekte..." name="top_colliders_btn" tool_tip="Liste der Objekte mit den meisten potenziellen Kollisionen"/> - <button label="?" name="top_colliders_help"/> - <button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/> - <button label="?" name="top_scripts_help"/> <button label="Region neu starten" name="restart_btn" tool_tip="2-Minuten-Countdown und Region neu starten"/> - <button label="?" name="restart_help"/> + <button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/> <button label="Neustart abbrechen" name="cancel_restart_btn" tool_tip="Regionsneustart abbrechen"/> + <button label="Regions-Debug-Konsole" name="region_debug_console_btn" tool_tip="Regions-Debug-Konsole öffnen"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml index f383be992b..6324e90029 100755 --- a/indra/newview/skins/default/xui/de/panel_region_general.xml +++ b/indra/newview/skins/default/xui/de/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Terraformen blockieren" name="block_terraform_check"/> <check_box label="Fliegen blockieren" name="block_fly_check"/> + <check_box label="Überfliegen von Parzellen blockieren" name="block_fly_over_check" tool_tip="Zugangsprüfungen nach oben ausdehnen, um Überfliegen einer Parzelle zu verhindern"/> <check_box label="Schaden zulassen" name="allow_damage_check"/> <check_box label="Stoßen beschränken" name="restrict_pushobject"/> <check_box label="Landwiederverkauf zulassen" name="allow_land_resell_check"/> <check_box label="Landumverteilung zulassen" name="allow_parcel_changes_check"/> <check_box label="Landanzeige in Suche blockieren" name="block_parcel_search_check" tool_tip="Diese Region und ihre Parzellen in Suchergebnissen anzeigen"/> - <check_box label="Netzobjekte zulassen" name="mesh_rez_enabled_check" tool_tip="Anderen das Rezzen von Netzobjekten in dieser Region gestatten"/> <spinner label="Avatar-Limit" name="agent_limit_spin"/> <spinner label="Objektbonus" name="object_bonus_spin"/> <text label="Inhaltseinstufung" name="access_text"> diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml index 2585c5dc90..94c3c75254 100755 --- a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml @@ -28,12 +28,12 @@ <button label="Profil" name="info_btn" tool_tip="Objektprofil anzeigen"/> </layout_panel> <layout_panel name="share_btn_lp"> - <button label="Teilen" name="share_btn" tool_tip="Inventarobjekt teilen"/> + <button label="Freigeben" name="share_btn" tool_tip="Inventarobjekt freigeben"/> </layout_panel> <layout_panel name="shop_btn_lp"> <button label="Einkaufen" name="shop_btn" tool_tip="Marktplatz-Webseite öffnen"/> <button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/> - <button label="Wiedergeben" name="play_btn"/> + <button label="Spielen" name="play_btn"/> <button label="Teleportieren" name="teleport_btn" tool_tip="Zu ausgewähltem Standort teleportieren"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 082febd709..95657ba14e 100755 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -37,6 +37,45 @@ <string name="StartupRequireDriverUpdate"> Grafikinitialisierung fehlgeschlagen. Bitte aktualisieren Sie Ihren Grafiktreiber. </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + Kompiliert mit [COMPILER], Version [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Sie befinden sich an [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] auf <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL: <nolink>[SLURL]</nolink> +(globale Koordinaten [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU: [CPU] +Speicher: [MEMORY_MB] MB +Betriebssystemversion: [OS_VERSION] +Grafikkartenhersteller: [GRAPHICS_CARD_VENDOR] +Grafikkarte: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Windows-Grafiktreiberversion: [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + OpenGL-Version: [OPENGL_VERSION] + +libcurl-Version: [LIBCURL_VERSION] +J2C-Decoderversion: [J2C_VERSION] +Audiotreiberversion: [AUDIO_DRIVER_VERSION] +Qt-Webkit-Version: [QT_WEBKIT_VERSION] +Voice-Server-Version: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Paketverlust: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1] %) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Fehler beim Abrufen der URL für die Server-Versionshinweise. + </string> <string name="ProgressRestoring"> Wird wiederhergestellt... </string> @@ -937,15 +976,15 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <string name="ControlYourCamera"> Kamerasteuerung </string> + <string name="TeleportYourAgent"> + Sie teleportieren + </string> <string name="NotConnected"> Nicht verbunden </string> <string name="AgentNameSubst"> (Sie) </string> - <string name="TeleportYourAgent"> - Sie teleportieren - </string> <string name="JoinAnExperience"> Bei einem Erlebnis mitmachen </string> @@ -1267,8 +1306,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <string name="InventoryNoTexture"> Sie haben keine Kopie dieser Textur in Ihrem Inventar. </string> - <string name="Unconstrained">keines</string> - <string name="InventoryInboxNoItems"> + <string name="InventoryInboxNoItems"> Einkäufe aus dem Marktplatz erscheinen hier. Sie können diese dann zur Verwendung in Ihr Inventar ziehen. </string> <string name="MarketplaceURL"> @@ -1300,6 +1338,18 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <string name="InventoryOutboxNoItems"> Ziehen Sie Ordner in dien Bereich und klicken Sie auf „In Marktplatz übertragen“, um sie im [[MARKETPLACE_DASHBOARD_URL] Marktplatz] zum Verkauf anzubieten. </string> + <string name="InventoryOutboxInitializingTitle"> + Marktplatz wird initialisiert. + </string> + <string name="InventoryOutboxInitializing"> + Wir greifen auf Ihr Konto im [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] zu. + </string> + <string name="InventoryOutboxErrorTitle"> + Marktplatzfehler. + </string> + <string name="InventoryOutboxError"> + Der [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] gibt Fehler zurück. + </string> <string name="Marketplace Error None"> Keine Fehler </string> @@ -1327,6 +1377,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <string name="Open landmarks"> Landmarken öffnen </string> + <string name="Unconstrained"> + Variabel + </string> <string name="no_transfer" value=" (kein Transferieren)"/> <string name="no_modify" value=" (kein Bearbeiten)"/> <string name="no_copy" value=" (kein Kopieren)"/> @@ -1727,6 +1780,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <string name="CompileQueueDownloadedCompiling"> Heruntergeladen, wird kompiliert </string> + <string name="CompileQueueServiceUnavailable"> + Kein Skriptkompilierungsdienst verfügbar + </string> <string name="CompileQueueScriptNotFound"> Skript wurde auf Server nicht gefunden. </string> diff --git a/indra/newview/skins/default/xui/es/floater_region_restarting.xml b/indra/newview/skins/default/xui/es/floater_region_restarting.xml new file mode 100644 index 0000000000..d55c8eff17 --- /dev/null +++ b/indra/newview/skins/default/xui/es/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="REGIÓN REINICIANDO"> + <string name="RegionName"> + La región en la que te encuentras ([NAME]) se va a reiniciar. + +Si permaneces en esta región serás desconectado. + </string> + <string name="RestartSeconds"> + Segundos hasta el reinicio +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + La región en la que te encuentras (-el nombre de región más largo-) se va a reiniciar. + +Si permaneces en esta región serás desconectado. + </text> + <text name="restart_seconds"> + Segundos hasta el reinicio + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml new file mode 100644 index 0000000000..f625d5257c --- /dev/null +++ b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="ESTADÍSTICAS DE CARGA DE ESCENA"> + <button label="Pausa" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Básica" name="basic"> + <stat_bar label="Diferencia de píxeles de fotograma" name="frame difference"/> + <stat_bar label="Datos de UDP recibidos" name="bandwidth"/> + <stat_bar label="Pérdida de paquetes" name="packet_loss"/> + </stat_view> + <stat_view label="Avanzado" name="advanced"> + <stat_view label="Renderización" name="render"> + <stat_bar label="Objetos en total" name="objs"/> + <stat_bar label="Objetos nuevos" name="newobjs"/> + <stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/> + </stat_view> + <stat_view label="Textura" name="texture"> + <stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/> + <stat_bar label="Latencia de lectura de caché" name="texture_cache_read_latency"/> + <stat_bar label="Número" name="numimagesstat"/> + <stat_bar label="Raw: número" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Red" name="network"> + <stat_bar label="Paquetes salientes" name="packetsinstat"/> + <stat_bar label="Paquetes entrantes" name="packetsoutstat"/> + <stat_bar label="Objetos" name="objectdatareceived"/> + <stat_bar label="Textura" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Capas" name="layersdatareceived"/> + <stat_bar label="Entrando ahora" name="messagedatain"/> + <stat_bar label="Saliendo ahora" name="messagedataout"/> + <stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simulador" name="sim"> + <stat_bar label="Objetos" name="simobjects"/> + <stat_bar label="Objetos activos" name="simactiveobjects"/> + <stat_bar label="Scripts activos" name="simactivescripts"/> + <stat_bar label="Paquetes salientes" name="siminpps"/> + <stat_bar label="Paquetes entrantes" name="simoutpps"/> + <stat_bar label="Descargas pendientes" name="simpendingdownloads"/> + <stat_bar label="Subidas pendientes" name="simpendinguploads"/> + <stat_bar label="Total de bytes no reconocidos" name="simtotalunackedbytes"/> + <stat_view label="Tiempo (ms)" name="simperf"> + <stat_bar label="Tiempo total de los frames" name="simframemsec"/> + <stat_bar label="Tiempo de red" name="simnetmsec"/> + <stat_bar label="Physics Time" name="simsimphysicsmsec"/> + <stat_bar label="Tiempo de la simulación" name="simsimothermsec"/> + <stat_bar label="Tiempo de los agentes" name="simagentmsec"/> + <stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/> + <stat_bar label="Tiempo de los scripts" name="simscriptmsec"/> + <stat_bar label="Tiempo libre" name="simsparemsec"/> + <stat_view label="Datos de tiempo (ms)" name="timedetails"> + <stat_bar label="Paso de física" name="simsimphysicsstepmsec"/> + <stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/> + <stat_bar label="Tiempo de suspensión" name="simsleepmsec"/> + <stat_bar label="Bombea E/S" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/es/floater_stats.xml b/indra/newview/skins/default/xui/es/floater_stats.xml index 00601920f2..7ecf5fafae 100755 --- a/indra/newview/skins/default/xui/es/floater_stats.xml +++ b/indra/newview/skins/default/xui/es/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="Básico" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Ancho de banda" name="bandwidth"/> + <stat_bar label="Datos de UDP recibidos" name="bandwidth"/> <stat_bar label="Pérdida de paquetes" name="packet_loss"/> <stat_bar label="Ping del Sim" name="ping"/> </stat_view> <stat_view label="Avanzado" name="advanced"> <stat_view label="Renderización" name="render"> - <stat_bar label="KTris generados por fotograma" name="ktrisframe"/> - <stat_bar label="KTris generados por segundo" name="ktrissec"/> + <stat_bar label="KTris por fotograma" name="ktrisframe"/> + <stat_bar label="KTris por segundo" name="ktrissec"/> <stat_bar label="Objetos en total" name="objs"/> <stat_bar label="Objetos nuevos" name="newobjs"/> <stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/> + <stat_bar label="Consultas de oclusión realizadas" name="occlusion_queries"/> + <stat_bar label="Objetos ocluidos" name="occluded"/> + <stat_bar label="Objeto no ocluido" name="unoccluded"/> </stat_view> <stat_view label="Textura" name="texture"> <stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Raw Mem" name="rawmemstat"/> <stat_bar label="Bound Mem" name="glboundmemstat"/> </stat_view> + <stat_view label="Memoria utilizada" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="UI" name="LLView"/> + <stat_bar label="Fuentes" name="LLFontFreetype"/> + <stat_bar label="Inventario" name="LLInventoryObject"/> + <stat_bar label="Objetos del visor" name="LLViewerObject"/> + <stat_bar label="Datos de grupo de árbol octal" name="LLViewerOctreeGroup"/> + <stat_bar label="Datos de árbol octal" name="LLViewerOctreeEntry"/> + <stat_bar label="Caché de objetos del visor" name="LLVOCacheEntry"/> + <stat_bar label="Objetos dibujables" name="LLDrawable"/> + <stat_bar label="Datos de cara" name="LLFace"/> + <stat_bar label="Información de dibujo" name="LLDrawInfo"/> + <stat_bar label="Datos de textura" name="LLTexture"/> + <stat_bar label="Datos de imagen" name="LLImage"/> + <stat_bar label="Datos de imagen GL" name="LLImageGL"/> + <stat_bar label="Memorias intermedias de vértice" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Red" name="network"> <stat_bar label="Paquetes salientes" name="packetsinstat"/> <stat_bar label="Paquetes entrantes" name="packetsoutstat"/> - <stat_bar label="Objetos" name="objectkbitstat"/> - <stat_bar label="Textura" name="texturekbitstat"/> - <stat_bar label="Asset" name="assetkbitstat"/> - <stat_bar label="Capas" name="layerskbitstat"/> - <stat_bar label="Entrando ahora" name="actualinkbitstat"/> - <stat_bar label="Saliendo ahora" name="actualoutkbitstat"/> + <stat_bar label="Objetos" name="objectdatareceived"/> + <stat_bar label="Textura" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Capas" name="layersdatareceived"/> + <stat_bar label="Entrando ahora" name="messagedatain"/> + <stat_bar label="Saliendo ahora" name="messagedataout"/> <stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -53,7 +73,8 @@ <stat_bar label="Pasos de silueta omitidos" name="simsimskippedsilhouettesteps"/> <stat_bar label="Personajes actualizados" name="simsimpctsteppedcharacters"/> </stat_view> - <stat_view label="Tiempo (ms)" name="simperf"> + <stat_bar label="Total de datos no reconocidos" name="simtotalunackedbytes"/> + <stat_view label="Tiempo" name="simperf"> <stat_bar label="Tiempo total de los frames" name="simframemsec"/> <stat_bar label="Tiempo de red" name="simnetmsec"/> <stat_bar label="Physics Time" name="simsimphysicsmsec"/> @@ -62,7 +83,7 @@ <stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/> <stat_bar label="Tiempo de los scripts" name="simscriptmsec"/> <stat_bar label="Tiempo libre" name="simsparemsec"/> - <stat_view label="Datos de tiempo (ms)" name="timedetails"> + <stat_view label="Detalles de tiempo" name="timedetails"> <stat_bar label="Paso de física" name="simsimphysicsstepmsec"/> <stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml index fe7331a108..e3299b0a6b 100755 --- a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Ver el perfil" name="Show Profile"/> <menu_item_call label="Enviar un MI..." name="Send IM"/> + <menu_item_call label="Petición de teleporte" name="Request Teleport"/> <menu_item_call label="Añadir como amigo..." name="Add Friend"/> <menu_item_call label="Quitar de los amigos..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml index 803d3f1331..cd5bc7917d 100755 --- a/indra/newview/skins/default/xui/es/menu_inventory.xml +++ b/indra/newview/skins/default/xui/es/menu_inventory.xml @@ -69,6 +69,7 @@ <menu_item_call label="Escuchar" name="Sound Play"/> <menu_item_call label="Copiar la SLurl" name="url_copy"/> <menu_item_call label="Acerca del hito" name="About Landmark"/> + <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> <menu_item_call label="Escuchar en el mundo" name="Animation Play"/> <menu_item_call label="Ejecutarla para usted" name="Animation Audition"/> <menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml index 2286d0527a..336572f0cb 100755 --- a/indra/newview/skins/default/xui/es/menu_login.xml +++ b/indra/newview/skins/default/xui/es/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="Salir de [APP_NAME]" name="Quit"/> </menu> <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Cómo..." name="How To"/> + <menu_item_call label="Guía rápida" name="Quickstart"/> + <menu_item_call label="Base de Conocimientos" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Foros comunitarios" name="Community Forums"/> + <menu_item_call label="Portal de soporte" name="Support portal"/> + <menu_item_call label="Noticias de [SECOND_LIFE]" name="Second Life News"/> + <menu_item_call label="Blogs de [SECOND_LIFE]" name="Second Life Blogs"/> + <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ú 'Debug'" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml index c482907812..1ff555b727 100755 --- a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Teleportar" name="Teleport"/> <menu_item_call label="Más información" name="More Information"/> - <menu_item_call label="Copiar al portapapeles" name="CopyToClipboard"/> + <menu_item_call label="Copiar la SLurl" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index e4fe871683..d5208f3d8f 100755 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -71,11 +71,11 @@ <menu_item_check label="Menú Avanzado" name="Show Advanced Menu"/> </menu> <menu label="Sol" name="Sun"> - <menu_item_call label="Amanecer" name="Sunrise"/> - <menu_item_call label="Mediodía" name="Noon"/> - <menu_item_call label="Atardecer" name="Sunset"/> - <menu_item_call label="Medianoche" name="Midnight"/> - <menu_item_call label="Usar configuración de región" name="Use Region Settings"/> + <menu_item_check label="Amanecer" name="Sunrise"/> + <menu_item_check label="Mediodía" name="Noon"/> + <menu_item_check label="Atardecer" name="Sunset"/> + <menu_item_check label="Medianoche" name="Midnight"/> + <menu_item_check label="Usar configuración de región" name="Use Region Settings"/> </menu> <menu label="Editor de entorno" name="Environment Editor"> <menu_item_call label="Configuración del entorno..." name="Environment Settings"/> @@ -164,8 +164,6 @@ </menu> <menu label="Ayuda" name="Help"> <menu_item_call label="Cómo..." name="How To"/> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Guía del usuario" name="User’s guide"/> <menu_item_call label="Base de Conocimientos" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Foros comunitarios" name="Community Forums"/> @@ -187,6 +185,7 @@ <menu label="Herramientas de rendimiento" name="Performance Tools"> <menu_item_call label="Medidor de lag" name="Lag Meter"/> <menu_item_check label="Estadísticas" name="Statistics Bar"/> + <menu_item_call label="Estadísticas de carga de escenas" name="Scene Load Statistics"/> <menu_item_check label="Mostrar el peso del dibujo de los avatares" name="Avatar Rendering Cost"/> </menu> <menu label="Realzado y Visibilidad" name="Highlighting and Visibility"> @@ -248,6 +247,7 @@ <menu_item_check label="Fast Timers" name="Fast Timers"/> <menu_item_check label="Memory" name="Memory"/> <menu_item_check label="Datos de la escena" name="Scene Statistics"/> + <menu_item_check label="Monitor de carga de escenas" name="Scene Loading Monitor"/> <menu_item_call label="Consola de depuración de obtención de texturas" name="Texture Fetch Debug Console"/> <menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/> <menu_item_check label="Camera" name="Camera"/> @@ -279,6 +279,7 @@ <menu_item_check label="Randomize Framerate" name="Randomize Framerate"/> <menu_item_check label="Frame Test" name="Frame Test"/> <menu_item_call label="Perfil del fotograma" name="Frame Profile"/> + <menu_item_call label="Criterio de referencia" name="Benchmark"/> </menu> <menu label="Render Metadata" name="Render Metadata"> <menu_item_check label="Normales" name="Normals"/> @@ -286,6 +287,7 @@ <menu_item_check label="Actualizar el tipo" name="Update Type"/> <menu_item_check label="Información sobre el nivel de detalle" name="LOD Info"/> <menu_item_check label="Crear cola" name="Build Queue"/> + <menu_item_check label="Articulaciones" name="Joints"/> <menu_item_check label="Vectores de viento" name="Wind Vectors"/> <menu_item_check label="Complejidad del renderizado" name="rendercomplexity"/> <menu_item_check label="Bytes de adjunto" name="attachment bytes"/> @@ -311,6 +313,7 @@ <menu_item_check label="Render Attached Lights" name="Render Attached Lights"/> <menu_item_check label="Render Attached Particles" name="Render Attached Particles"/> <menu_item_check label="Hover Glow Objects" name="Hover Glow Objects"/> + <menu_item_call label="Limpiar caché inmediatamente" name="Cache Clear"/> </menu> <menu label="Red" name="Network"> <menu_item_check label="Pause Avatar" name="AgentPause"/> @@ -326,7 +329,6 @@ <menu_item_call label="Prueba de navegadores de medios" name="Web Browser Test"/> <menu_item_call label="Navegador de contenido web" name="Web Content Browser"/> <menu_item_call label="Print Selected Object Info" name="Print Selected Object Info"/> - <menu_item_check label="Consola de depuración de región" name="Region Debug Console"/> <menu_item_check label="Debug Clicks" name="Debug Clicks"/> <menu_item_check label="Debug Mouse Events" name="Debug Mouse Events"/> </menu> diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index d4451ad251..ae421cdfd0 100755 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -114,15 +114,15 @@ Puedes consultar más información en el [[MARKETPLACE_IMPORTS_URL] registro de <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Error de transferencia + Error de la transferencia: '[ERROR_CODE]' -No se han enviado carpetas al Mercado a causa de un error del sistema o de la red. Vuelve a intentarlo más tarde. +No se han enviado carpetas al Mercado a causa de un error del sistema o de la red. Vuelve a intentarlo más tarde. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Error al inicializar el mercado + Error de inicialización del Mercado: '[ERROR_CODE]' -La inicialización del mercado ha fallado por un error del sistema o de la red. Vuelve a intentarlo más tarde. +La inicialización del mercado ha fallado por un error del sistema o de la red. Vuelve a intentarlo más tarde. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="CompileQueueSaveText"> @@ -1739,6 +1739,10 @@ excediendo el límite de [LIMIT]. ¿Seguro que quieres teleportarte a <nolink>[LOCATION]</nolink>? <usetemplate ignoretext="Confirmar que quiero teleportarme a un hito" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/> </notification> + <notification name="TeleportViaSLAPP"> + ¿Seguro que quieres teleportarte a <nolink>[LOCATION]</nolink>? + <usetemplate ignoretext="Confirmar el teleporte mediante SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teleportarte"/> + </notification> <notification name="TeleportToPick"> ¿Teleportarte a [PICK]? <usetemplate ignoretext="Confirmar el teleporte a una localización de los Destacados" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/> @@ -1949,6 +1953,9 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se <notification name="ProblemAddingEstateManager"> Hay problemas al añadir un administrador nuevo del estado. Uno o más estados deben de tener llena la lista de administradores. </notification> + <notification name="ProblemAddingEstateBanManager"> + No se puede añadir el administrador o propietario de un estado a la lista de expulsados. + </notification> <notification name="ProblemAddingEstateGeneric"> Hay problemas al añadir a la lista del estado. Uno o más estados deben de tener llena la lista. </notification> @@ -3028,9 +3035,9 @@ Consulta los detalles en el archivo de registro. <nolink>[ITEMS]</nolink> -Con los siguientes residentes: +Con los siguientes Residentes: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3042,7 +3049,7 @@ Con los siguientes residentes: Con los siguientes Residentes: -[RESIDENTS] +<nolink>[RESIDENTES]</nolink> <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Aceptar"/> </notification> <notification name="ItemsShared"> @@ -3495,10 +3502,6 @@ Prueba otra vez dentro de un minuto. <notification name="EjectComingSoon"> Te han expulsado de aquí y tienes [EJECT_TIME] segundos para salir. </notification> - <notification name="NoEnterServerFull"> - No puedes entrar en esta región porque -el servidor está lleno. - </notification> <notification name="SaveBackToInvDisabled"> Se ha deshabilitado Devolver el objeto a mi inventario. </notification> @@ -3688,6 +3691,9 @@ el servidor está lleno. <notification name="LinkFailedTooMuchPhysics"> El objeto utiliza una cantidad excesiva de recursos de física; se ha desactivado su dinámica. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + El objeto '[OBJECT_NAME]' de [SLURL] no puede teleportar a los administradores del estado a la base. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Has sido teleportado al origen por el objeto '[OBJECT_NAME]' de la parcela '[PARCEL_NAME]' </notification> @@ -3878,13 +3884,18 @@ el servidor está lleno. La selección no contiene suficientes parcelas alquiladas para unirlas. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - No se puede dividir el terreno.\nHay varias parcelas seleccionadas.\nPrueba a seleccionar un terreno más pequeño. + No se puede dividir el terreno. +Hay varias parcelas seleccionadas. +Prueba a seleccionar un terreno más pequeño. </notification> <notification name="CantDivideLandCantFindParcel"> - No se puede dividir el terreno.\nNo se encuentra la parcela.\nAvísanos con Ayuda -> Notificar fallo... + No se puede dividir el terreno. +No se encuentra la parcela. +Notifícalo con Ayuda -> Informar de un fallo... </notification> <notification name="CantDivideLandWholeParcelSelected"> - No se puede dividir el terreno. Está seleccionada la parcela completa.\nPrueba a seleccionar un terreno más pequeño. + No se puede dividir el terreno. Esta seleccionada una parcela completa. +Prueba a seleccionar un terreno más pequeño. </notification> <notification name="LandHasBeenDivided"> El terreno se ha dividido. @@ -4024,4 +4035,8 @@ el servidor está lleno. No se pueden mover los archivos. Ruta anterior restaurada. <usetemplate ignoretext="No se pueden mover los archivos. Ruta anterior restaurada." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + El archivo de historial de chat todavía está realizando la operación anterior. Repite la operación dentro de unos minutos o inicia un chat con otra persona. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml index 09c4eec4d9..18eaa834da 100755 --- a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="General"/> - <accordion_tab name="group_roles_tab" title="Roles"/> + <accordion_tab name="group_roles_tab" title="Miembros y Roles"/> <accordion_tab name="group_notices_tab" title="Avisos"/> <accordion_tab name="group_land_tab" title="Terreno/Bienes"/> </accordion> diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml index 390b4e2e9d..ced40cca43 100755 --- a/indra/newview/skins/default/xui/es/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml @@ -20,6 +20,7 @@ Seleccione varios nombres manteniendo pulsada la tecla Ctrl y pulsando en cada u <name_list.columns label="Miembro" name="name"/> <name_list.columns label="Donaciones" name="donated"/> <name_list.columns label="Estatus" name="online"/> + <name_list.columns label="Cargo" name="title"/> </name_list> <button label="Invitar" name="member_invite"/> <button label="Expulsar" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/es/panel_region_debug.xml b/indra/newview/skins/default/xui/es/panel_region_debug.xml index 71bdba1a25..f6676967f5 100755 --- a/indra/newview/skins/default/xui/es/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/es/panel_region_debug.xml @@ -7,11 +7,8 @@ desconocida </text> <check_box label="Desactivar los scripts" name="disable_scripts_check" tool_tip="Descativar todos los scripts en esta región"/> - <button label="?" left="215" name="disable_scripts_help"/> <check_box label="Desactivar las colisiones" name="disable_collisions_check" tool_tip="Desactiva las colisiones (no las de avatares) en esta región"/> - <button label="?" left="215" name="disable_collisions_help"/> <check_box label="Desactivar las propiedades físicas" name="disable_physics_check" tool_tip="Desactiva toda la física en esta región"/> - <button label="?" left="215" name="disable_physics_help"/> <button label="Aplicar" name="apply_btn"/> <text name="objret_text_lbl" width="130"> Devolver el objeto @@ -31,10 +28,8 @@ <check_box label="En cada región de este estado" name="return_estate_wide" tool_tip="Devolver los objetos de todas las regiones que forman este estado"/> <button label="Devolver" name="return_btn"/> <button label="Listar los objetos que colisionan..." name="top_colliders_btn" tool_tip="Lista de los objetos con más posibles colisiones potenciales" width="280"/> - <button label="?" left="297" name="top_colliders_help"/> - <button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/> - <button label="?" left="297" name="top_scripts_help"/> <button label="Reiniciar la región" name="restart_btn" tool_tip="Cuenta atrás de 2 minutos y reiniciar la región"/> - <button label="?" name="restart_help"/> + <button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/> <button label="Cancelar reinicio" name="cancel_restart_btn" tool_tip="Cancelar el reinicio de región"/> + <button label="Consola de depuración de región" name="region_debug_console_btn" tool_tip="Abrir consola de depuración de región"/> </panel> diff --git a/indra/newview/skins/default/xui/es/panel_region_general.xml b/indra/newview/skins/default/xui/es/panel_region_general.xml index 453d1fe43c..82149e1c7c 100755 --- a/indra/newview/skins/default/xui/es/panel_region_general.xml +++ b/indra/newview/skins/default/xui/es/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="No permitir modificar el terreno" name="block_terraform_check"/> <check_box label="Prohibir volar" name="block_fly_check"/> + <check_box label="Bloquear el vuelo sobre parcelas" name="block_fly_over_check" tool_tip="Extender las comprobaciones de acceso en vertical para impedir el vuelo sobre una parcela"/> <check_box label="Permitir el daño" name="allow_damage_check"/> <check_box label="Impedir los 'empujones'" name="restrict_pushobject"/> <check_box label="Permitir la reventa del terreno" name="allow_land_resell_check"/> <check_box label="Permitir unir/dividir el terreno" name="allow_parcel_changes_check"/> <check_box label="Bloquear el mostrar el terreno en la búsqueda" name="block_parcel_search_check" tool_tip="Permitir que la gente vea esta región y sus parcelas en los resultados de la búsqueda."/> - <check_box label="Permitir objetos de red" name="mesh_rez_enabled_check" tool_tip="Permitir que los usuarios creen objetos de red en esta región"/> <spinner label="Nº máximo de avatares" label_width="120" name="agent_limit_spin" width="180"/> <spinner label="Plus de objetos" label_width="120" name="object_bonus_spin" width="180"/> <text label="Calificación" name="access_text"> diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml index 9ce14c856f..1e25a4a4a2 100755 --- a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml @@ -14,7 +14,7 @@ <text name="inbox_fresh_new_count"> [NUM] nuevos </text> - <panel tool_tip="Drag and drop items to your inventory to manage and use them"> + <panel name="inbox_inventory_placeholder_panel" tool_tip="Arrastra y coloca los artículos en tu inventario para poder utilizarlos"> <text name="inbox_inventory_placeholder"> Aquí se entregarán las compras realizadas en el mercado. </text> @@ -33,8 +33,8 @@ <layout_panel name="shop_btn_lp"> <button label="Comprar" name="shop_btn" tool_tip="Abrir la página web del mercado"/> <button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/> - <button label="Play" name="play_btn"/> - <button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/> + <button label="Jugar" name="play_btn"/> + <button label="Teleportarte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 2b91c542ad..544a70028b 100755 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -28,6 +28,45 @@ <string name="StartupRequireDriverUpdate"> Error de inicialización de gráficos. Actualiza tu controlador de gráficos. </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + Compilado con [COMPILER], versión [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Estás en la posición [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1], de [REGION], alojada en <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL: <nolink>[SLURL]</nolink> +(coordenadas globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU: [CPU] +Memoria: [MEMORY_MB] MB +Versión del Sistema Operativo: [OS_VERSION] +Fabricante de la tarjeta gráfica: [GRAPHICS_CARD_VENDOR] +Tarjeta gráfica: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Versión de Windows Graphics Driver: [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + Versión de OpenGL: [OPENGL_VERSION] + +Versión de libcurl: [LIBCURL_VERSION] +Versión de J2C Decoder: [J2C_VERSION] +Versión de Audio Driver: [AUDIO_DRIVER_VERSION] +Versión de Qt Webkit: [QT_WEBKIT_VERSION] +Versión del servidor de voz: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Paquetes perdidos: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Error al obtener la URL de las notas de la versión del servidor. + </string> <string name="ProgressRestoring"> Restaurando... </string> @@ -922,12 +961,12 @@ Intenta iniciar sesión de nuevo en unos instantes. <string name="ControlYourCamera"> Controlar su cámara </string> - <string name="AgentNameSubst"> - (Tú) - </string> <string name="TeleportYourAgent"> Teleportarte </string> + <string name="AgentNameSubst"> + (Tú) + </string> <string name="JoinAnExperience"> Únete a una experiencia </string> @@ -1252,8 +1291,7 @@ Intenta iniciar sesión de nuevo en unos instantes. <string name="InventoryInboxNoItems"> Aquí aparecerán algunos de los objetos que recibas, como los regalos Premium. Después puedes arrastrarlos a tu inventario. </string> - <string name="Unconstrained">Sin restricciones</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1282,6 +1320,18 @@ Intenta iniciar sesión de nuevo en unos instantes. <string name="InventoryOutboxNoItems"> Arrastra carpetas a esta sección y pulsa en "Enviar al Mercado" para incluirlas en la lista de venta del [[MARKETPLACE_DASHBOARD_URL] Mercado]. </string> + <string name="InventoryOutboxInitializingTitle"> + Inicializando el Mercado. + </string> + <string name="InventoryOutboxInitializing"> + Estamos accediendo a tu cuenta de la [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado]. + </string> + <string name="InventoryOutboxErrorTitle"> + Errores del Mercado. + </string> + <string name="InventoryOutboxError"> + La [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado] devuelve errores. + </string> <string name="Marketplace Error None"> Sin errores </string> @@ -1309,6 +1359,9 @@ Intenta iniciar sesión de nuevo en unos instantes. <string name="Open landmarks"> Abrir hitos </string> + <string name="Unconstrained"> + Sin restricciones + </string> <string name="no_transfer" value="(no transferible)"/> <string name="no_modify" value="(no modificable)"/> <string name="no_copy" value="(no copiable)"/> @@ -1703,6 +1756,9 @@ Intenta iniciar sesión de nuevo en unos instantes. <string name="CompileQueueDownloadedCompiling"> Descargado, compilándolo </string> + <string name="CompileQueueServiceUnavailable"> + El servicio de compilación de scripts no está disponible + </string> <string name="CompileQueueScriptNotFound"> No se encuentra el script en el servidor. </string> diff --git a/indra/newview/skins/default/xui/fr/floater_region_restarting.xml b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml new file mode 100644 index 0000000000..3a56a83c22 --- /dev/null +++ b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="REDÉMARRAGE DE LA RÉGION"> + <string name="RegionName"> + La région dans laquelle vous vous trouvez actuellement ([NAME]) est sur le point de redémarrer. + +Si vous restez dans cette région, vous serez déconnecté(e). + </string> + <string name="RestartSeconds"> + Secondes avant le redémarrage +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + La région dans laquelle vous vous trouvez actuellement (-le nom de région le plus long-) est sur le point de redémarrer. + +Si vous restez dans cette région, vous serez déconnecté(e). + </text> + <text name="restart_seconds"> + Secondes avant le redémarrage + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml new file mode 100644 index 0000000000..62830054bf --- /dev/null +++ b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="STATISTIQUES DE CHARGEMENT DE SCÈNE"> + <button label="Pauser" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Basique" name="basic"> + <stat_bar label="Différence en pixels entre les images" name="frame difference"/> + <stat_bar label="Données UDP reçues" name="bandwidth"/> + <stat_bar label="Perte de paquets" name="packet_loss"/> + </stat_view> + <stat_view label="Avancé" name="advanced"> + <stat_view label="Rendu" name="render"> + <stat_bar label="Total des objets" name="objs"/> + <stat_bar label="Nouveaux objets" name="newobjs"/> + <stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/> + </stat_view> + <stat_view label="Texture" name="texture"> + <stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/> + <stat_bar label="Latence de lecture du cache" name="texture_cache_read_latency"/> + <stat_bar label="Nombre" name="numimagesstat"/> + <stat_bar label="Nombre brut" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Réseau" name="network"> + <stat_bar label="Paquets en entrée" name="packetsinstat"/> + <stat_bar label="Paquets en sortie" name="packetsoutstat"/> + <stat_bar label="Objets" name="objectdatareceived"/> + <stat_bar label="Texture" name="texturedatareceived"/> + <stat_bar label="Actif" name="assetudpdatareceived"/> + <stat_bar label="Couches" name="layersdatareceived"/> + <stat_bar label="Arrivés" name="messagedatain"/> + <stat_bar label="Sortis" name="messagedataout"/> + <stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simulateur" name="sim"> + <stat_bar label="Objets" name="simobjects"/> + <stat_bar label="Objets actifs" name="simactiveobjects"/> + <stat_bar label="Scripts actifs" name="simactivescripts"/> + <stat_bar label="Paquets en entrée" name="siminpps"/> + <stat_bar label="Paquets en sortie" name="simoutpps"/> + <stat_bar label="Téléchargements en attente" name="simpendingdownloads"/> + <stat_bar label="Chargements en attente" name="simpendinguploads"/> + <stat_bar label="Total d'octets non reconnus" name="simtotalunackedbytes"/> + <stat_view label="Temps (ms)" name="simperf"> + <stat_bar label="Durée totale de l'image" name="simframemsec"/> + <stat_bar label="Durée nette" name="simnetmsec"/> + <stat_bar label="Durée physique" name="simsimphysicsmsec"/> + <stat_bar label="Durée de la simulation" name="simsimothermsec"/> + <stat_bar label="Durée des avatars" name="simagentmsec"/> + <stat_bar label="Durée des images" name="simimagesmsec"/> + <stat_bar label="Durée des scripts" name="simscriptmsec"/> + <stat_bar label="Temps d'inactivité" name="simsparemsec"/> + <stat_view label="Détails de la durée (ms)" name="timedetails"> + <stat_bar label="Étape propr. physiques" name="simsimphysicsstepmsec"/> + <stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/> + <stat_bar label="Temps de sommeil" name="simsleepmsec"/> + <stat_bar label="ES pompe" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_stats.xml b/indra/newview/skins/default/xui/fr/floater_stats.xml index d6bd187956..5cad6258ec 100755 --- a/indra/newview/skins/default/xui/fr/floater_stats.xml +++ b/indra/newview/skins/default/xui/fr/floater_stats.xml @@ -4,7 +4,7 @@ <container_view name="statistics_view"> <stat_view label="De base" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bande passante" name="bandwidth"/> + <stat_bar label="Données UDP reçues" name="bandwidth"/> <stat_bar label="Perte de paquets" name="packet_loss"/> <stat_bar label="Ping sim" name="ping"/> </stat_view> @@ -15,6 +15,9 @@ <stat_bar label="Objets totaux" name="objs"/> <stat_bar label="Nouveaux objets" name="newobjs"/> <stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/> + <stat_bar label="Requêtes d'occlusion effectuées" name="occlusion_queries"/> + <stat_bar label="Objets occlus" name="occluded"/> + <stat_bar label="Objets non occlus" name="unoccluded"/> </stat_view> <stat_view label="Texture" name="texture"> <stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Mém brute" name="rawmemstat"/> <stat_bar label="Mém liée" name="glboundmemstat"/> </stat_view> + <stat_view label="Utilisation de la mémoire" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="Interface" name="LLView"/> + <stat_bar label="Polices" name="LLFontFreetype"/> + <stat_bar label="Inventaire" name="LLInventoryObject"/> + <stat_bar label="Objets du client" name="LLViewerObject"/> + <stat_bar label="Données de groupe Octree" name="LLViewerOctreeGroup"/> + <stat_bar label="Données Octree" name="LLViewerOctreeEntry"/> + <stat_bar label="Cache des objets du client" name="LLVOCacheEntry"/> + <stat_bar label="Dessinables" name="LLDrawable"/> + <stat_bar label="Données de visage" name="LLFace"/> + <stat_bar label="Informations de tracé" name="LLDrawInfo"/> + <stat_bar label="Données de texture" name="LLTexture"/> + <stat_bar label="Données d'image" name="LLImage"/> + <stat_bar label="Données d'image GL" name="LLImageGL"/> + <stat_bar label="Tampon des sommets" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Réseau" name="network"> <stat_bar label="Paquets en entrée" name="packetsinstat"/> <stat_bar label="Paquets en sortie" name="packetsoutstat"/> - <stat_bar label="Objets" name="objectkbitstat"/> - <stat_bar label="Texture" name="texturekbitstat"/> - <stat_bar label="Actif" name="assetkbitstat"/> - <stat_bar label="Couches" name="layerskbitstat"/> - <stat_bar label="Arrivés" name="actualinkbitstat"/> - <stat_bar label="Sortis" name="actualoutkbitstat"/> + <stat_bar label="Objets" name="objectdatareceived"/> + <stat_bar label="Texture" name="texturedatareceived"/> + <stat_bar label="Actif" name="assetudpdatareceived"/> + <stat_bar label="Couches" name="layersdatareceived"/> + <stat_bar label="Arrivés" name="messagedatain"/> + <stat_bar label="Sortis" name="messagedataout"/> <stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="Paquets en sortie" name="simoutpps"/> <stat_bar label="Téléchargements en attente" name="simpendingdownloads"/> <stat_bar label="Chargements en attente" name="simpendinguploads"/> - <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/> - <stat_view label="Temps (ms)" name="simperf"> + <stat_bar label="Total de données non reconnues" name="simtotalunackedbytes"/> + <stat_view label="Durée" name="simperf"> <stat_bar label="Durée totale de l'image" name="simframemsec"/> <stat_bar label="Durée nette" name="simnetmsec"/> <stat_bar label="Durée sim (physique)" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="Durée des images" name="simimagesmsec"/> <stat_bar label="Durée des scripts" name="simscriptmsec"/> <stat_bar label="Temps d'inactivité" name="simsparemsec"/> - <stat_view label="Détails Temps (ms)" name="timedetails"> + <stat_view label="Détails de la durée" name="timedetails"> <stat_bar label="Etape propr. physiques" name="simsimphysicsstepmsec"/> <stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml index 3bac25c79b..072ac0a6ae 100755 --- a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Voir le profil" name="Show Profile"/> <menu_item_call label="Envoyer IM..." name="Send IM"/> + <menu_item_call label="Demander téléportation" name="Request Teleport"/> <menu_item_call label="Devenir amis..." name="Add Friend"/> <menu_item_call label="Supprimer cet ami..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml index 627d3068c3..87b11bdaa5 100755 --- a/indra/newview/skins/default/xui/fr/menu_inventory.xml +++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Jouer" name="Sound Play"/> <menu_item_call label="Copier la SLurl" name="url_copy"/> <menu_item_call label="À propos du repère" name="About Landmark"/> + <menu_item_call label="Voir sur la carte" name="show_on_map"/> <menu_item_call label="Jouer dans Second Life" name="Animation Play"/> <menu_item_call label="Jouer localement" name="Animation Audition"/> <menu_item_call label="Envoyer un message instantané" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml index 7b1e106474..5e9969627d 100755 --- a/indra/newview/skins/default/xui/fr/menu_login.xml +++ b/indra/newview/skins/default/xui/fr/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="Quitter [APP_NAME]" name="Quit"/> </menu> <menu label="Aide" name="Help"> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Aide rapide..." name="How To"/> + <menu_item_call label="Démarrage rapide" name="Quickstart"/> + <menu_item_call label="Base de connaissances" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Forums de la communauté" name="Community Forums"/> + <menu_item_call label="Portail d'assistance" name="Support portal"/> + <menu_item_call label="Actualités [SECOND_LIFE]" name="Second Life News"/> + <menu_item_call label="Blogs [SECOND_LIFE]" name="Second Life Blogs"/> + <menu_item_call label="Signaler un bug" name="Report Bug"/> <menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml index fb4582dbce..ba8ed9b3f8 100755 --- a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Téléporter" name="Teleport"/> <menu_item_call label="Plus d'informations" name="More Information"/> - <menu_item_call label="Copier dans le presse-papiers" name="CopyToClipboard"/> + <menu_item_call label="Copier la SLurl" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 5d0026ace0..4ff834420e 100755 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -72,11 +72,11 @@ <menu_item_check label="Menu Avancé" name="Show Advanced Menu"/> </menu> <menu label="Luminosité" name="Sun"> - <menu_item_call label="Aube" name="Sunrise"/> - <menu_item_call label="Milieu de journée" name="Noon"/> - <menu_item_call label="Coucher de soleil" name="Sunset"/> - <menu_item_call label="Minuit" name="Midnight"/> - <menu_item_call label="Utiliser les réglages de la région" name="Use Region Settings"/> + <menu_item_check label="Aube" name="Sunrise"/> + <menu_item_check label="Milieu de journée" name="Noon"/> + <menu_item_check label="Coucher de soleil" name="Sunset"/> + <menu_item_check label="Minuit" name="Midnight"/> + <menu_item_check label="Utiliser les réglages de la région" name="Use Region Settings"/> </menu> <menu label="Éditeur d'environnement" name="Environment Editor"> <menu_item_call label="Paramètres d'environnement..." name="Environment Settings"/> @@ -165,8 +165,6 @@ </menu> <menu label="Aide" name="Help"> <menu_item_call label="Aide rapide..." name="How To"/> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Guide de l'utilisateur" name="User’s guide"/> <menu_item_call label="Base de connaissances" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Forums de la communauté" name="Community Forums"/> @@ -188,6 +186,7 @@ <menu label="Outils de performance" name="Performance Tools"> <menu_item_call label="Mesure du lag" name="Lag Meter"/> <menu_item_check label="Barre de statistiques" name="Statistics Bar"/> + <menu_item_call label="Statistiques de chargement de scène" name="Scene Load Statistics"/> <menu_item_check label="Afficher le poids de dessin pour les avatars" name="Avatar Rendering Cost"/> </menu> <menu label="Surbrillance et visibilité" name="Highlighting and Visibility"> @@ -250,6 +249,7 @@ <menu_item_check label="Chronos" name="Fast Timers"/> <menu_item_check label="Mémoire" name="Memory"/> <menu_item_check label="Statistiques de la scène" name="Scene Statistics"/> + <menu_item_check label="Moniteur de chargement de scène" name="Scene Loading Monitor"/> <menu_item_call label="Console de débogage de la récupération des textures" name="Texture Fetch Debug Console"/> <menu_item_call label="Infos de région vers la console de débogage" name="Region Info to Debug Console"/> <menu_item_call label="Infos de groupe vers la console de débogage" name="Group Info to Debug Console"/> @@ -286,6 +286,7 @@ <menu_item_check label="Cadre lent périodique" name="Periodic Slow Frame"/> <menu_item_check label="Test cadre" name="Frame Test"/> <menu_item_call label="Profil du cadre" name="Frame Profile"/> + <menu_item_call label="Référence" name="Benchmark"/> </menu> <menu label="Métadonnées de rendu" name="Render Metadata"> <menu_item_check label="Cadres" name="Bounding Boxes"/> @@ -304,6 +305,7 @@ <menu_item_check label="File d'attente pour la construction" name="Build Queue"/> <menu_item_check label="Lumières" name="Lights"/> <menu_item_check label="Squelette de collision" name="Collision Skeleton"/> + <menu_item_check label="Articulations" name="Joints"/> <menu_item_check label="Rayons" name="Raycast"/> <menu_item_check label="Vecteurs de vent" name="Wind Vectors"/> <menu_item_check label="Complexité du rendu" name="rendercomplexity"/> @@ -336,6 +338,7 @@ <menu_item_check label="Rendu des lumières jointes" name="Render Attached Lights"/> <menu_item_check label="Rendu des particules jointes" name="Render Attached Particles"/> <menu_item_check label="Objets en surbrillance avec le pointeur" name="Hover Glow Objects"/> + <menu_item_call label="Vider le cache immédiatement" name="Cache Clear"/> </menu> <menu label="Réseau" name="Network"> <menu_item_check label="Pauser l'avatar" name="AgentPause"/> @@ -368,7 +371,6 @@ <menu_item_call label="Dump Focus Holder" name="Dump Focus Holder"/> <menu_item_call label="Imprimer les infos sur l'objet sélectionné" name="Print Selected Object Info"/> <menu_item_call label="Imprimer les infos sur l'avatar" name="Print Agent Info"/> - <menu_item_check label="Console de débogage de région" name="Region Debug Console"/> <menu_item_check label="Débogage SelectMgr" name="Debug SelectMgr"/> <menu_item_check label="Débogage clics" name="Debug Clicks"/> <menu_item_check label="Débogage des vues" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index c295a6f5a7..af46d34b61 100755 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -114,15 +114,15 @@ Pour plus d'informations, consultez le [[MARKETPLACE_IMPORTS_URL] journal d <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Échec de transfert + Échec du transfert avec l'erreur « [ERROR_CODE] » -Aucun dossier n'a été envoyé vers la Place du marché en raison d'une erreur système ou réseau. Veuillez réessayer ultérieurement. +Aucun dossier n'a été envoyé vers la Place du marché en raison d'une erreur système ou réseau. Réessayez ultérieurement. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Échec d'initialisation de la Place du marché + Échec de l'initialisation de la Place du marché avec l'erreur « [ERROR_CODE] » -L'initialisation de la Place du marché a échoué en raison d'une erreur système ou réseau. Veuillez réessayer ultérieurement. +L'initialisation de la Place du marché a échoué en raison d'une erreur système ou réseau. Réessayez ultérieurement. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="CompileQueueSaveText"> @@ -1729,6 +1729,10 @@ or ce nombre dépasse la limite autorisée fixée à [LIMIT]. Souhaitez-vous vraiment vous téléporter vers <nolink>[LOCATION]</nolink> ? <usetemplate ignoretext="Confirmer que je veux me téléporter à un repère" name="okcancelignore" notext="Annuler" yestext="Téléporter"/> </notification> + <notification name="TeleportViaSLAPP"> + Voulez-vous vraiment vous téléporter jusqu'à <nolink>[LOCATION]</nolink> ? + <usetemplate ignoretext="Confirmer que je veux me téléporter en utilisant SLAPP" name="okcancelignore" notext="Annuler" yestext="Téléporter"/> + </notification> <notification name="TeleportToPick"> Vous téléporter vers [PICK] ? <usetemplate ignoretext="Confirmer que je veux me téléporter à un endroit dans mes Favoris" name="okcancelignore" notext="Annuler" yestext="Téléporter"/> @@ -1939,6 +1943,9 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po <notification name="ProblemAddingEstateManager"> Problèmes lors de l'ajout d'un nouveau gérant de domaine. Il est possible qu'au moins un des domaines ait une liste de gérants complète. </notification> + <notification name="ProblemAddingEstateBanManager"> + Impossible d'ajouter le propriétaire ou le gérant du domaine à la liste des résidents bannis. + </notification> <notification name="ProblemAddingEstateGeneric"> Problème lors de l'ajout à la liste de ce domaine. Il est possible qu'au moins un des domaines ait une liste complète. </notification> @@ -3029,7 +3036,7 @@ Voir le fichier journal pour plus de détails. avec les résidents suivants : -[RESIDENTS] ? +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3041,7 +3048,7 @@ Voulez-vous vraiment partager les articles suivants : avec les résidents suivants : -[RESIDENTS] ? +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Ok"/> </notification> <notification name="ItemsShared"> @@ -3496,10 +3503,6 @@ Veuillez réessayer dans une minute. <notification name="EjectComingSoon"> Votre présence ici n'est plus autorisée et vous disposez de [EJECT_TIME] secondes pour partir. </notification> - <notification name="NoEnterServerFull"> - Vous ne pouvez pas pénétrer dans cette région car -le serveur est plein. - </notification> <notification name="SaveBackToInvDisabled"> Le réenregistrement dans l'inventaire a été désactivé. </notification> @@ -3689,6 +3692,9 @@ le serveur est plein. <notification name="LinkFailedTooMuchPhysics"> Cet objet utilise trop de ressources physiques - sa dynamique a été désactivée. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + L'objet « [OBJECT_NAME] » à [SLURL] ne peut pas téléporter les gérants de domaines chez eux. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Vous avez été téléporté chez vous par l'objet [OBJECT_NAME] sur la parcelle [PARCEL_NAME]. </notification> @@ -3879,13 +3885,18 @@ le serveur est plein. Pas suffisamment de parcelles louées dans la sélection pour effectuer la fusion. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Division du terrain impossible.\nPlusieurs parcelles sont sélectionnées.\nVeuillez sélectionner un terrain plus petit. + Division du terrain impossible. +Plusieurs parcelles sont sélectionnées. +Veuillez sélectionner un terrain plus petit. </notification> <notification name="CantDivideLandCantFindParcel"> - Division du terrain impossible.\nParcelle introuvable.\nSignalez-le en allant à Aide -> Signaler un bug... + Division du terrain impossible. +Parcelle introuvable. +Veuillez utiliser Aide > Signaler un bug pour signaler le problème... </notification> <notification name="CantDivideLandWholeParcelSelected"> - Division du terrain impossible. Toute la parcelle est sélectionnée.\nVeuillez sélectionner un terrain plus petit. + Division du terrain impossible. La parcelle entière est sélectionnée. +Veuillez sélectionner un terrain plus petit. </notification> <notification name="LandHasBeenDivided"> Le terrain a été divisé. @@ -4025,4 +4036,8 @@ le serveur est plein. Impossible de déplacer les fichiers. Chemin précédent rétabli. <usetemplate ignoretext="Impossible de déplacer les fichiers. Chemin précédent rétabli." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + Le fichier d'historique des chats est occupé à traiter l'opération précédente. Réessayez dans quelques minutes ou choisissez une autre personne pour le chat. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml index 047cd692e8..7c3b852de1 100755 --- a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Général"/> - <accordion_tab name="group_roles_tab" title="Rôles"/> + <accordion_tab name="group_roles_tab" title="Rôles et membres"/> <accordion_tab name="group_notices_tab" title="Notices"/> <accordion_tab name="group_land_tab" title="Terrain/Actifs"/> </accordion> diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml index 0bd2e0bdab..71ee70d68b 100755 --- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml @@ -20,6 +20,7 @@ Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la to <name_list.columns label="Membre" name="name"/> <name_list.columns label="Donation" name="donated"/> <name_list.columns label="Statut" name="online"/> + <name_list.columns label="Titre" name="title"/> </name_list> <button label="Inviter" name="member_invite"/> <button label="Expulser" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/fr/panel_region_debug.xml b/indra/newview/skins/default/xui/fr/panel_region_debug.xml index 98ae250215..d21695e9aa 100755 --- a/indra/newview/skins/default/xui/fr/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/fr/panel_region_debug.xml @@ -7,11 +7,8 @@ (inconnue) </text> <check_box label="Désactiver les scripts" name="disable_scripts_check" tool_tip="Désactiver tous les scripts dans cette région"/> - <button label="?" name="disable_scripts_help"/> <check_box label="Désactiver les collisions" name="disable_collisions_check" tool_tip="Désactiver les collisions entre non-avatars dans cette région"/> - <button label="?" name="disable_collisions_help"/> <check_box label="Désactiver la physique" name="disable_physics_check" tool_tip="Désactiver tous les effets liés à la physique dans cette région"/> - <button label="?" name="disable_physics_help"/> <button bottom_delta="-38" label="Appliquer" name="apply_btn"/> <text bottom_delta="-42" name="objret_text_lbl" width="260"> Renvoi de l'objet @@ -31,10 +28,8 @@ <check_box label="Dans toutes les régions de ce domaine" name="return_estate_wide" tool_tip="Renvoyer les objets dans toutes les régions qui constituent ce domaine"/> <button label="Renvoyer" name="return_btn"/> <button label="Collisions les plus consommatrices" name="top_colliders_btn" tool_tip="Liste des objets avec le plus de collisions potentielles" width="320"/> - <button label="?" left="337" name="top_colliders_help"/> - <button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/> - <button label="?" left="337" name="top_scripts_help"/> <button label="Redémarrer la région" name="restart_btn" tool_tip="Redémarrer la région au bout de 2 minutes" width="160"/> - <button label="?" left="177" name="restart_help"/> + <button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/> <button label="Annuler le redémarrage" name="cancel_restart_btn" tool_tip="Annuler le redémarrage de la région." width="160"/> + <button label="Console de débogage de région" name="region_debug_console_btn" tool_tip="Ouvrir la console de débogage de région"/> </panel> diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml index 234d316069..e9dcd6ab5a 100755 --- a/indra/newview/skins/default/xui/fr/panel_region_general.xml +++ b/indra/newview/skins/default/xui/fr/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Interdire le terraformage" name="block_terraform_check"/> <check_box label="Interdire le vol" name="block_fly_check"/> + <check_box label="Bloquer le survol des parcelles" name="block_fly_over_check" tool_tip="Étendre les vérifications d'accès vers le haut pour empêcher le survol d'une parcelle"/> <check_box label="Autoriser les dégâts" name="allow_damage_check"/> <check_box label="Interdire les bousculades" name="restrict_pushobject"/> <check_box label="Autoriser la revente de terrain" name="allow_land_resell_check"/> <check_box label="Autoriser la fusion/division" name="allow_parcel_changes_check"/> <check_box label="Ne pas afficher dans la recherche" name="block_parcel_search_check" tool_tip="Afficher cette région et ses parcelles dans les résultats de recherche"/> - <check_box label="Autoriser les objets de maillage" name="mesh_rez_enabled_check" tool_tip="Laisser les gens rezzer des objets de maillage dans cette région."/> <spinner label="Nombre maximum d'avatars" label_width="160" name="agent_limit_spin" width="240"/> <spinner label="Bonus objet" label_width="160" name="object_bonus_spin" width="240"/> <text label="Maturité" name="access_text"> diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml index ec7dd8c095..372d61263f 100755 --- a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml @@ -31,10 +31,10 @@ <button label="Partager" name="share_btn" tool_tip="Partager un article de l'inventaire"/> </layout_panel> <layout_panel name="shop_btn_lp"> - <button label="Acheter" name="shop_btn" tool_tip="Accéder à la place du marché sur le Web"/> + <button label="Faire des achats" name="shop_btn" tool_tip="Accéder à la Place du marché sur le Web"/> <button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/> - <button label="Lire" name="play_btn"/> - <button label="Téléportation" name="teleport_btn" tool_tip="Me téléporter jusqu'à la zone sélectionnée"/> + <button label="Jouer" name="play_btn"/> + <button label="Téléporter" name="teleport_btn" tool_tip="Me téléporter jusqu'à la zone sélectionnée"/> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index b8721420cb..46fcbe005f 100755 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -37,6 +37,45 @@ <string name="StartupRequireDriverUpdate"> Échec d'initialisation des graphiques. Veuillez mettre votre pilote graphique à jour. </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [Notes de version]] + </string> + <string name="AboutCompiler"> + Compilé avec [COMPILER] version [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Vous êtes à [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] dans [REGION], se trouvant à <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL : <nolink>[SLURL]</nolink> +(coordonnées globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU : [CPU] +Mémoire : [MEMORY_MB] Mo +Version OS : [OS_VERSION] +Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR] +Carte graphique : [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + Version OpenGL : [OPENGL_VERSION] + +Version libcurl : [LIBCURL_VERSION] +Version J2C Decoder : [J2C_VERSION] +Version Audio Driver : [AUDIO_DRIVER_VERSION] +Version Qt Webkit : [QT_WEBKIT_VERSION] +Version serveur vocal : [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Paquets perdus : [PACKETS_LOST,nombre,0]/[PACKETS_IN,nombre,0] ([PACKETS_PCT,nombre,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Erreur lors de la récupération de l'URL des notes de version du serveur. + </string> <string name="ProgressRestoring"> Restauration... </string> @@ -937,15 +976,15 @@ Veuillez réessayer de vous connecter dans une minute. <string name="ControlYourCamera"> Contrôler votre caméra </string> + <string name="TeleportYourAgent"> + Vous téléporter + </string> <string name="NotConnected"> Pas connecté(e) </string> <string name="AgentNameSubst"> (Vous) </string> - <string name="TeleportYourAgent"> - Vous téléporter - </string> <string name="JoinAnExperience"> Rejoindre une expérience </string> @@ -1270,8 +1309,7 @@ Veuillez réessayer de vous connecter dans une minute. <string name="InventoryInboxNoItems"> Les achats que vous avez effectués sur la Place du marché s'affichent ici. Vous pouvez alors les faire glisser vers votre inventaire afin de les utiliser. </string> - <string name="Unconstrained">Sans contraintes</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1300,6 +1338,18 @@ Veuillez réessayer de vous connecter dans une minute. <string name="InventoryOutboxNoItems"> Pour mettre des dossiers en vente sur la [[MARKETPLACE_DASHBOARD_URL] Place du marché], faites-les glisser vers cette zone et cliquez sur "Envoyer vers la Place du marché". </string> + <string name="InventoryOutboxInitializingTitle"> + Initialisation de la Place du marché... + </string> + <string name="InventoryOutboxInitializing"> + Nous sommes en train d'accéder à votre compte dans la [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché]. + </string> + <string name="InventoryOutboxErrorTitle"> + Erreurs de la Place du marché. + </string> + <string name="InventoryOutboxError"> + La [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché] renvoie des erreurs. + </string> <string name="Marketplace Error None"> Aucune erreur </string> @@ -1327,6 +1377,9 @@ Veuillez réessayer de vous connecter dans une minute. <string name="Open landmarks"> Ouvrir les repères </string> + <string name="Unconstrained"> + Sans contraintes + </string> <string name="no_transfer" value=" (pas de transfert)"/> <string name="no_modify" value=" (pas de modification)"/> <string name="no_copy" value=" (pas de copie)"/> @@ -1727,6 +1780,9 @@ Veuillez réessayer de vous connecter dans une minute. <string name="CompileQueueDownloadedCompiling"> Téléchargé, compilation en cours </string> + <string name="CompileQueueServiceUnavailable"> + Service de compilation de script indisponible. + </string> <string name="CompileQueueScriptNotFound"> Script introuvable sur le serveur. </string> diff --git a/indra/newview/skins/default/xui/it/floater_region_restarting.xml b/indra/newview/skins/default/xui/it/floater_region_restarting.xml new file mode 100644 index 0000000000..d4497288e0 --- /dev/null +++ b/indra/newview/skins/default/xui/it/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="RIAVVIO REGIONE IN CORSO"> + <string name="RegionName"> + La regione in cui ti trovi ([NAME]) verrà riavviata tra breve. + +Se rimani in questa regione verrai scollegato da Second Life. + </string> + <string name="RestartSeconds"> + Secondi prima del riavvio +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + La regione in cui ti trovi (il nome di regione più lungo) verrà riavviata tra breve. + +Se rimani in questa regione verrai scollegato da Second Life. + </text> + <text name="restart_seconds"> + Secondi prima del riavvio + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml new file mode 100644 index 0000000000..ca18812eb7 --- /dev/null +++ b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="STATISTICHE CARICAMENTO SCENA"> + <button label="In pausa" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Di base" name="basic"> + <stat_bar label="Differenza pixel tra fotogrammi" name="frame difference"/> + <stat_bar label="Dati UDP ricevuti" name="bandwidth"/> + <stat_bar label="Perdita pacchetti" name="packet_loss"/> + </stat_view> + <stat_view label="Avanzata" name="advanced"> + <stat_view label="Render" name="render"> + <stat_bar label="Totale oggetti" name="objs"/> + <stat_bar label="Nuovi oggetti" name="newobjs"/> + <stat_bar label="Hit rate della cache per l'oggetto" name="object_cache_hits"/> + </stat_view> + <stat_view label="Texture" name="texture"> + <stat_bar label="Hit rate della cache" name="texture_cache_hits"/> + <stat_bar label="Latenza di lettura della cache" name="texture_cache_read_latency"/> + <stat_bar label="Conteggio" name="numimagesstat"/> + <stat_bar label="Conteggio grezzo" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Rete" name="network"> + <stat_bar label="Pacchetti in ingresso" name="packetsinstat"/> + <stat_bar label="Pacchetti in uscita" name="packetsoutstat"/> + <stat_bar label="Oggetti" name="objectdatareceived"/> + <stat_bar label="Texture" name="texturedatareceived"/> + <stat_bar label="Risorsa" name="assetudpdatareceived"/> + <stat_bar label="Livelli" name="layersdatareceived"/> + <stat_bar label="Effettivi in ingresso" name="messagedatain"/> + <stat_bar label="Effettivi in uscita" name="messagedataout"/> + <stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simulatore" name="sim"> + <stat_bar label="Oggetti" name="simobjects"/> + <stat_bar label="Oggetti attivi" name="simactiveobjects"/> + <stat_bar label="Script attivi" name="simactivescripts"/> + <stat_bar label="Pacchetti in ingresso" name="siminpps"/> + <stat_bar label="Pacchetti in uscita" name="simoutpps"/> + <stat_bar label="Download in attesa" name="simpendingdownloads"/> + <stat_bar label="Caricamenti in attesa" name="simpendinguploads"/> + <stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/> + <stat_view label="Tempo (ms)" name="simperf"> + <stat_bar label="Tempo totale Frame" name="simframemsec"/> + <stat_bar label="Tempo netto" name="simnetmsec"/> + <stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/> + <stat_bar label="Tempo simulazione" name="simsimothermsec"/> + <stat_bar label="Tempo agente" name="simagentmsec"/> + <stat_bar label="Tempo immagini" name="simimagesmsec"/> + <stat_bar label="Tempo script" name="simscriptmsec"/> + <stat_bar label="Tempo libero" name="simsparemsec"/> + <stat_view label="Dettagli tempo (ms)" name="timedetails"> + <stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/> + <stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Altro fisica" name="simsimphysicsothermsec"/> + <stat_bar label="Tempo pausa" name="simsleepmsec"/> + <stat_bar label="IO pompa" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/it/floater_stats.xml b/indra/newview/skins/default/xui/it/floater_stats.xml index 825b2ce57a..1d850516b7 100755 --- a/indra/newview/skins/default/xui/it/floater_stats.xml +++ b/indra/newview/skins/default/xui/it/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="Di base" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Larghezza banda" name="bandwidth"/> + <stat_bar label="Dati UDP ricevuti" name="bandwidth"/> <stat_bar label="Perdita pacchetti" name="packet_loss"/> <stat_bar label="Tempo Ping Sim" name="ping"/> </stat_view> <stat_view label="Avanzata" name="advanced"> <stat_view label="Render" name="render"> - <stat_bar label="KTris disegnato per fotogramma" name="ktrisframe"/> - <stat_bar label="KTris disegnato per secondo" name="ktrissec"/> + <stat_bar label="KTris per fotogramma" name="ktrisframe"/> + <stat_bar label="KTris per secondo" name="ktrissec"/> <stat_bar label="Totale oggetti" name="objs"/> <stat_bar label="Nuovi oggetti" name="newobjs"/> <stat_bar label="Hit rate della cache per l'oggetto" name="object_cache_hits"/> + <stat_bar label="Occlusion query eseguite" name="occlusion_queries"/> + <stat_bar label="Oggetti in occlusion" name="occluded"/> + <stat_bar label="Oggetti non in occlusion" name="unoccluded"/> </stat_view> <stat_view label="Texture" name="texture"> <stat_bar label="Hit rate della cache" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Memoria complessiva" name="rawmemstat"/> <stat_bar label="Memoria impegnata" name="glboundmemstat"/> </stat_view> + <stat_view label="Utilizzo memoria" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="Interfaccia utente" name="LLView"/> + <stat_bar label="Font" name="LLFontFreetype"/> + <stat_bar label="Inventario" name="LLInventoryObject"/> + <stat_bar label="Oggetti Viewer" name="LLViewerObject"/> + <stat_bar label="Dati gruppo octree" name="LLViewerOctreeGroup"/> + <stat_bar label="Dati octree" name="LLViewerOctreeEntry"/> + <stat_bar label="Cache oggetti Viewer" name="LLVOCacheEntry"/> + <stat_bar label="Disegnabili" name="LLDrawable"/> + <stat_bar label="Dati viso" name="LLFace"/> + <stat_bar label="Info disegno" name="LLDrawInfo"/> + <stat_bar label="Dati texture" name="LLTexture"/> + <stat_bar label="Dati immagine" name="LLImage"/> + <stat_bar label="Dati immagine GL" name="LLImageGL"/> + <stat_bar label="Buffer vertici" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Rete" name="network"> <stat_bar label="Pacchetti in ingresso" name="packetsinstat"/> <stat_bar label="Pacchetti in uscita" name="packetsoutstat"/> - <stat_bar label="Oggetti" name="objectkbitstat"/> - <stat_bar label="Texture" name="texturekbitstat"/> - <stat_bar label="Risorse server" name="assetkbitstat"/> - <stat_bar label="Layer" name="layerskbitstat"/> - <stat_bar label="Effettivi in ingresso" name="actualinkbitstat"/> - <stat_bar label="Effettivi in uscita" name="actualoutkbitstat"/> + <stat_bar label="Oggetti" name="objectdatareceived"/> + <stat_bar label="Texture" name="texturedatareceived"/> + <stat_bar label="Risorsa" name="assetudpdatareceived"/> + <stat_bar label="Livelli" name="layersdatareceived"/> + <stat_bar label="Effettivi in ingresso" name="messagedatain"/> + <stat_bar label="Effettivi in uscita" name="messagedataout"/> <stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -53,7 +73,8 @@ <stat_bar label="Passaggi silhouette saltati" name="simsimskippedsilhouettesteps"/> <stat_bar label="Personaggi aggiornati" name="simsimpctsteppedcharacters"/> </stat_view> - <stat_view label="Tempo (ms)" name="simperf"> + <stat_bar label="Totale dati non confermati (unacked)" name="simtotalunackedbytes"/> + <stat_view label="Orario" name="simperf"> <stat_bar label="Tempo totale Frame" name="simframemsec"/> <stat_bar label="Tempo netto" name="simnetmsec"/> <stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/> @@ -62,7 +83,7 @@ <stat_bar label="Tempo immagini" name="simimagesmsec"/> <stat_bar label="Tempo script" name="simscriptmsec"/> <stat_bar label="Tempo libero" name="simsparemsec"/> - <stat_view label="Dettagli tempo (ms)" name="timedetails"> + <stat_view label="Dettagli orario" name="timedetails"> <stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/> <stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Altro fisica" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml index b93b695300..215eb836c8 100755 --- a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Vedi profilo" name="Show Profile"/> <menu_item_call label="Manda IM..." name="Send IM"/> + <menu_item_call label="Richiedi teleport" name="Request Teleport"/> <menu_item_call label="Aggiungi come amico..." name="Add Friend"/> <menu_item_call label="Togli amicizia..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml index b31e35771d..c8042f4253 100755 --- a/indra/newview/skins/default/xui/it/menu_inventory.xml +++ b/indra/newview/skins/default/xui/it/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Esegui" name="Sound Play"/> <menu_item_call label="Copia SLurl" name="url_copy"/> <menu_item_call label="Informazioni sul punto di riferimento" name="About Landmark"/> + <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> <menu_item_call label="Riproduci in Second Life" name="Animation Play"/> <menu_item_call label="Esegui localmente" name="Animation Audition"/> <menu_item_call label="Invia un Instant Message" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml index 35053ec499..126089aa6a 100755 --- a/indra/newview/skins/default/xui/it/menu_login.xml +++ b/indra/newview/skins/default/xui/it/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="Esci da [APP_NAME]" name="Quit"/> </menu> <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Istruzioni..." name="How To"/> + <menu_item_call label="Guida introduttiva" name="Quickstart"/> + <menu_item_call label="Base di conoscenza" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Forum della comunità" name="Community Forums"/> + <menu_item_call label="Portale assistenza" name="Support portal"/> + <menu_item_call label="[SECOND_LIFE] Notizie" name="Second Life News"/> + <menu_item_call label="[SECOND_LIFE] Blog" name="Second Life Blogs"/> + <menu_item_call label="Segnala bug" name="Report Bug"/> <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml index 81053fbd65..31236895fa 100755 --- a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Teleport" name="Teleport"/> <menu_item_call label="Maggiori informazioni" name="More Information"/> - <menu_item_call label="Copia negli appunti" name="CopyToClipboard"/> + <menu_item_call label="Copia SLurl" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 52247d6c9c..3e6589927d 100755 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -72,11 +72,11 @@ <menu_item_check label="Menu Avanzato" name="Show Advanced Menu"/> </menu> <menu label="Sole" name="Sun"> - <menu_item_call label="Alba" name="Sunrise"/> - <menu_item_call label="Mezzogiorno" name="Noon"/> - <menu_item_call label="Tramonto" name="Sunset"/> - <menu_item_call label="Mezzanotte" name="Midnight"/> - <menu_item_call label="Usa impostazioni regione" name="Use Region Settings"/> + <menu_item_check label="Alba" name="Sunrise"/> + <menu_item_check label="Mezzogiorno" name="Noon"/> + <menu_item_check label="Tramonto" name="Sunset"/> + <menu_item_check label="Mezzanotte" name="Midnight"/> + <menu_item_check label="Usa impostazioni regione" name="Use Region Settings"/> </menu> <menu label="Editor ambiente" name="Environment Editor"> <menu_item_call label="Impostazioni ambiente..." name="Environment Settings"/> @@ -165,8 +165,6 @@ </menu> <menu label="Aiuto" name="Help"> <menu_item_call label="Istruzioni..." name="How To"/> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Guida dell'utente" name="User’s guide"/> <menu_item_call label="Base di conoscenza" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Forum della comunità" name="Community Forums"/> @@ -188,6 +186,7 @@ <menu label="Strumenti di performance" name="Performance Tools"> <menu_item_call label="Misuratore lag" name="Lag Meter"/> <menu_item_check label="Barra statistiche" name="Statistics Bar"/> + <menu_item_call label="Statistiche caricamento scena" name="Scene Load Statistics"/> <menu_item_check label="Mostra peso visualizzazione per avatar" name="Avatar Rendering Cost"/> </menu> <menu label="Evidenziazione e visibilità" name="Highlighting and Visibility"> @@ -249,6 +248,7 @@ <menu_item_check label="Timer veloci" name="Fast Timers"/> <menu_item_check label="Memoria" name="Memory"/> <menu_item_check label="Statistiche scena" name="Scene Statistics"/> + <menu_item_check label="Monitoraggio caricamento scena" name="Scene Loading Monitor"/> <menu_item_call label="Console di debug recupero texture" name="Texture Fetch Debug Console"/> <menu_item_call label="Informazioni regione sulla console di debug" name="Region Info to Debug Console"/> <menu_item_check label="Fotocamera" name="Camera"/> @@ -280,6 +280,7 @@ <menu_item_check label="Veloc. di visualizzazione casuale" name="Randomize Framerate"/> <menu_item_check label="Test frame" name="Frame Test"/> <menu_item_call label="Profilo frame" name="Frame Profile"/> + <menu_item_call label="Benchmark" name="Benchmark"/> </menu> <menu label="Render Metadata" name="Render Metadata"> <menu_item_check label="Normali" name="Normals"/> @@ -287,6 +288,7 @@ <menu_item_check label="Aggiorna tipo" name="Update Type"/> <menu_item_check label="Info livello dettaglio" name="LOD Info"/> <menu_item_check label="Crea coda" name="Build Queue"/> + <menu_item_check label="Giunti" name="Joints"/> <menu_item_check label="Vettori vento" name="Wind Vectors"/> <menu_item_check label="Complessità rendering" name="rendercomplexity"/> <menu_item_check label="Byte collegamento" name="attachment bytes"/> @@ -312,6 +314,7 @@ <menu_item_check label="Rendering delle luci unite" name="Render Attached Lights"/> <menu_item_check label="Rendering particelle unite" name="Render Attached Particles"/> <menu_item_check label="Gli oggetti brillano quando sono sotto il cursore" name="Hover Glow Objects"/> + <menu_item_call label="Pulisci cache immediatamente" name="Cache Clear"/> </menu> <menu label="Rete" name="Network"> <menu_item_check label="Metti in pausa" name="AgentPause"/> @@ -327,7 +330,6 @@ <menu_item_call label="Test browser multimedia" name="Web Browser Test"/> <menu_item_call label="Browser contenuto Web" name="Web Content Browser"/> <menu_item_call label="Stampa informazioni oggetto selezionato" name="Print Selected Object Info"/> - <menu_item_check label="Console di debug regione" name="Region Debug Console"/> <menu_item_check label="Debug clic" name="Debug Clicks"/> <menu_item_check label="Debug eventi mouse" name="Debug Mouse Events"/> </menu> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 96b8c96595..45c89ecd7a 100755 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -114,13 +114,13 @@ Per ulteriori informazioni consulta il [[MARKETPLACE_IMPORTS_URL] registro error <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Trasferimento non riuscito + Trasferimento non riuscito, errore '[ERROR_CODE]' Nessuna cartella è stata inviata a Marketplace, a causa di un errore di sistema o di rete. Riprova più tardi. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Inizializzazione Marketplace non riuscita + Inizializzazione Marketplace non riuscita, errore '[ERROR_CODE]' L'inizializzazione con il Marketplace non ha avuto successo a causa di un errore di sistema o di rete. Riprova più tardi. <usetemplate name="okbutton" yestext="OK"/> @@ -1734,6 +1734,10 @@ più del limite [LIMIT]. Sei sicuro di volere il teleport a <nolink>[LOCATION]</nolink>? <usetemplate ignoretext="Conferma il teleport verso un punto di riferimento" name="okcancelignore" notext="Annulla" yestext="Teleportati"/> </notification> + <notification name="TeleportViaSLAPP"> + Sei sicuro di volere il teleport a <nolink>[LOCATION]</nolink>? + <usetemplate ignoretext="Confermo di voler usare il teleport tramite SLAPP" name="okcancelignore" notext="Annulla" yestext="Teleport"/> + </notification> <notification name="TeleportToPick"> Teleport a [PICK]? <usetemplate ignoretext="Conferma che voglio il teleport verso l'ubicazione nei Luoghi preferiti" name="okcancelignore" notext="Annulla" yestext="Teleport"/> @@ -1944,6 +1948,9 @@ Cambierà migliaia di regioni e produrrà seri problemi ai vari server. <notification name="ProblemAddingEstateManager"> Si sono riscontrati problemi nell'aggiungere un nuovo manager della proprietà. Una o più proprietà potrebbero avere la lista dei manager piena. </notification> + <notification name="ProblemAddingEstateBanManager"> + Impossibile aggiungere il gestore o il proprietario della proprietà alla lista degli espulsi. + </notification> <notification name="ProblemAddingEstateGeneric"> Si sono riscontrati problemi nell'aggiunta a questo elenco della proprietà. Una o più proprietà potrebbe avere una lista piena. </notification> @@ -3028,13 +3035,13 @@ Per informazioni dettagliate, vedi il file del registro. Non è stata ottenuta la capacità della regione '[CAPABILITY]'. </notification> <notification name="ShareItemsConfirmation"> - Sei sicuro di volere condividere gli oggetti + Sei sicuro di volere condividere gli oggetti seguenti: -<nolink>[MSG]</nolink> +<nolink>[ITEMS]</nolink> -Con i seguenti residenti? +Con i seguenti residenti: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3046,7 +3053,7 @@ Sei sicuro di volere condividere gli oggetti seguenti: Con i seguenti residenti: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/> </notification> <notification name="ItemsShared"> @@ -3502,10 +3509,6 @@ Riprova tra un minuto. <notification name="EjectComingSoon"> Non sei più benvenuto qui e hai [EJECT_TIME] secondi per andartene. </notification> - <notification name="NoEnterServerFull"> - Non puoi entrare in questa regione perché -il server è pieno. - </notification> <notification name="SaveBackToInvDisabled"> Opzione Salva nell'inventario disattivata </notification> @@ -3695,6 +3698,9 @@ il server è pieno. <notification name="LinkFailedTooMuchPhysics"> L'oggetto usa troppe risorse per la fisica -- le sue dinamiche sono state disattivate. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + L'oggetto '[OBJECT_NAME]' a [SLURL] non può eseguire il teleport del gestore della proprietà alla sua casa. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Sei stato teleportato nella posizione iniziale dall'oggetto '[OBJECT_NAME]' del lotto '[PARCEL_NAME]' </notification> @@ -3885,13 +3891,18 @@ il server è pieno. Non sono stati selezionati abbastanza lotti affittati da collegare. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Terreno non divisibile.\nHai selezionato più di un lotto.\nProva a selezionare una quantità di terreno più piccola. + Impossibile suddividere il terreno. +È stato selezionato più di un lotto. +Prova a selezionare un pezzo di terreno più piccolo. </notification> <notification name="CantDivideLandCantFindParcel"> - impossibile suddividere il terreno.\nimpossibile trovare il lotto.\nInvia una segnalazione con Aiuto -> Segnala bug... + Impossibile suddividere il terreno. +Lotto non trovato. +Invia una segnalazione con Aiuto -> Segnala Bug... </notification> <notification name="CantDivideLandWholeParcelSelected"> - Impossibile suddividere il terreno. È stato selezionato l'intero lotto.\nProva a selezionare un pezzo di terreno più piccolo. + Impossibile suddividere il terreno. È stato selezionato un intero lotto. +Prova a selezionare un pezzo di terreno più piccolo. </notification> <notification name="LandHasBeenDivided"> Il terreno è stato diviso. @@ -4031,4 +4042,8 @@ il server è pieno. Impossibile spostare i file. Il percorso precedente è stato ripristinato. <usetemplate ignoretext="Impossibile spostare i file. Il percorso precedente è stato ripristinato." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + Il file della cronologia del file sta ancora eseguendo l'operazione precedente. Riprova nuovamente tra qualche minuto oppure chatta con un'altra persona. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml index 34ee3c2dca..138edc3a26 100755 --- a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Generale"/> - <accordion_tab name="group_roles_tab" title="Ruoli"/> + <accordion_tab name="group_roles_tab" title="Ruoli e membri"/> <accordion_tab name="group_notices_tab" title="Avvisi"/> <accordion_tab name="group_land_tab" title="Terra/Beni"/> </accordion> diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml index 478b35e628..79e9cd73d2 100755 --- a/indra/newview/skins/default/xui/it/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml @@ -21,6 +21,7 @@ cliccando sui loro nomi. <name_list.columns label="Socio" name="name"/> <name_list.columns label="Donazioni" name="donated"/> <name_list.columns label="Stato" name="online"/> + <name_list.columns label="Titolo" name="title"/> </name_list> <button label="Invita" name="member_invite"/> <button label="Espelli" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/it/panel_region_debug.xml b/indra/newview/skins/default/xui/it/panel_region_debug.xml index aba60d03aa..88c056bf5e 100755 --- a/indra/newview/skins/default/xui/it/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/it/panel_region_debug.xml @@ -7,11 +7,8 @@ sconosciuta </text> <check_box label="Disabilita gli script" name="disable_scripts_check" tool_tip="Disabilita tutti gli script in questa regione"/> - <button label="?" name="disable_scripts_help"/> <check_box label="Disabilita le collisioni" name="disable_collisions_check" tool_tip="Disabilita tutte le collisioni non di avatar in questa regione"/> - <button label="?" name="disable_collisions_help"/> <check_box label="Disabilita la fisica" name="disable_physics_check" tool_tip="Disabilita tutta la fisica dei corpi in questa regione"/> - <button label="?" name="disable_physics_help"/> <button label="Applica" name="apply_btn"/> <text name="objret_text_lbl" width="130"> Restituisci oggetti @@ -31,10 +28,8 @@ <check_box label="In tutte le regioni di questa proprietà" name="return_estate_wide" tool_tip="Restituisci tutti gli oggetti nelle varie regioni che costituiscono l'insieme dei possedimenti terrieri"/> <button label="Restituisci" name="return_btn"/> <button label="Visualizza l'elenco dei maggiori collidenti..." name="top_colliders_btn" tool_tip="Elenco degli oggetti che stanno potenzialmente subendo le maggiori collisioni" width="280"/> - <button label="?" left="297" name="top_colliders_help"/> - <button label="Visualizza l'elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/> - <button label="?" left="297" name="top_scripts_help"/> <button label="Riavvia la regione" name="restart_btn" tool_tip="Dai 2 minuti di tempo massimo e fai riavviare la regione"/> - <button label="?" name="restart_help"/> + <button label="Visualizza l'elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/> <button label="Annulla riavvio" name="cancel_restart_btn" tool_tip="Annulla riavvio regione"/> + <button label="Console di debug regione" name="region_debug_console_btn" tool_tip="Apri console di debug regione"/> </panel> diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml index c550e005ae..3e2f593d2f 100755 --- a/indra/newview/skins/default/xui/it/panel_region_general.xml +++ b/indra/newview/skins/default/xui/it/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Proibisci la modifica del terreno" name="block_terraform_check"/> <check_box label="Impedisci il volo" name="block_fly_check"/> + <check_box label="Blocca il volo sul lotto" name="block_fly_over_check" tool_tip="Espandi il controllo dell'accesso in alto per impedire il volo sopra un lotto"/> <check_box label="Abilita i danni" name="allow_damage_check"/> <check_box label="Limita gli urti" name="restrict_pushobject"/> <check_box label="Abilita la rivendita del terreno" name="allow_land_resell_check"/> <check_box label="Abilita unione/suddivisione del terreno" name="allow_parcel_changes_check"/> <check_box label="Proibisci che il terreno appaia nelle ricerche" name="block_parcel_search_check" tool_tip="Permetti che le persone vedano questa regione e le sue suddivisioni nei risultati delle ricerche"/> - <check_box label="Consenti oggetti con reticolo" name="mesh_rez_enabled_check" tool_tip="Permetti alle persone di rezzare oggetti con reticolo su questa regione"/> <spinner label="Limite massimo di avatar" label_width="135" name="agent_limit_spin" width="190"/> <spinner label="Bonus di oggetti" label_width="135" name="object_bonus_spin" width="190"/> <text label="Maturità" name="access_text" width="120"> diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml index 907857bf5a..2f00a023bb 100755 --- a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml @@ -33,7 +33,7 @@ <layout_panel name="shop_btn_lp"> <button label="Acquisti" name="shop_btn" tool_tip="Apri pagina web di Marketplace"/> <button label="Indossa" name="wear_btn" tool_tip="Indossa il vestiario selezionato"/> - <button label="Riproduci" name="play_btn"/> + <button label="Gioca" name="play_btn"/> <button label="Teleport" name="teleport_btn" tool_tip="Teleport alla zona selezionata"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 86d7f75b83..3835907f01 100755 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -34,6 +34,45 @@ <string name="StartupRequireDriverUpdate"> Inizializzazione grafica non riuscita. Aggiorna il driver della scheda grafica! </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + Generato con [COMPILER] versione [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Tu sei a [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] che si trova a <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL: <nolink>[SLURL]</nolink> +(coordinate globali [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU: [CPU] +Memoria: [MEMORY_MB] MB +Versione sistema operativo: [OS_VERSION] +Venditore scheda grafica: [GRAPHICS_CARD_VENDOR] +Scheda grafica: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Versione driver Windows per grafica: [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + Versione OpenGL: [OPENGL_VERSION] + +Versione libcurl: [LIBCURL_VERSION] +Versione J2C Decoder: [J2C_VERSION] +Versione Driver audio: [AUDIO_DRIVER_VERSION] +Versione Qt Webkit: [QT_WEBKIT_VERSION] +Versione Server voice: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Pacchetti perduti: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Errore nel recupero URL note rilascio versione + </string> <string name="ProgressRestoring"> Ripristino in corso... </string> @@ -931,12 +970,12 @@ Prova ad accedere nuovamente tra un minuto. <string name="ControlYourCamera"> Controllare la tua fotocamera </string> - <string name="AgentNameSubst"> - (Tu) - </string> <string name="TeleportYourAgent"> Teleportarti </string> + <string name="AgentNameSubst"> + (Tu) + </string> <string name="JoinAnExperience"> Partecipa a un'esperienza </string> @@ -1261,8 +1300,7 @@ Prova ad accedere nuovamente tra un minuto. <string name="InventoryInboxNoItems"> Gli acquissti dal mercato verranno mostrati qui. Potrai quindi trascinarli nel tuo inventario per usarli. </string> - <string name="Unconstrained">Libero</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1291,6 +1329,18 @@ Prova ad accedere nuovamente tra un minuto. <string name="InventoryOutboxNoItems"> Trascina le cartelle in questa area e clicca su "Invia a Marketplace" per metterle in vendita su [[MARKETPLACE_DASHBOARD_URL] Marketplace]. </string> + <string name="InventoryOutboxInitializingTitle"> + Inizializzazione Marketplace.in corso + </string> + <string name="InventoryOutboxInitializing"> + Stiamo eseguendo l'accesso al tuo account sul [[MARKETPLACE_CREATE_STORE_URL] negozio Marketplace]. + </string> + <string name="InventoryOutboxErrorTitle"> + Errori in Marketplace. + </string> + <string name="InventoryOutboxError"> + Il [[MARKETPLACE_CREATE_STORE_URL] negozio nel Marketplace] ha riportato errori. + </string> <string name="Marketplace Error None"> Nessun errore </string> @@ -1318,6 +1368,9 @@ Prova ad accedere nuovamente tra un minuto. <string name="Open landmarks"> Apri luoghi di riferimento </string> + <string name="Unconstrained"> + Libero + </string> <string name="no_transfer" value="(nessun trasferimento)"/> <string name="no_modify" value="(nessuna modifica)"/> <string name="no_copy" value="(nessuna copia)"/> @@ -1712,6 +1765,9 @@ Prova ad accedere nuovamente tra un minuto. <string name="CompileQueueDownloadedCompiling"> Scaricato, in compilazione </string> + <string name="CompileQueueServiceUnavailable"> + Il servizio di compilazione degli script non è disponibile + </string> <string name="CompileQueueScriptNotFound"> Script non trovato sul server. </string> diff --git a/indra/newview/skins/default/xui/ja/floater_region_restarting.xml b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml new file mode 100644 index 0000000000..e9ba9d230d --- /dev/null +++ b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="リージョンの再起動"> + <string name="RegionName"> + 今 ([NAME]) がいるリージョンを再起動しようとしています。 + +このままここにいるとログアウトされます。 + </string> + <string name="RestartSeconds"> + 再起動までの秒数 +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + 今 (-最長リージョン名-) がいるリージョンを再起動しようとしています。 + +このままここにいるとログアウトされます。 + </text> + <text name="restart_seconds"> + 再起動までの秒数 + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml new file mode 100644 index 0000000000..f6edce026f --- /dev/null +++ b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="シーン ロード統計情報"> + <button label="一時停止" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="ベーシック" name="basic"> + <stat_bar label="フレーム ピクセル差" name="frame difference"/> + <stat_bar label="UDP データを受け取りました" name="bandwidth"/> + <stat_bar label="パケットロス" name="packet_loss"/> + </stat_view> + <stat_view label="アドバンス" name="advanced"> + <stat_view label="描画" name="render"> + <stat_bar label="オブジェクト合計" name="objs"/> + <stat_bar label="新規オブジェクト" name="newobjs"/> + <stat_bar label="オブジェクト キャッシュ ヒット率" name="object_cache_hits"/> + </stat_view> + <stat_view label="テクスチャ" name="texture"> + <stat_bar label="キャッシュ ヒット率" name="texture_cache_hits"/> + <stat_bar label="キャッシュ読み込み遅延" name="texture_cache_read_latency"/> + <stat_bar label="カウント" name="numimagesstat"/> + <stat_bar label="Raw カウント" name="numrawimagesstat"/> + </stat_view> + <stat_view label="ネットワーク" name="network"> + <stat_bar label="パケットイン" name="packetsinstat"/> + <stat_bar label="パケットアウト" name="packetsoutstat"/> + <stat_bar label="オブジェクト" name="objectdatareceived"/> + <stat_bar label="テクスチャ" name="texturedatareceived"/> + <stat_bar label="資産" name="assetudpdatareceived"/> + <stat_bar label="レイヤー" name="layersdatareceived"/> + <stat_bar label="実際の受信" name="messagedatain"/> + <stat_bar label="実際の送信" name="messagedataout"/> + <stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="シミュレーター" name="sim"> + <stat_bar label="オブジェクト" name="simobjects"/> + <stat_bar label="アクティブなオブジェクト" name="simactiveobjects"/> + <stat_bar label="アクティブなスクリプト" name="simactivescripts"/> + <stat_bar label="パケットイン" name="siminpps"/> + <stat_bar label="パケットアウト" name="simoutpps"/> + <stat_bar label="保留中のダウンロード" name="simpendingdownloads"/> + <stat_bar label="保留中のアップロード" name="simpendinguploads"/> + <stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/> + <stat_view label="時間(ms)" name="simperf"> + <stat_bar label="フレーム時間合計" name="simframemsec"/> + <stat_bar label="総時間数" name="simnetmsec"/> + <stat_bar label="物理的作用時間" name="simsimphysicsmsec"/> + <stat_bar label="シミュレーション時間" name="simsimothermsec"/> + <stat_bar label="エージェント時間" name="simagentmsec"/> + <stat_bar label="イメージ時間" name="simimagesmsec"/> + <stat_bar label="スクリプト時間" name="simscriptmsec"/> + <stat_bar label="余暇" name="simsparemsec"/> + <stat_view label="時間の詳細(ms)" name="timedetails"> + <stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/> + <stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="他の物理効果" name="simsimphysicsothermsec"/> + <stat_bar label="スリープ時間" name="simsleepmsec"/> + <stat_bar label="ポンプ I/O" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_stats.xml b/indra/newview/skins/default/xui/ja/floater_stats.xml index 1922e4841a..2b3b51f3b7 100755 --- a/indra/newview/skins/default/xui/ja/floater_stats.xml +++ b/indra/newview/skins/default/xui/ja/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="ベーシック" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="帯域幅" name="bandwidth"/> + <stat_bar label="UDP データを受け取りました" name="bandwidth"/> <stat_bar label="パケットロス" name="packet_loss"/> <stat_bar label="Pingシム" name="ping"/> </stat_view> <stat_view label="アドバンス" name="advanced"> <stat_view label="描画" name="render"> - <stat_bar label="フレームごとの KTris 描画" name="ktrisframe"/> - <stat_bar label="秒ごとの KTris 描画" name="ktrissec"/> + <stat_bar label="KTris (フレームごと)" name="ktrisframe"/> + <stat_bar label="KTris (秒ごと)" name="ktrissec"/> <stat_bar label="オブジェクト合計" name="objs"/> <stat_bar label="新規オブジェクト" name="newobjs"/> <stat_bar label="オブジェクトキャッシュヒット率" name="object_cache_hits"/> + <stat_bar label="閉鎖クエリ実行" name="occlusion_queries"/> + <stat_bar label="閉鎖オブジェクト" name="occluded"/> + <stat_bar label="非閉鎖オブジェクト" name="unoccluded"/> </stat_view> <stat_view label="テクスチャ" name="texture"> <stat_bar label="キャッシュヒット率" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Raw メモリ" name="rawmemstat"/> <stat_bar label="統合メモリ" name="glboundmemstat"/> </stat_view> + <stat_view label="メモリ使用量" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="UI" name="LLView"/> + <stat_bar label="フォント" name="LLFontFreetype"/> + <stat_bar label="インベントリ" name="LLInventoryObject"/> + <stat_bar label="ビューワ オブジェクト" name="LLViewerObject"/> + <stat_bar label="Octree グループ データ" name="LLViewerOctreeGroup"/> + <stat_bar label="Octree データ" name="LLViewerOctreeEntry"/> + <stat_bar label="ビューワ オブジェクト キャッシュ" name="LLVOCacheEntry"/> + <stat_bar label="描画可能オブジェクト" name="LLDrawable"/> + <stat_bar label="顔データ" name="LLFace"/> + <stat_bar label="描画情報" name="LLDrawInfo"/> + <stat_bar label="テクスチャ データ" name="LLTexture"/> + <stat_bar label="画像データ" name="LLImage"/> + <stat_bar label="GL 画像データ" name="LLImageGL"/> + <stat_bar label="頂点バッファ" name="LLVertexBuffer"/> + </stat_view> <stat_view label="ネットワーク" name="network"> <stat_bar label="パケットイン" name="packetsinstat"/> <stat_bar label="パケットアウト" name="packetsoutstat"/> - <stat_bar label="オブジェクト" name="objectkbitstat"/> - <stat_bar label="テクスチャ" name="texturekbitstat"/> - <stat_bar label="アセット" name="assetkbitstat"/> - <stat_bar label="レイヤー" name="layerskbitstat"/> - <stat_bar label="実際の受信" name="actualinkbitstat"/> - <stat_bar label="実際の送信" name="actualoutkbitstat"/> + <stat_bar label="オブジェクト" name="objectdatareceived"/> + <stat_bar label="テクスチャ" name="texturedatareceived"/> + <stat_bar label="資産" name="assetudpdatareceived"/> + <stat_bar label="レイヤー" name="layersdatareceived"/> + <stat_bar label="実際の受信" name="messagedatain"/> + <stat_bar label="実際の送信" name="messagedataout"/> <stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="パケットアウト" name="simoutpps"/> <stat_bar label="保留中のダウンロード" name="simpendingdownloads"/> <stat_bar label="保留中のアップロード" name="simpendinguploads"/> - <stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/> - <stat_view label="時間(ms)" name="simperf"> + <stat_bar label="合計未承認データ" name="simtotalunackedbytes"/> + <stat_view label="時間" name="simperf"> <stat_bar label="フレーム時間合計" name="simframemsec"/> <stat_bar label="総時間数" name="simnetmsec"/> <stat_bar label="物理的作用時間" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="イメージ時間" name="simimagesmsec"/> <stat_bar label="スクリプト時間" name="simscriptmsec"/> <stat_bar label="余暇" name="simsparemsec"/> - <stat_view label="時間の詳細(ms)" name="timedetails"> + <stat_view label="時間の詳細" name="timedetails"> <stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/> <stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="他の物理効果" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml index b04f602134..80ce080e39 100755 --- a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="プロフィールの表示" name="Show Profile"/> <menu_item_call label="IMを送信..." name="Send IM"/> + <menu_item_call label="テレポートをリクエスト" name="Request Teleport"/> <menu_item_call label="フレンドを追加..." name="Add Friend"/> <menu_item_call label="フレンドを削除..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml index 106b09453a..8d6c983aa7 100755 --- a/indra/newview/skins/default/xui/ja/menu_inventory.xml +++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="再生する" name="Sound Play"/> <menu_item_call label="SLurl をコピー" name="url_copy"/> <menu_item_call label="ランドマークの情報" name="About Landmark"/> + <menu_item_call label="地図に表示" name="show_on_map"/> <menu_item_call label="インワールドで再生する" name="Animation Play"/> <menu_item_call label="ローカルで再生する" name="Animation Audition"/> <menu_item_call label="インスタントメッセージを送信する" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml index 3918732fa8..cd8bd52f91 100755 --- a/indra/newview/skins/default/xui/ja/menu_login.xml +++ b/indra/newview/skins/default/xui/ja/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="[APP_NAME] を終了" name="Quit"/> </menu> <menu label="ヘルプ" name="Help"> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> + <menu_item_call label="ハウツー..." name="How To"/> + <menu_item_call label="クイックスタート" name="Quickstart"/> + <menu_item_call label="ナレッジベース" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="コミュニティ フォーラム" name="Community Forums"/> + <menu_item_call label="日本語サポートページ" name="Support portal"/> + <menu_item_call label="[SECOND_LIFE] ニュース" name="Second Life News"/> + <menu_item_call label="[SECOND_LIFE] ブログ" name="Second Life Blogs"/> + <menu_item_call label="バグを報告する" name="Report Bug"/> <menu_item_call label="[APP_NAME] について" name="About Second Life"/> </menu> <menu_item_check label="デバッグメニューを表示する" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml index 66bc32214f..61642048b8 100755 --- a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="テレポート" name="Teleport"/> <menu_item_call label="もっと詳しく" name="More Information"/> - <menu_item_call label="クリップボードにコピー" name="CopyToClipboard"/> + <menu_item_call label="SLurl をコピー" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index b1ec62115c..b151915ae4 100755 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -72,11 +72,11 @@ <menu_item_check label="アドバンスメニュー" name="Show Advanced Menu"/> </menu> <menu label="太陽" name="Sun"> - <menu_item_call label="日の出" name="Sunrise"/> - <menu_item_call label="正午" name="Noon"/> - <menu_item_call label="日没" name="Sunset"/> - <menu_item_call label="真夜中" name="Midnight"/> - <menu_item_call label="リージョンの設定を使用" name="Use Region Settings"/> + <menu_item_check label="日の出" name="Sunrise"/> + <menu_item_check label="正午" name="Noon"/> + <menu_item_check label="日没" name="Sunset"/> + <menu_item_check label="真夜中" name="Midnight"/> + <menu_item_check label="リージョンの設定を使用" name="Use Region Settings"/> </menu> <menu label="自然環境エディター" name="Environment Editor"> <menu_item_call label="自然環境の設定..." name="Environment Settings"/> @@ -165,8 +165,6 @@ </menu> <menu label="ヘルプ" name="Help"> <menu_item_call label="ハウツー..." name="How To"/> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> - <menu_item_call label="ユーザーガイド" name="User’s guide"/> <menu_item_call label="ナレッジベース" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="コミュニティフォーラム" name="Community Forums"/> @@ -188,6 +186,7 @@ <menu label="パフォーマンスツール" name="Performance Tools"> <menu_item_call label="ラグ計測器" name="Lag Meter"/> <menu_item_check label="統計バー" name="Statistics Bar"/> + <menu_item_call label="シーン ロード統計情報" name="Scene Load Statistics"/> <menu_item_check label="アバターの描画ウェイトを表示" name="Avatar Rendering Cost"/> </menu> <menu label="ハイライトと目に見えるもの" name="Highlighting and Visibility"> @@ -250,6 +249,7 @@ <menu_item_check label="ファーストタイマー" name="Fast Timers"/> <menu_item_check label="メモリ" name="Memory"/> <menu_item_check label="風景の統計" name="Scene Statistics"/> + <menu_item_check label="シーン ローディング モニター" name="Scene Loading Monitor"/> <menu_item_call label="テクスチャ取得デバッグコンソール" name="Texture Fetch Debug Console"/> <menu_item_call label="リージョン情報をデバッグコンソールへ" name="Region Info to Debug Console"/> <menu_item_call label="グループ情報をデバッグコンソールへ" name="Group Info to Debug Console"/> @@ -286,6 +286,7 @@ <menu_item_check label="定期的に遅いフレームを挿入する" name="Periodic Slow Frame"/> <menu_item_check label="フレームテスト" name="Frame Test"/> <menu_item_call label="フレームプロフィール" name="Frame Profile"/> + <menu_item_call label="ベンチマーク" name="Benchmark"/> </menu> <menu label="メタデータのレンダー" name="Render Metadata"> <menu_item_check label="バウンディングボックス" name="Bounding Boxes"/> @@ -304,6 +305,7 @@ <menu_item_check label="制作キュー" name="Build Queue"/> <menu_item_check label="光" name="Lights"/> <menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/> + <menu_item_check label="ジョイント" name="Joints"/> <menu_item_check label="レイキャスト" name="Raycast"/> <menu_item_check label="風のベクトル" name="Wind Vectors"/> <menu_item_check label="描画の詳細度" name="rendercomplexity"/> @@ -336,6 +338,7 @@ <menu_item_check label="装着された光源を描画する" name="Render Attached Lights"/> <menu_item_check label="取り付けられたパーティクルを描画する" name="Render Attached Particles"/> <menu_item_check label="マウスオーバーで強調表示する" name="Hover Glow Objects"/> + <menu_item_call label="キャッシュをすぐにクリア" name="Cache Clear"/> </menu> <menu label="ネットワーク" name="Network"> <menu_item_check label="エージェントを一時停止する" name="AgentPause"/> @@ -368,7 +371,6 @@ <menu_item_call label="フォーカスホールダーをダンプ" name="Dump Focus Holder"/> <menu_item_call label="選択したオブジェクト情報をプリント" name="Print Selected Object Info"/> <menu_item_call label="エージェント情報をプリント" name="Print Agent Info"/> - <menu_item_check label="地域デバッグコンソール" name="Region Debug Console"/> <menu_item_check label="SelectMgr のデバッグ" name="Debug SelectMgr"/> <menu_item_check label="ダブルクリック" name="Debug Clicks"/> <menu_item_check label="デバッグ表示" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index f1c916bf53..518f82daaf 100755 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -113,13 +113,13 @@ <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - 転送に失敗 + '[ERROR_CODE]' エラーで転送できませんでした システムまたはネットワークのエラーのため、フォルダはマーケットプレイスに送信されませんでした。後でもう一度お試しください。 <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - マーケットプレイスの初期化に失敗 + '[ERROR_CODE]' エラーでマーケットプレイスを初期化できませんでした システムまたはネットワークのエラーのため、マーケットプレイスの初期化に失敗しました。後でもう一度お試しください。 <usetemplate name="okbutton" yestext="OK"/> @@ -1768,6 +1768,10 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ このまま <nolink>[LOCATION]</nolink> にテレポートしますか? <usetemplate ignoretext="ランドマークにテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/> </notification> + <notification name="TeleportViaSLAPP"> + このまま <nolink>[LOCATION]</nolink> にテレポートしますか? + <usetemplate ignoretext="SLAPP でテレポートすることを確認" name="okcancelignore" notext="取り消し" yestext="テレポート"/> + </notification> <notification name="TeleportToPick"> [PICK] にテレポートしますか? <usetemplate ignoretext="ピックの場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/> @@ -1979,6 +1983,9 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ 新しい不動産マネージャーの追加に関する問題: いずれかの不動産のマネージャーリストが満杯になっています。 </notification> + <notification name="ProblemAddingEstateBanManager"> + 不動産所有者または管理者を禁止リストに追加できません。 + </notification> <notification name="ProblemAddingEstateGeneric"> 不動産リストの追加に関する問題: いずれかの不動産のリストが満杯になっています。 @@ -3072,9 +3079,9 @@ M キーを押して変更します。 <nolink>[ITEMS]</nolink> -次の住人と共有しますか? +次の住人と共有: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3086,7 +3093,7 @@ M キーを押して変更します。 次の住人と共有: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="取り消し" yestext="Ok"/> </notification> <notification name="ItemsShared"> @@ -3541,10 +3548,6 @@ M キーを押して変更します。 <notification name="EjectComingSoon"> ここへの入場が許可されていないため、[EJECT_TIME] 秒後に追放されます。 </notification> - <notification name="NoEnterServerFull"> - サーバーが埋まっているため、 -このリージョンに入場することはできません。 - </notification> <notification name="SaveBackToInvDisabled"> 「「持ち物」に保存」が無効になっています。 </notification> @@ -3729,6 +3732,9 @@ M キーを押して変更します。 <notification name="LinkFailedTooMuchPhysics"> オブジェクトが使用している物理リソースが多すぎたため、ダイナミックスが無効にされました。 </notification> + <notification name="EstateManagerFailedllTeleportHome"> + [SLURL] のオブジェクト '[OBJECT_NAME]' で不動産マネージャーのホームをテレポートできません。 + </notification> <notification name="TeleportedHomeByObjectOnParcel"> 区画 '[PARCEL_NAME]' のオブジェクト '[OBJECT_NAME]' によって、あなたはホームにテレポートされました。 </notification> @@ -3919,13 +3925,18 @@ M キーを押して変更します。 選択範囲のリース区画の数が少ないため、参加できません。 </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - 土地を分割できません。\n区画が複数選択されています。\nもっと小さい土地を選択してみてください。 + 土地を分割できません。 +複数の区画が選択されました。 +小さい区画を選択してください。 </notification> <notification name="CantDivideLandCantFindParcel"> - 土地を分解できません。\n区画が見つかりません。\n「Help」>「Reprt Bug...」でレポートを行ってください。 + 土地を分割できません。 +区画が見つかりません。 +「ヘルプ」 -> 「バグの報告」で報告してください。 </notification> <notification name="CantDivideLandWholeParcelSelected"> - 土地を分割できません。区画全体を選択します。\n小さい土地を選択してみてください。 + 土地を分割できません。区画全体が選択されています。 +小さい区画を選択してください。 </notification> <notification name="LandHasBeenDivided"> 土地が分割されています。 @@ -4065,4 +4076,8 @@ M キーを押して変更します。 ファイルを移動できません。以前のパスがリストアされました。 <usetemplate ignoretext="ファイルを移動できません。以前のパスがリストアされました。" name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + チャット履歴ファイルが前の操作でビジーです。2、3 分経ってからもう一度試すか、別の人とのチャットを選択してください。 + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml index 7aa1aec6d0..ebcb36d950 100755 --- a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="グループインベントリ" name="GroupInfo"> <panel.string name="default_needs_apply_text"> 保存していない変更があります @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="一般"/> - <accordion_tab name="group_roles_tab" title="役割"/> + <accordion_tab name="group_roles_tab" title="役割 & メンバー"/> <accordion_tab name="group_notices_tab" title="通知"/> <accordion_tab name="group_land_tab" title="土地・資産"/> </accordion> diff --git a/indra/newview/skins/default/xui/ja/panel_group_roles.xml b/indra/newview/skins/default/xui/ja/panel_group_roles.xml index d40dedf566..8ca63988c3 100755 --- a/indra/newview/skins/default/xui/ja/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/ja/panel_group_roles.xml @@ -21,6 +21,7 @@ Ctrl キーを押しながらメンバー名をクリックすると <name_list.columns label="メンバー" name="name"/> <name_list.columns label="寄付" name="donated"/> <name_list.columns label="ステータス" name="online"/> + <name_list.columns label="職名" name="title"/> </name_list> <button label="招待" name="member_invite"/> <button label="追放" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/ja/panel_region_debug.xml b/indra/newview/skins/default/xui/ja/panel_region_debug.xml index 169da27ce5..908af3d66a 100755 --- a/indra/newview/skins/default/xui/ja/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/ja/panel_region_debug.xml @@ -7,11 +7,8 @@ 未知 </text> <check_box label="スクリプト無効化" name="disable_scripts_check" tool_tip="この地域のスクリプトをすべて無効にします"/> - <button label="?" name="disable_scripts_help"/> <check_box label="衝突を無効化" name="disable_collisions_check" tool_tip="この地域の非アバター衝突を無効にします"/> - <button label="?" name="disable_collisions_help"/> <check_box label="物理作用を無効化" name="disable_physics_check" tool_tip="この地域の物理作用をすべて無効にします"/> - <button label="?" name="disable_physics_help"/> <button label="適用" name="apply_btn"/> <text name="objret_text_lbl" width="120"> オブジェクトの返却 @@ -31,10 +28,8 @@ <check_box label="この不動産に属するすべてのリージョンのもの" name="return_estate_wide" tool_tip="この不動産に含まれているすべての地域のオブジェクトを返却します"/> <button label="返却" name="return_btn"/> <button label="上部コライダー取得" name="top_colliders_btn" tool_tip="衝突する可能性が最も高いオブジェクトのリスト"/> - <button label="?" name="top_colliders_help"/> - <button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/> - <button label="?" name="top_scripts_help"/> <button label="地域再起動" name="restart_btn" tool_tip="2分間のカウントダウン後、地域を再起動します"/> - <button label="?" name="restart_help"/> + <button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/> <button label="再起動をキャンセル" name="cancel_restart_btn" tool_tip="リージョンの再起動をキャンセル"/> + <button label="地域デバッグコンソール" name="region_debug_console_btn" tool_tip="地域デバッグコンソールを開く"/> </panel> diff --git a/indra/newview/skins/default/xui/ja/panel_region_general.xml b/indra/newview/skins/default/xui/ja/panel_region_general.xml index 65148cf1ee..d23007dc6b 100755 --- a/indra/newview/skins/default/xui/ja/panel_region_general.xml +++ b/indra/newview/skins/default/xui/ja/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="地形編集をブロック" name="block_terraform_check"/> <check_box label="飛行をブロック" name="block_fly_check"/> + <check_box label="区画の飛行をブロック" name="block_fly_over_check" tool_tip="アクセス チェックを上方向に拡大し、区画を超える飛行を防ぎます"/> <check_box label="ダメージを許可" name="allow_damage_check"/> <check_box label="プッシュを制限" name="restrict_pushobject"/> <check_box label="土地の再販を許可" name="allow_land_resell_check"/> <check_box label="土地の統合・分割を許可" name="allow_parcel_changes_check"/> <check_box label="土地の検索表示をブロック" name="block_parcel_search_check" tool_tip="検索結果で、この地域と区画を表示するかどうかの設定です"/> - <check_box label="メッシュオブジェクトを許可" name="mesh_rez_enabled_check" tool_tip="このリージョンでメッシュオブジェクトの Rez を許可する"/> <spinner label="アバター数上限" name="agent_limit_spin"/> <spinner label="物体ボーナス" name="object_bonus_spin"/> <text label="成人指定" name="access_text"> diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml index 32e84ce542..5aa0e86a5b 100755 --- a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml @@ -28,12 +28,12 @@ <button label="プロフィール" name="info_btn" tool_tip="オブジェクトのプロフィールを表示する"/> </layout_panel> <layout_panel name="share_btn_lp"> - <button label="共有" name="share_btn" tool_tip="インベントリのアイテムを共有する"/> + <button label="共有" name="share_btn" tool_tip="「持ち物」のアイテムを共有する"/> </layout_panel> <layout_panel name="shop_btn_lp"> - <button label="店" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/> + <button label="ショッピング" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/> <button label="装着" name="wear_btn" tool_tip="選択したアウトフィットを着用する"/> - <button label="プレイ" name="play_btn"/> + <button label="再生" name="play_btn"/> <button label="テレポート" name="teleport_btn" tool_tip="該当するエリアにテレポートする"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 36966d6825..88fb652399 100755 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -37,6 +37,44 @@ <string name="StartupRequireDriverUpdate"> グラフィックを初期化できませんでした。グラフィックドライバを更新してください。 </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + コンパイラー [COMPILER] [COMPILER_VERSION] バージョン + </string> + <string name="AboutPosition"> + あなたの現在地は、[POSITION_LOCAL_0,number,1]、[POSITION_LOCAL_1,number,1]、[POSITION_LOCAL_2,number,1] の [REGION] です。位置は <nolink>[HOSTNAME]</nolink> です。([HOSTIP]) +SLURL:<nolink>[SLURL]</nolink> +(グローバル座標 [POSITION_0,number,1]、[POSITION_1,number,1]、[POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU:[CPU] +メモリ:[MEMORY_MB] MB +OS バージョン:[OS_VERSION] +グラフィックカード製造元:[GRAPHICS_CARD_VENDOR] +グラフィックカード:[GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Windows グラフィックドライババージョン:[GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + OpenGL バージョン:[OPENGL_VERSION] + +libcurl バージョン:[LIBCURL_VERSION] +J2C デコーダバージョン:[J2C_VERSION] +オーディオドライババージョン:[AUDIO_DRIVER_VERSION] +Qt Webkit バージョン:[QT_WEBKIT_VERSION] +ボイスサーバーバージョン:[VOICE_VERSION] + </string> + <string name="AboutTraffic"> + パケットロス:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + サーバーのリリースノートの URL を取得中にエラーが発生しました。 + </string> <string name="ProgressRestoring"> 復元中です... </string> @@ -937,15 +975,15 @@ support@secondlife.com にお問い合わせください。 <string name="ControlYourCamera"> カメラのコントロール </string> + <string name="TeleportYourAgent"> + あなたをテレポート + </string> <string name="NotConnected"> 接続されていません </string> <string name="AgentNameSubst"> (あなた) </string> - <string name="TeleportYourAgent"> - あなたをテレポート - </string> <string name="JoinAnExperience"> 体験に参加する </string> @@ -1270,8 +1308,7 @@ support@secondlife.com にお問い合わせください。 <string name="InventoryInboxNoItems"> マーケットプレイスで購入した商品はここに表示されます。その後、アイテムをインベントリにドラッグすれば、それらのアイテムを使用できます。 </string> - <string name="Unconstrained">非拘束</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1300,6 +1337,18 @@ support@secondlife.com にお問い合わせください。 <string name="InventoryOutboxNoItems"> [[MARKETPLACE_DASHBOARD_URL] マーケットプレイス]に販売するアイテムを一覧するには、フォルダをこのエリアにドラッグし、「マーケットプレイスに送信」をクリックします。 </string> + <string name="InventoryOutboxInitializingTitle"> + マーケットプレイスの初期化。 + </string> + <string name="InventoryOutboxInitializing"> + [[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] のアカウントにアクセスしています。 + </string> + <string name="InventoryOutboxErrorTitle"> + マーケットプレイス エラー。 + </string> + <string name="InventoryOutboxError"> + [[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] がエラーを返しています。 + </string> <string name="Marketplace Error None"> エラーなし </string> @@ -1327,6 +1376,9 @@ support@secondlife.com にお問い合わせください。 <string name="Open landmarks"> ランドマークを開く </string> + <string name="Unconstrained"> + 非拘束 + </string> <string name="no_transfer" value=" (再販・プレゼント不可)"/> <string name="no_modify" value=" (編集不可)"/> <string name="no_copy" value=" (コピー不可)"/> @@ -1727,6 +1779,9 @@ support@secondlife.com にお問い合わせください。 <string name="CompileQueueDownloadedCompiling"> ダウンロード完了、コンパイル中 </string> + <string name="CompileQueueServiceUnavailable"> + スクリプト コンパイル サービスを利用できません + </string> <string name="CompileQueueScriptNotFound"> サーバー上にスクリプトが見つかりません。 </string> diff --git a/indra/newview/skins/default/xui/pt/floater_region_restarting.xml b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml new file mode 100644 index 0000000000..7fd13c0d75 --- /dev/null +++ b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="REINICIANDO REGIÃO"> + <string name="RegionName"> + A região na qual você está ([NAME]) está prestes a ser reiniciada. + +Se permanecer aqui, você será desconectado. + </string> + <string name="RestartSeconds"> + Segundos até o reinício +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + A região na qual você está (-Nome mais longo da região-) está prestes a ser reiniciada. + +Se permanecer aqui, você será desconectado. + </text> + <text name="restart_seconds"> + Segundos até o reinício + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml new file mode 100644 index 0000000000..027e1ef311 --- /dev/null +++ b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="ESTATÍSTICAS DE CARREGAMENTO DE CENA"> + <button label="Pausar" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Básico" name="basic"> + <stat_bar label="Diferença de frame em pixels" name="frame difference"/> + <stat_bar label="Dados de UDP recebidos" name="bandwidth"/> + <stat_bar label="Bandwidth" name="packet_loss"/> + </stat_view> + <stat_view label="Avançado" name="advanced"> + <stat_view label="Render" name="render"> + <stat_bar label="Total Objects" name="objs"/> + <stat_bar label="New Objects" name="newobjs"/> + <stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/> + </stat_view> + <stat_view label="Textura" name="texture"> + <stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/> + <stat_bar label="Latência de leitura do cache" name="texture_cache_read_latency"/> + <stat_bar label="Contagem" name="numimagesstat"/> + <stat_bar label="Raw Count" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Network" name="network"> + <stat_bar label="Packets In" name="packetsinstat"/> + <stat_bar label="Packets Out" name="packetsoutstat"/> + <stat_bar label="Objetos" name="objectdatareceived"/> + <stat_bar label="Textura" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Layers" name="layersdatareceived"/> + <stat_bar label="Actual In" name="messagedatain"/> + <stat_bar label="Actual Out" name="messagedataout"/> + <stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simulator" name="sim"> + <stat_bar label="Objetos" name="simobjects"/> + <stat_bar label="Active Objects" name="simactiveobjects"/> + <stat_bar label="Active Scripts" name="simactivescripts"/> + <stat_bar label="Packets In" name="siminpps"/> + <stat_bar label="Packets Out" name="simoutpps"/> + <stat_bar label="Pending Downloads" name="simpendingdownloads"/> + <stat_bar label="Pending Uploads" name="simpendinguploads"/> + <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/> + <stat_view label="Time (ms)" name="simperf"> + <stat_bar label="Total Frame Time" name="simframemsec"/> + <stat_bar label="Net Time" name="simnetmsec"/> + <stat_bar label="Physics Time" name="simsimphysicsmsec"/> + <stat_bar label="Simulation Time" name="simsimothermsec"/> + <stat_bar label="Agent Time" name="simagentmsec"/> + <stat_bar label="Images Time" name="simimagesmsec"/> + <stat_bar label="Script Time" name="simscriptmsec"/> + <stat_bar label="Tempo restante" name="simsparemsec"/> + <stat_view label="Detalhes de tempo (ms)" name="timedetails"> + <stat_bar label="Etapa física" name="simsimphysicsstepmsec"/> + <stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Física - outros" name="simsimphysicsothermsec"/> + <stat_bar label="Tempo de espera" name="simsleepmsec"/> + <stat_bar label="Bombear ES" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_stats.xml b/indra/newview/skins/default/xui/pt/floater_stats.xml index be53624145..ef3307f54a 100755 --- a/indra/newview/skins/default/xui/pt/floater_stats.xml +++ b/indra/newview/skins/default/xui/pt/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="Básico" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bandwidth" name="bandwidth"/> + <stat_bar label="Dados de UDP recebidos" name="bandwidth"/> <stat_bar label="Bandwidth" name="packet_loss"/> <stat_bar label="Ping Sim" name="ping"/> </stat_view> <stat_view label="Avançado" name="advanced"> <stat_view label="Render" name="render"> - <stat_bar label="KTris desenhados por quadro" name="ktrisframe"/> - <stat_bar label="KTris desenhados por segundo" name="ktrissec"/> + <stat_bar label="KTris por quadro" name="ktrisframe"/> + <stat_bar label="KTris por segundo" name="ktrissec"/> <stat_bar label="Total Objects" name="objs"/> <stat_bar label="New Objects" name="newobjs"/> <stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/> + <stat_bar label="Consultas de oclusão realizadas" name="occlusion_queries"/> + <stat_bar label="Objetos ocultos" name="occluded"/> + <stat_bar label="Objeto não oculto" name="unoccluded"/> </stat_view> <stat_view label="Texture" name="texture"> <stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Raw Mem" name="rawmemstat"/> <stat_bar label="Bound Mem" name="glboundmemstat"/> </stat_view> + <stat_view label="Uso de memória" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="Interface" name="LLView"/> + <stat_bar label="Fontes" name="LLFontFreetype"/> + <stat_bar label="Inventário" name="LLInventoryObject"/> + <stat_bar label="Objetos do visualizador" name="LLViewerObject"/> + <stat_bar label="Dados do grupo de octrees" name="LLViewerOctreeGroup"/> + <stat_bar label="Dados da octree" name="LLViewerOctreeEntry"/> + <stat_bar label="Cache de objetos do visualizador" name="LLVOCacheEntry"/> + <stat_bar label="Drawables" name="LLDrawable"/> + <stat_bar label="Dados do rosto" name="LLFace"/> + <stat_bar label="Informações de desenho" name="LLDrawInfo"/> + <stat_bar label="Dados de textura" name="LLTexture"/> + <stat_bar label="Dados de imagem" name="LLImage"/> + <stat_bar label="Dados de imagem do GL" name="LLImageGL"/> + <stat_bar label="Buffers do Vertex" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Rede" name="network"> <stat_bar label="Packets In" name="packetsinstat"/> <stat_bar label="Packets Out" name="packetsoutstat"/> - <stat_bar label="Objects" name="objectkbitstat"/> - <stat_bar label="Texture" name="texturekbitstat"/> - <stat_bar label="Asset" name="assetkbitstat"/> - <stat_bar label="Layers" name="layerskbitstat"/> - <stat_bar label="Actual In" name="actualinkbitstat"/> - <stat_bar label="Actual Out" name="actualoutkbitstat"/> + <stat_bar label="Objetos" name="objectdatareceived"/> + <stat_bar label="Textura" name="texturedatareceived"/> + <stat_bar label="Asset" name="assetudpdatareceived"/> + <stat_bar label="Layers" name="layersdatareceived"/> + <stat_bar label="Actual In" name="messagedatain"/> + <stat_bar label="Actual Out" name="messagedataout"/> <stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -53,7 +73,8 @@ <stat_bar label="Etapas de silhueta ignoradas" name="simsimskippedsilhouettesteps"/> <stat_bar label="Personagens atualizados" name="simsimpctsteppedcharacters"/> </stat_view> - <stat_view label="Time (ms)" name="simperf"> + <stat_bar label="Total de dados não reconhecidos" name="simtotalunackedbytes"/> + <stat_view label="Hora" name="simperf"> <stat_bar label="Total Frame Time" name="simframemsec"/> <stat_bar label="Net Time" name="simnetmsec"/> <stat_bar label="Physics Time" name="simsimphysicsmsec"/> @@ -62,7 +83,7 @@ <stat_bar label="Images Time" name="simimagesmsec"/> <stat_bar label="Script Time" name="simscriptmsec"/> <stat_bar label="Tempo restante" name="simsparemsec"/> - <stat_view label="Detalhes de tempo (ms)" name="timedetails"> + <stat_view label="Detalhes de hora" name="timedetails"> <stat_bar label="Etapa física" name="simsimphysicsstepmsec"/> <stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Física - outros" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml index beba969b7e..f6211790a8 100755 --- a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Ver perfil" name="Show Profile"/> <menu_item_call label="Enviar MI..." name="Send IM"/> + <menu_item_call label="Solicitar teletransporte" name="Request Teleport"/> <menu_item_call label="Adicionar amigo..." name="Add Friend"/> <menu_item_call label="Remover amigo..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml index a3a648eb34..636b356c8b 100755 --- a/indra/newview/skins/default/xui/pt/menu_inventory.xml +++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Executar som" name="Sound Play"/> <menu_item_call label="Copiar SLurl" name="url_copy"/> <menu_item_call label="Sobre o marco" name="About Landmark"/> + <menu_item_call label="Mostrar no mapa" name="show_on_map"/> <menu_item_call label="Executar animação" name="Animation Play"/> <menu_item_call label="Executar áudio" name="Animation Audition"/> <menu_item_call label="Mandar MI" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml index cd840f3137..29dae6292a 100755 --- a/indra/newview/skins/default/xui/pt/menu_login.xml +++ b/indra/newview/skins/default/xui/pt/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="Sair do [APP_NAME]" name="Quit"/> </menu> <menu label="Ajuda" name="Help"> - <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Como..." name="How To"/> + <menu_item_call label="Início rápido" name="Quickstart"/> + <menu_item_call label="Base de conhecimento" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Fóruns da comunidade" name="Community Forums"/> + <menu_item_call label="Portal de suporte" name="Support portal"/> + <menu_item_call label="Notícias do [SECOND_LIFE]" name="Second Life News"/> + <menu_item_call label="Blogs do [SECOND_LIFE]" name="Second Life Blogs"/> + <menu_item_call label="Relatar bug" name="Report Bug"/> <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml index ec1e7a0950..3a2b3a8847 100755 --- a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Teletransportar" name="Teleport"/> <menu_item_call label="Mais informações" name="More Information"/> - <menu_item_call label="Copiar" name="CopyToClipboard"/> + <menu_item_call label="Copiar SLurl" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index e6eceb5f2f..d106c47c64 100755 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -72,11 +72,11 @@ <menu_item_check label="Menu avançado" name="Show Advanced Menu"/> </menu> <menu label="Sol" name="Sun"> - <menu_item_call label="Amanhecer" name="Sunrise"/> - <menu_item_call label="Meio-dia" name="Noon"/> - <menu_item_call label="Pôr-do-sol" name="Sunset"/> - <menu_item_call label="Meia-noite" name="Midnight"/> - <menu_item_call label="Usar configurações da região" name="Use Region Settings"/> + <menu_item_check label="Amanhecer" name="Sunrise"/> + <menu_item_check label="Meio-dia" name="Noon"/> + <menu_item_check label="Pôr-do-sol" name="Sunset"/> + <menu_item_check label="Meia-noite" name="Midnight"/> + <menu_item_check label="Usar configurações da região" name="Use Region Settings"/> </menu> <menu label="Editor de ambientes" name="Environment Editor"> <menu_item_call label="Configurações do ambiente..." name="Environment Settings"/> @@ -165,8 +165,6 @@ </menu> <menu label="Ajuda" name="Help"> <menu_item_call label="Como..." name="How To"/> - <menu_item_call label="[SECOND_LIFE] Ajuda" name="Second Life Help"/> - <menu_item_call label="Guia do usuário" name="User’s guide"/> <menu_item_call label="Base de conhecimento" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Fóruns da comunidade" name="Community Forums"/> @@ -188,6 +186,7 @@ <menu label="Ferramentas de desempenho" name="Performance Tools"> <menu_item_call label="Medidor de lag" name="Lag Meter"/> <menu_item_check label="Barra de estatísticas" name="Statistics Bar"/> + <menu_item_call label="Estatísticas de carregamento de cena" name="Scene Load Statistics"/> <menu_item_check label="Mostrar peso do desenho para avatares" name="Avatar Rendering Cost"/> </menu> <menu label="Realces e visibilidade" name="Highlighting and Visibility"> @@ -249,6 +248,7 @@ <menu_item_check label="Tempos" name="Fast Timers"/> <menu_item_check label="Memória" name="Memory"/> <menu_item_check label="Estatísticas da cena" name="Scene Statistics"/> + <menu_item_check label="Monitor de carregamento de cena" name="Scene Loading Monitor"/> <menu_item_call label="Painel de depuração de obtenção de textura" name="Texture Fetch Debug Console"/> <menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/> <menu_item_check label="Câmera:" name="Camera"/> @@ -280,6 +280,7 @@ <menu_item_check label="Taxa de quadros aleatória" name="Randomize Framerate"/> <menu_item_check label="Frame Test" name="Frame Test"/> <menu_item_call label="Perfil do quadro" name="Frame Profile"/> + <menu_item_call label="Benchmark" name="Benchmark"/> </menu> <menu label="Render Metadata" name="Render Metadata"> <menu_item_check label="Normais" name="Normals"/> @@ -287,6 +288,7 @@ <menu_item_check label="Tipo de atualização" name="Update Type"/> <menu_item_check label="Dados LOD" name="LOD Info"/> <menu_item_check label="Fila de construção" name="Build Queue"/> + <menu_item_check label="Junções" name="Joints"/> <menu_item_check label="Vetores de vento" name="Wind Vectors"/> <menu_item_check label="Renderizar complexidade" name="rendercomplexity"/> <menu_item_check label="Bytes do anexo" name="attachment bytes"/> @@ -312,6 +314,7 @@ <menu_item_check label="Render Attached Lights" name="Render Attached Lights"/> <menu_item_check label="Render Attached Particles" name="Render Attached Particles"/> <menu_item_check label="Objetos iridescentes" name="Hover Glow Objects"/> + <menu_item_call label="Limpar cache imediatamente" name="Cache Clear"/> </menu> <menu label="Rede" name="Network"> <menu_item_check label="Pausar avatar" name="AgentPause"/> @@ -327,7 +330,6 @@ <menu_item_call label="Teste de mídia do navegador" name="Web Browser Test"/> <menu_item_call label="Navegador de conteúdo web" name="Web Content Browser"/> <menu_item_call label="Print Selected Object Info" name="Print Selected Object Info"/> - <menu_item_check label="Console de depuração de região" name="Region Debug Console"/> <menu_item_check label="Debug Clicks" name="Debug Clicks"/> <menu_item_check label="Debug Mouse Events" name="Debug Mouse Events"/> </menu> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index d5096ec858..4e6b0765cb 100755 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -113,15 +113,15 @@ Consulte o [[MARKETPLACE_IMPORTS_URL] log de erros] para mais informações. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Falha de transferência + Falha na transferência com o erro '[ERROR_CODE]' -Nenhuma pasta enviada para o Mercado devido a um erro do sistema ou da rede. Tente novamente mais tarde. +Nenhuma pasta foi enviada ao Marketplace devido a um erro do sistema ou da rede. Tente novamente mais tarde. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Falha na inicialização do Mercado + Falha na inicialização do Marketplace com o erro '[ERROR_CODE]' -Falha na inicialização do mercado devido a um erro do sistema ou da rede. Tente novamente mais tarde. +Ocorreu uma falha na inicialização do Marketplace devido a um erro do sistema ou da rede. Tente novamente mais tarde. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="CompileQueueSaveText"> @@ -1722,6 +1722,10 @@ Por favor volte mais tarde. Tem certeza de quer ser teletransportado para <nolink>[LOCATION]</nolink>? <usetemplate ignoretext="Confirmar se eu quero ser teletransportado para marcos" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/> </notification> + <notification name="TeleportViaSLAPP"> + Tem certeza de quer ser teletransportado para <nolink>[LOCATION]</nolink>? + <usetemplate ignoretext="Confirmo que desejo me teleportar via SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/> + </notification> <notification name="TeleportToPick"> Teletransportar para [PICK]? <usetemplate ignoretext="Confirmar se eu quero ser teletransportado para Destaques" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/> @@ -1932,6 +1936,9 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar. <notification name="ProblemAddingEstateManager"> Problemas em adicionar um novo gerente da propriedade. Uma ou mais propriedades podem ter uma lista de gerentes cheia. </notification> + <notification name="ProblemAddingEstateBanManager"> + Não é possível adicionar proprietários ou gerentes de terreno à lista de bloqueio. + </notification> <notification name="ProblemAddingEstateGeneric"> Problemas em adicionar a esta lista de propriedades. Uma ou mais propriedades podem ter uma lista cheia. </notification> @@ -3012,19 +3019,25 @@ Mais detalhes no log. Não foi possível obter o recurso '[CAPABILITY]' da região. </notification> <notification name="ShareItemsConfirmation"> - Tem certeza de que quer compartilhar os itens abaixo? + Tem certeza de que deseja compartilhar os itens abaixo? <nolink>[ITEMS]</nolink> Com os seguintes residentes: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> - Apenas uma pasta pode ser compartilhada por vez. + É possível compartilhar apenas uma pasta de cada vez. + +Tem certeza de que deseja compartilhar os itens abaixo? + +<nolink>[ITEMS]</nolink> -Tem certeza de que quer compartilhar os itens abaixo? +Com os seguintes residentes: + +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="ItemsShared"> @@ -3478,10 +3491,6 @@ Tente novamente em instantes. <notification name="EjectComingSoon"> Você não tem mais permissão para ficar aqui e tem [EJECT_TIME] segundos para sair. </notification> - <notification name="NoEnterServerFull"> - Você não pode entrar nesta região porque -o servidor está cheio. - </notification> <notification name="SaveBackToInvDisabled"> Salvar no inventário foi desativado. </notification> @@ -3671,6 +3680,9 @@ o servidor está cheio. <notification name="LinkFailedTooMuchPhysics"> O objeto usa muitos recursos físicos – sua dinâmica foi desativada. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + O objeto '[OBJECT_NAME]' em [SLURL] não pode teleportar gerentes de terreno de volta para casa. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Você foi teletransportado para seu início pelo objeto '[OBJECT_NAME]' no lote '[PARCEL_NAME]' </notification> @@ -3861,13 +3873,18 @@ o servidor está cheio. Não há lotes alugados suficientes na seleção para reunir. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Não é possível dividir o terreno.\nHá mais de um lote selecionado.\nTente selecionar um pedaço menor de terreno. + Não é possível dividir o terreno. +Mais de um lote foi selecionado. +Tente selecionar uma quantidade menor de terreno. </notification> <notification name="CantDivideLandCantFindParcel"> - Não é possível dividir o terreno.\nNão é possível encontrar o lote.\nComunique isso em Ajuda -> Relatar bug... + Não é possível dividir o terreno. +Não é possível encontrar o lote. +Reporte em Ajuda -> Relatar bug... </notification> <notification name="CantDivideLandWholeParcelSelected"> - Não é possível dividir o terreno. O lote inteiro está selecionado.\nTente selecionar um pedaço menor do terreno. + Não é possível dividir o terreno. Todo o lote foi selecionado. +Tente selecionar uma quantidade menor de terreno. </notification> <notification name="LandHasBeenDivided"> O terreno foi dividido. @@ -4007,4 +4024,8 @@ o servidor está cheio. Não foi possível mover arquivos. Caminho anterior restaurado. <usetemplate ignoretext="Não foi possível mover arquivos. Caminho anterior restaurado." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + O arquivo de histórico de bate-papo está ocupado com uma operação anterior. Tente novamente em alguns minutos ou selecione outra pessoa para bater papo. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml index 30c825723b..7d8531a482 100755 --- a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Geral"/> - <accordion_tab name="group_roles_tab" title="Cargos"/> + <accordion_tab name="group_roles_tab" title="Funções e membros"/> <accordion_tab name="group_notices_tab" title="Avisos"/> <accordion_tab name="group_land_tab" title="Terrenos/Bens"/> </accordion> diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml index 11a31570d1..84d275a8f2 100755 --- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml @@ -19,8 +19,9 @@ <name_list.columns label="Membro" name="name"/> <name_list.columns label="Doações" name="donated"/> <name_list.columns label="Status" name="online"/> + <name_list.columns label="Título" name="title"/> </name_list> - <button label="Convidar" name="member_invite" /> + <button label="Convidar" name="member_invite"/> <button label="Ejetar" name="member_eject"/> </panel> <panel label="CARGOS" name="roles_sub_tab"> diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml index be15d40d74..9070563fd0 100755 --- a/indra/newview/skins/default/xui/pt/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/pt/panel_region_debug.xml @@ -7,11 +7,8 @@ desconhecido </text> <check_box label="Desativar scripts" name="disable_scripts_check" tool_tip="Desativar todos os scripts nesta região"/> - <button label="?" name="disable_scripts_help"/> <check_box label="Desativar colisões" name="disable_collisions_check" tool_tip="Desabilitar colisões de não-avatares nessa região"/> - <button label="?" name="disable_collisions_help"/> <check_box label="Desativar física" name="disable_physics_check" tool_tip="Desativar toda a físíca nesta região"/> - <button label="?" name="disable_physics_help"/> <button label="Aplicar" name="apply_btn"/> <text name="objret_text_lbl" width="130"> Devolver objeto @@ -31,10 +28,8 @@ <check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Devolver objetos em todas as regiões que constituem esta propriedade"/> <button label="Devolver" name="return_btn"/> <button label="Principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos com maior potencial de colisão" width="280"/> - <button label="?" left="297" name="top_colliders_help"/> - <button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/> - <button label="?" left="297" name="top_scripts_help"/> <button label="Reiniciar a região" name="restart_btn" tool_tip="Após 2 minutos de contagem regressiva, reiniciar a região"/> - <button label="?" name="restart_help"/> + <button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/> <button label="Cancelar reinício" name="cancel_restart_btn" tool_tip="Cancelar reinício da região"/> + <button label="Console de depuração de região" name="region_debug_console_btn" tool_tip="Abrir console de depuração de região"/> </panel> diff --git a/indra/newview/skins/default/xui/pt/panel_region_general.xml b/indra/newview/skins/default/xui/pt/panel_region_general.xml index 4be1cd11c0..a0d4579a04 100755 --- a/indra/newview/skins/default/xui/pt/panel_region_general.xml +++ b/indra/newview/skins/default/xui/pt/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Bloquear terraplenagem" name="block_terraform_check"/> <check_box label="Bloquear voos" name="block_fly_check"/> + <check_box label="Bloquear sobrevoo no terreno" name="block_fly_over_check" tool_tip="Estender verificações de acesso para cima para evitar que voem sobre um terreno"/> <check_box label="Permitir dano" name="allow_damage_check"/> <check_box label="Restringir empurrões" name="restrict_pushobject"/> <check_box label="Permitir revenda do terreno" name="allow_land_resell_check"/> <check_box label="Permitir junção/divisão do terreno" name="allow_parcel_changes_check"/> <check_box label="Bloquear exibição do terreno na busca" name="block_parcel_search_check" tool_tip="Permitir que as pessoas vejam esta região e seus lotes nos resultados de busca"/> - <check_box label="Permitir objetos mesh" name="mesh_rez_enabled_check" tool_tip="Permitir que que outras pessoas renderizem objectos mesh nessa região"/> <spinner label="Limite do agente" name="agent_limit_spin"/> <spinner label="Bônus de objetos" name="object_bonus_spin"/> <text label="Maturidade" name="access_text"> diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml index c44345323f..4747d14101 100755 --- a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml @@ -33,7 +33,7 @@ <layout_panel name="shop_btn_lp"> <button label="Comprar" name="shop_btn" tool_tip="Abrir página do Marketplace"/> <button label="Vestir" name="wear_btn" tool_tip="Vestir visual selecionado"/> - <button label="Tocar" name="play_btn"/> + <button label="Jogar" name="play_btn"/> <button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área selecionada"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 8436452228..a5a3f04f78 100755 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -28,6 +28,45 @@ <string name="StartupRequireDriverUpdate"> Falha na inicialização dos gráficos. Atualize seu driver gráfico! </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [Notas da versão]] + </string> + <string name="AboutCompiler"> + Construído com [COMPILER] versão [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Você está em [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] em [REGION] localizado em <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL: <nolink>[SLURL]</nolink> +(coordenadas globais [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU: [CPU] +Memória: [MEMORY_MB] MBs +Versão OS: [OS_VERSION] +Placa de vídeo: [GRAPHICS_CARD_VENDOR] +Placa gráfica: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Versão do driver de vídeo Windows: [GRAPHICS_CARD_VENDOR] + </string> + <string name="AboutLibs"> + Versão OpenGL: [OPENGL_VERSION] + +Versão libcurl: [LIBCURL_VERSION] +Versão J2C Decoder: [J2C_VERSION] +Versão do driver de áudio: [AUDIO_DRIVER_VERSION] +Versão Qt Webkit: [QT_WEBKIT_VERSION] +Versão do servidor de voz: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Erro ao obter URL de notas de versão do servidor. + </string> <string name="ProgressRestoring"> Restaurando... </string> @@ -886,12 +925,12 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para <string name="ControlYourCamera"> Controle sua camera </string> - <string name="AgentNameSubst"> - (Você) - </string> <string name="TeleportYourAgent"> Teletransportá-lo </string> + <string name="AgentNameSubst"> + (Você) + </string> <string name="JoinAnExperience"> Participar de uma experiência </string> @@ -1216,8 +1255,7 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para <string name="InventoryInboxNoItems"> Suas compras do Marketplace aparecerão aqui. Depois, você poderá arrastá-las para seu inventário para usá-las. </string> - <string name="Unconstrained">Sem limites</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1246,6 +1284,18 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para <string name="InventoryOutboxNoItems"> Arraste as pastas para estas áreas e então clique em "Enviar para Mercado" para listar os itens para venda no [[MARKETPLACE_DASHBOARD_URL] Mercado]. </string> + <string name="InventoryOutboxInitializingTitle"> + Inicializando o Marketplace. + </string> + <string name="InventoryOutboxInitializing"> + Estamos acessando sua conta na [loja [MARKETPLACE_CREATE_STORE_URL] do Marketplace]. + </string> + <string name="InventoryOutboxErrorTitle"> + Erros do Marketplace. + </string> + <string name="InventoryOutboxError"> + A loja [[MARKETPLACE_CREATE_STORE_URL] no Marketplace] está retornando erros. + </string> <string name="Marketplace Error None"> Sem erros </string> @@ -1273,6 +1323,9 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para <string name="Open landmarks"> Marcos abertos </string> + <string name="Unconstrained"> + Sem limites + </string> <string name="no_transfer" value="(não transferível)"/> <string name="no_modify" value="(não modificável)"/> <string name="no_copy" value="(não copiável)"/> @@ -1667,6 +1720,9 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para <string name="CompileQueueDownloadedCompiling"> Baixado, agora compilando </string> + <string name="CompileQueueServiceUnavailable"> + Serviço de compilação de scripts não disponível + </string> <string name="CompileQueueScriptNotFound"> Script não encontrado no servidor. </string> diff --git a/indra/newview/skins/default/xui/ru/floater_region_restarting.xml b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml new file mode 100644 index 0000000000..1b4c0e33dc --- /dev/null +++ b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="ПЕРЕЗАПУСК РЕГИОНА"> + <string name="RegionName"> + Регион, в котором вы находитесь ([NAME]), будет перезапущен. + +Если вы останетесь в этом регионе, вы выйдете из системы. + </string> + <string name="RestartSeconds"> + Секунд до перезапуска +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + Регион, в котором вы находитесь (-длинное название региона-), будет перезапущен. + +Если вы останетесь в этом регионе, вы выйдете из системы. + </text> + <text name="restart_seconds"> + Секунд до перезапуска + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml new file mode 100644 index 0000000000..a101e62627 --- /dev/null +++ b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="СТАТИСТИКА ЗАГРУЗКИ СЦЕН"> + <button label="Пауза" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Основной" name="basic"> + <stat_bar label="Разница в пикселах на кадр" name="frame difference"/> + <stat_bar label="Получены данные UDP" name="bandwidth"/> + <stat_bar label="Потери пакетов" name="packet_loss"/> + </stat_view> + <stat_view label="Расширенный" name="advanced"> + <stat_view label="Отрисовка" name="render"> + <stat_bar label="Всего объектов" name="objs"/> + <stat_bar label="Новых объектов" name="newobjs"/> + <stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/> + </stat_view> + <stat_view label="Текстура" name="texture"> + <stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/> + <stat_bar label="Задержка чтения кэша" name="texture_cache_read_latency"/> + <stat_bar label="Кол-во" name="numimagesstat"/> + <stat_bar label="Необраб. изображений" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Сеть" name="network"> + <stat_bar label="Входящие пакеты" name="packetsinstat"/> + <stat_bar label="Исходящие пакеты" name="packetsoutstat"/> + <stat_bar label="Объекты" name="objectdatareceived"/> + <stat_bar label="Текстура" name="texturedatareceived"/> + <stat_bar label="Актив" name="assetudpdatareceived"/> + <stat_bar label="Слои" name="layersdatareceived"/> + <stat_bar label="Действительный ввод" name="messagedatain"/> + <stat_bar label="Действительный вывод" name="messagedataout"/> + <stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Симулятор" name="sim"> + <stat_bar label="Объекты" name="simobjects"/> + <stat_bar label="Активные объекты" name="simactiveobjects"/> + <stat_bar label="Активные скрипты" name="simactivescripts"/> + <stat_bar label="Входящие пакеты" name="siminpps"/> + <stat_bar label="Исходящие пакеты" name="simoutpps"/> + <stat_bar label="Отложенные загрузки" name="simpendingdownloads"/> + <stat_bar label="Отложенные передачи" name="simpendinguploads"/> + <stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/> + <stat_view label="Время (мс)" name="simperf"> + <stat_bar label="Общее время кадра" name="simframemsec"/> + <stat_bar label="Чистое время" name="simnetmsec"/> + <stat_bar label="Время на физику" name="simsimphysicsmsec"/> + <stat_bar label="Время на симуляцию" name="simsimothermsec"/> + <stat_bar label="Время на клиент" name="simagentmsec"/> + <stat_bar label="Время на изображения" name="simimagesmsec"/> + <stat_bar label="Время на скрипт" name="simscriptmsec"/> + <stat_bar label="Резервное время" name="simsparemsec"/> + <stat_view label="Данные времени (мс)" name="timedetails"> + <stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/> + <stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/> + <stat_bar label="Время сна" name="simsleepmsec"/> + <stat_bar label="Время ввода/вывода" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_stats.xml b/indra/newview/skins/default/xui/ru/floater_stats.xml index 46426495dc..33a14adca9 100755 --- a/indra/newview/skins/default/xui/ru/floater_stats.xml +++ b/indra/newview/skins/default/xui/ru/floater_stats.xml @@ -4,7 +4,7 @@ <container_view name="statistics_view"> <stat_view label="Базовая" name="basic"> <stat_bar label="Кадров/с" name="fps"/> - <stat_bar label="Ширина канала" name="bandwidth"/> + <stat_bar label="Получены данные UDP" name="bandwidth"/> <stat_bar label="Потери пакетов" name="packet_loss"/> <stat_bar label="Пинг" name="ping"/> </stat_view> @@ -15,6 +15,9 @@ <stat_bar label="Всего объектов" name="objs"/> <stat_bar label="Новых объектов" name="newobjs"/> <stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/> + <stat_bar label="Выполненные запросы на смыкание" name="occlusion_queries"/> + <stat_bar label="Объекты сомкнуты" name="occluded"/> + <stat_bar label="Объект разомкнут" name="unoccluded"/> </stat_view> <stat_view label="Текстура" name="texture"> <stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Неформатированная память" name="rawmemstat"/> <stat_bar label="Ограничение памяти" name="glboundmemstat"/> </stat_view> + <stat_view label="Использование памяти" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="Интерфейс пользователя" name="LLView"/> + <stat_bar label="Шрифты" name="LLFontFreetype"/> + <stat_bar label="Инвентарь" name="LLInventoryObject"/> + <stat_bar label="Объекты клиента" name="LLViewerObject"/> + <stat_bar label="Данные группы октадеревьев" name="LLViewerOctreeGroup"/> + <stat_bar label="Данные октадерева" name="LLViewerOctreeEntry"/> + <stat_bar label="Кэш объектов клиента" name="LLVOCacheEntry"/> + <stat_bar label="Рисуемые предметы" name="LLDrawable"/> + <stat_bar label="Данные лица" name="LLFace"/> + <stat_bar label="Информация отрисовки" name="LLDrawInfo"/> + <stat_bar label="Данные текстуры" name="LLTexture"/> + <stat_bar label="Данные изображения" name="LLImage"/> + <stat_bar label="Данные изображения GL" name="LLImageGL"/> + <stat_bar label="Вершинные буферы" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Сеть" name="network"> <stat_bar label="Входящие пакеты" name="packetsinstat"/> <stat_bar label="Исходящие пакеты" name="packetsoutstat"/> - <stat_bar label="Объекты" name="objectkbitstat"/> - <stat_bar label="Текстура" name="texturekbitstat"/> - <stat_bar label="Актив" name="assetkbitstat"/> - <stat_bar label="Слои" name="layerskbitstat"/> - <stat_bar label="Действительный ввод" name="actualinkbitstat"/> - <stat_bar label="Действительный вывод" name="actualoutkbitstat"/> + <stat_bar label="Объекты" name="objectdatareceived"/> + <stat_bar label="Текстура" name="texturedatareceived"/> + <stat_bar label="Актив" name="assetudpdatareceived"/> + <stat_bar label="Слои" name="layersdatareceived"/> + <stat_bar label="Действительный ввод" name="messagedatain"/> + <stat_bar label="Действительный вывод" name="messagedataout"/> <stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="Исходящие пакеты" name="simoutpps"/> <stat_bar label="Отложенные загрузки" name="simpendingdownloads"/> <stat_bar label="Отложенные передачи" name="simpendinguploads"/> - <stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/> - <stat_view label="Время (мс)" name="simperf"> + <stat_bar label="Общий неподтвержденный объем" name="simtotalunackedbytes"/> + <stat_view label="Время" name="simperf"> <stat_bar label="Общее время кадра" name="simframemsec"/> <stat_bar label="Чистое время" name="simnetmsec"/> <stat_bar label="Время на физику" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="Время на изображения" name="simimagesmsec"/> <stat_bar label="Время на скрипт" name="simscriptmsec"/> <stat_bar label="Резервное время" name="simsparemsec"/> - <stat_view label="Данные времени (мс)" name="timedetails"> + <stat_view label="Данные времени" name="timedetails"> <stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/> <stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml index ac2b4be003..049001e8c3 100755 --- a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Открыть профиль" name="Show Profile"/> <menu_item_call label="Отправить сообщение..." name="Send IM"/> + <menu_item_call label="Запрос телепортации" name="Request Teleport"/> <menu_item_call label="Добавить в друзья..." name="Add Friend"/> <menu_item_call label="Удалить из друзей..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/ru/menu_inventory.xml b/indra/newview/skins/default/xui/ru/menu_inventory.xml index 37ee19fc1d..308549c254 100755 --- a/indra/newview/skins/default/xui/ru/menu_inventory.xml +++ b/indra/newview/skins/default/xui/ru/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Воспроизвести" name="Sound Play"/> <menu_item_call label="Копировать URL SL" name="url_copy"/> <menu_item_call label="О закладке" name="About Landmark"/> + <menu_item_call label="Показать на карте" name="show_on_map"/> <menu_item_call label="Проиграть для всех" name="Animation Play"/> <menu_item_call label="Проиграть для себя" name="Animation Audition"/> <menu_item_call label="Отправить IM-сообщение" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/ru/menu_login.xml b/indra/newview/skins/default/xui/ru/menu_login.xml index 835c4e186e..885f6195b6 100755 --- a/indra/newview/skins/default/xui/ru/menu_login.xml +++ b/indra/newview/skins/default/xui/ru/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="Выход из [APP_NAME]" name="Quit"/> </menu> <menu label="Справка" name="Help"> - <menu_item_call label="Справка [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Инструкции..." name="How To"/> + <menu_item_call label="Краткое руководство" name="Quickstart"/> + <menu_item_call label="База знаний" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Форумы сообщества" name="Community Forums"/> + <menu_item_call label="Портал поддержки" name="Support portal"/> + <menu_item_call label="Новости [SECOND_LIFE]" name="Second Life News"/> + <menu_item_call label="Блоги [SECOND_LIFE]" name="Second Life Blogs"/> + <menu_item_call label="Сообщить об ошибке" name="Report Bug"/> <menu_item_call label="О [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Показать меню отладки" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml index 6a22fd00dc..f495d27bf3 100755 --- a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Телепорт" name="Teleport"/> <menu_item_call label="Информация" name="More Information"/> - <menu_item_call label="Копировать в буфер обмена" name="CopyToClipboard"/> + <menu_item_call label="Копировать URL SL" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml index fcb7c4e531..38c31b27b6 100755 --- a/indra/newview/skins/default/xui/ru/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml @@ -70,11 +70,11 @@ <menu_item_check label="Меню «Дополнительно»" name="Show Advanced Menu"/> </menu> <menu label="Солнце" name="Sun"> - <menu_item_call label="Восход" name="Sunrise"/> - <menu_item_call label="Полдень" name="Noon"/> - <menu_item_call label="Закат" name="Sunset"/> - <menu_item_call label="Полночь" name="Midnight"/> - <menu_item_call label="Использовать настройки региона" name="Use Region Settings"/> + <menu_item_check label="Восход" name="Sunrise"/> + <menu_item_check label="Полдень" name="Noon"/> + <menu_item_check label="Закат" name="Sunset"/> + <menu_item_check label="Полночь" name="Midnight"/> + <menu_item_check label="Использовать настройки региона" name="Use Region Settings"/> </menu> <menu label="Редактор среды" name="Environment Editor"> <menu_item_call label="Настройки среды..." name="Environment Settings"/> @@ -162,7 +162,6 @@ </menu> <menu label="Справка" name="Help"> <menu_item_call label="Инструкции..." name="How To"/> - <menu_item_call label="Справка по [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Жалоба" name="Report Abuse"/> <menu_item_call label="Сообщить об ошибке" name="Report Bug"/> <menu_item_call label="О [APP_NAME]" name="About Second Life"/> @@ -178,6 +177,7 @@ <menu label="Производительность" name="Performance Tools"> <menu_item_call label="Запаздывание" name="Lag Meter"/> <menu_item_check label="Статистика" name="Statistics Bar"/> + <menu_item_call label="Статистика загрузки сцен" name="Scene Load Statistics"/> <menu_item_check label="Показать вес отрисовки для аватаров" name="Avatar Rendering Cost"/> </menu> <menu label="Подсветка и видимость" name="Highlighting and Visibility"> @@ -240,6 +240,7 @@ <menu_item_check label="Оперативные таймеры" name="Fast Timers"/> <menu_item_check label="Память" name="Memory"/> <menu_item_check label="Статистика по сцене" name="Scene Statistics"/> + <menu_item_check label="Монитор загрузки сцен" name="Scene Loading Monitor"/> <menu_item_call label="Консоль отладки извлечения текстур" name="Texture Fetch Debug Console"/> <menu_item_call label="Данные о регионе на консоль отладки" name="Region Info to Debug Console"/> <menu_item_call label="Данны о группе на консоль отладки" name="Group Info to Debug Console"/> @@ -276,6 +277,7 @@ <menu_item_check label="Периодическое замедление кадров" name="Periodic Slow Frame"/> <menu_item_check label="Тест кадров" name="Frame Test"/> <menu_item_call label="Профиль кадра" name="Frame Profile"/> + <menu_item_call label="Тест" name="Benchmark"/> </menu> <menu label="Визуализировать метаданные" name="Render Metadata"> <menu_item_check label="Рамки" name="Bounding Boxes"/> @@ -294,6 +296,7 @@ <menu_item_check label="Очередь построителя" name="Build Queue"/> <menu_item_check label="Освещение" name="Lights"/> <menu_item_check label="Каркас столкновений" name="Collision Skeleton"/> + <menu_item_check label="Суставы" name="Joints"/> <menu_item_check label="Лучи" name="Raycast"/> <menu_item_check label="Направления ветра" name="Wind Vectors"/> <menu_item_check label="Сложность визуализации" name="rendercomplexity"/> @@ -326,6 +329,7 @@ <menu_item_check label="Визуализация присоединенных источников света" name="Render Attached Lights"/> <menu_item_check label="Визуализация присоединенных частиц" name="Render Attached Particles"/> <menu_item_check label="Парящие светящиеся объекты" name="Hover Glow Objects"/> + <menu_item_call label="Немедленно очистить кэш" name="Cache Clear"/> </menu> <menu label="Сеть" name="Network"> <menu_item_check label="Приостановить клиент" name="AgentPause"/> @@ -358,7 +362,6 @@ <menu_item_call label="Вывод средства фокусировки" name="Dump Focus Holder"/> <menu_item_call label="Печать информации о выбранных объектах" name="Print Selected Object Info"/> <menu_item_call label="Печать информации об агенте" name="Print Agent Info"/> - <menu_item_check label="Консоль отладки региона" name="Region Debug Console"/> <menu_item_check label="Отладка SelectMgr" name="Debug SelectMgr"/> <menu_item_check label="Отладка щелчков мышью" name="Debug Clicks"/> <menu_item_check label="Отладка обзора" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml index 1dc8202b00..336a97f35a 100755 --- a/indra/newview/skins/default/xui/ru/notifications.xml +++ b/indra/newview/skins/default/xui/ru/notifications.xml @@ -114,13 +114,13 @@ <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxImportFailed"> - Ошибка при передаче + Не удалось передать, ошибка: «[ERROR_CODE]» Папки не отправлены в торговый центр из-за ошибки системы или сети. Повторите попытку позже. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="OutboxInitFailed"> - Ошибка инициализации торгового центра + Не удалось инициализировать торговый центр, ошибка: «[ERROR_CODE]» Не удалось инициализировать торговый центр из-за ошибки системы или сети. Повторите попытку позже. <usetemplate name="okbutton" yestext="OK"/> @@ -1731,6 +1731,10 @@ http://secondlife.com/download. Вы действительно хотите телепортироваться в <nolink>[LOCATION]</nolink>? <usetemplate ignoretext="Подтверждать телепортацию на закладку" name="okcancelignore" notext="Отмена" yestext="Телепортация"/> </notification> + <notification name="TeleportViaSLAPP"> + Вы действительно хотите телепортироваться в <nolink>[LOCATION]</nolink>? + <usetemplate ignoretext="Подтверждать телепортацию через SLAPP" name="okcancelignore" notext="Отмена" yestext="Телепортация"/> + </notification> <notification name="TeleportToPick"> Телепортироваться в [PICK]? <usetemplate ignoretext="Подтверждать телепортацию на место в подборке" name="okcancelignore" notext="Отмена" yestext="Телепортация"/> @@ -1940,6 +1944,9 @@ http://secondlife.com/download. <notification name="ProblemAddingEstateManager"> Проблема при добавлении нового менеджера землевладения. Возможно, в одном или нескольких землевладениях список менеджеров уже заполнен. </notification> + <notification name="ProblemAddingEstateBanManager"> + Невозможно добавить землевладельца или менеджера в список запрета доступа. + </notification> <notification name="ProblemAddingEstateGeneric"> Проблема при добавлении в этот список землевладения. Возможно, в одном или нескольких землевладениях список уже заполнен. </notification> @@ -3029,7 +3036,7 @@ http://secondlife.com/download. Со следующими жителями: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3041,7 +3048,7 @@ http://secondlife.com/download. Со следующими жителями: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="Отмена" yestext="ОК"/> </notification> <notification name="ItemsShared"> @@ -3497,10 +3504,6 @@ http://secondlife.com/download. <notification name="EjectComingSoon"> Вам запрещено здесь присутствовать; у вас есть [EJECT_TIME] сек, чтобы покинуть это место. </notification> - <notification name="NoEnterServerFull"> - Вам нет доступа в этот регион: -серпер переполнен. - </notification> <notification name="SaveBackToInvDisabled"> Сохранение в инвентаре отключено. </notification> @@ -3689,6 +3692,9 @@ http://secondlife.com/download. <notification name="LinkFailedTooMuchPhysics"> Объект использует слишком много ресурсов физики -- динамическое поведение отключено. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + Объект «[OBJECT_NAME]» по адресу [SLURL] не может телепортировать менеджеров землевладений домой. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> Вы были телепортированы домой объектом «[OBJECT_NAME]» на участке «[PARCEL_NAME]» </notification> @@ -3879,13 +3885,18 @@ http://secondlife.com/download. Выбрано недостаточно арендуемых участков для вступления. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Нельзя разделить землю.\nВыбрано больше одного участка.\nВыберите меньшую территорию. + Невозможно разделить землю. +Выбрано несколько участков. +Попробуйте выбрать область поменьше. </notification> <notification name="CantDivideLandCantFindParcel"> - Нельзя разделить землю.\nНе удалось найти участок.\nСообщите об этой неполадке: Справка -> Сообщить об ошибке... + Невозможно разделить землю. +Не удается найти участок. +Сообщите об этом: Справка -> Сообщить об ошибке... </notification> <notification name="CantDivideLandWholeParcelSelected"> - Невозможно разделить землю. Выбран весь участок.\nПопробуйте выбрать территорию поменьше. + Невозможно разделить землю. Выбран весь участок. +Попробуйте выбрать область поменьше. </notification> <notification name="LandHasBeenDivided"> Земля разделена. @@ -4025,4 +4036,8 @@ http://secondlife.com/download. Невозможно переместить файлы. Восстановлен прежний путь. <usetemplate ignoretext="Невозможно переместить файлы. Восстановлен прежний путь." name="okignore" yestext="OK"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + Файл журнала чата занят предыдущей операцией. Повторите попытку через несколько минут или выберите чат с другим лицом. + <usetemplate name="okbutton" yestext="OK"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml index d8cf1b4756..16aaa71268 100755 --- a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Общие"/> - <accordion_tab name="group_roles_tab" title="Роли"/> + <accordion_tab name="group_roles_tab" title="Роли и участники"/> <accordion_tab name="group_notices_tab" title="Уведомления"/> <accordion_tab name="group_land_tab" title="Земля/активы"/> </accordion> diff --git a/indra/newview/skins/default/xui/ru/panel_group_roles.xml b/indra/newview/skins/default/xui/ru/panel_group_roles.xml index c57f21679f..b497cc5583 100755 --- a/indra/newview/skins/default/xui/ru/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/ru/panel_group_roles.xml @@ -21,6 +21,7 @@ <name_list.columns label="Участник" name="name"/> <name_list.columns label="Вклад" name="donated"/> <name_list.columns label="Статус" name="online"/> + <name_list.columns label="Роль" name="title"/> </name_list> <button label="Пригласить" name="member_invite"/> <button label="Выкинуть" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/ru/panel_region_debug.xml b/indra/newview/skins/default/xui/ru/panel_region_debug.xml index 4be1e781fa..d294a9e22e 100755 --- a/indra/newview/skins/default/xui/ru/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/ru/panel_region_debug.xml @@ -28,7 +28,8 @@ <check_box label="С каждого региона этого землевладения" name="return_estate_wide" tool_tip="Возвращаются объекты со всех регионов, образующих это землевладение"/> <button label="Возврат" name="return_btn"/> <button label="Самые активные участники столкновений..." name="top_colliders_btn" tool_tip="Список объектов, для которых столкновения наиболее вероятны"/> - <button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/> <button label="Перезагрузить регион" name="restart_btn" tool_tip="Отсчитать 2 минуты и перезагрузить регион"/> + <button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/> <button label="Отменить перезапуск" name="cancel_restart_btn" tool_tip="Отменить перезапуск региона"/> + <button label="Консоль отладки региона" name="region_debug_console_btn" tool_tip="Открыть консоль отладки региона"/> </panel> diff --git a/indra/newview/skins/default/xui/ru/panel_region_general.xml b/indra/newview/skins/default/xui/ru/panel_region_general.xml index 8559be6c9e..8b4a127d7e 100755 --- a/indra/newview/skins/default/xui/ru/panel_region_general.xml +++ b/indra/newview/skins/default/xui/ru/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Запретить терраформирование" name="block_terraform_check"/> <check_box label="Запретить полеты" name="block_fly_check"/> + <check_box label="Запретить пролет над участком" name="block_fly_over_check" tool_tip="Поднять проверку доступа вверх для предотвращения пролета над участком"/> <check_box label="Разрешить повреждения" name="allow_damage_check"/> <check_box label="Запретить толкание" name="restrict_pushobject"/> <check_box label="Разрешить перепродажу земли" name="allow_land_resell_check"/> <check_box label="Разрешить объединение/разделение земли" name="allow_parcel_changes_check"/> <check_box label="Не показывать землю в поиске" name="block_parcel_search_check" tool_tip="Отображать регион и его участки в результатах поиска"/> - <check_box label="Разрешить меши-объекты" name="mesh_rez_enabled_check" tool_tip="Разрешить жителям выкладывать меши в этом регионе"/> <spinner label="Лимит агентов" name="agent_limit_spin"/> <spinner label="Льгота для объекта" name="object_bonus_spin"/> <text label="Дозволенность" name="access_text"> diff --git a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml index 1741f63074..725b680050 100755 --- a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml @@ -28,13 +28,13 @@ <button label="Профиль" name="info_btn" tool_tip="Показать профиль объекта"/> </layout_panel> <layout_panel name="share_btn_lp"> - <button label="Поделиться" name="share_btn" tool_tip="Поделиться вещью из инвентаря"/> + <button label="Поделиться" name="share_btn" tool_tip="Поделиться объектом из инвентаря"/> </layout_panel> <layout_panel name="shop_btn_lp"> - <button label="Торговый центр" name="shop_btn" tool_tip="Открыть страницу торгового центра"/> + <button label="Купить" name="shop_btn" tool_tip="Открыть страницу торгового центра"/> <button label="Надеть" name="wear_btn" tool_tip="Надеть выбранный костюм"/> - <button label="Проиграть" name="play_btn"/> - <button label="Телепорт" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/> + <button label="Играть" name="play_btn"/> + <button label="Телепортация" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index 8faf834f8f..be5a8d95eb 100755 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -37,6 +37,45 @@ <string name="StartupRequireDriverUpdate"> Ошибка инициализации графики. Обновите графический драйвер! </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + Использован компилятор [COMPILER], версия [COMPILER_VERSION] + </string> + <string name="AboutPosition"> + Вы в точке [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] в регионе «[REGION]», расположенном на <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +SLURL: <nolink>[SLURL]</nolink> +(глобальные координаты [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + ЦП: [CPU] +Память: [MEMORY_MB] МБ +Версия ОС: [OS_VERSION] +Производитель графической платы: [GRAPHICS_CARD_VENDOR] +Графическая плата: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Версия графического драйвера Windows: [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + Версия OpenGL: [OPENGL_VERSION] + +Версия libcurl: [LIBCURL_VERSION] +Версия декодера J2C: [J2C_VERSION] +Версия драйвера звука: [AUDIO_DRIVER_VERSION] +Версия Qt Webkit: [QT_WEBKIT_VERSION] +Версия голосового сервера: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Потеряно пакетов: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Ошибка при получении URL-адреса заметок о выпуске сервера. + </string> <string name="ProgressRestoring"> Восстановление... </string> @@ -934,15 +973,15 @@ support@secondlife.com. <string name="ControlYourCamera"> Управлять камерой </string> + <string name="TeleportYourAgent"> + Телепортировать вас + </string> <string name="NotConnected"> Нет подключения </string> <string name="AgentNameSubst"> (Вы) </string> - <string name="TeleportYourAgent"> - Телепортировать вас - </string> <string name="JoinAnExperience"> Присоединитесь </string> @@ -1267,8 +1306,7 @@ support@secondlife.com. <string name="InventoryInboxNoItems"> Здесь будут показаны ваши покупки из торгового центра. Их можно будет перетащить в ваш инвентарь для использования. </string> - <string name="Unconstrained">Без ограничения</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1297,6 +1335,18 @@ support@secondlife.com. <string name="InventoryOutboxNoItems"> Перетащите папки в эту область и щелкните «Отправить в торговый центр», чтобы выставить их на продажу в [[MARKETPLACE_DASHBOARD_URL] Торговом центре]. </string> + <string name="InventoryOutboxInitializingTitle"> + Инициализация Торгового центра. + </string> + <string name="InventoryOutboxInitializing"> + Мы обращаемся к вашему аккаунту в [[MARKETPLACE_CREATE_STORE_URL] магазине]. + </string> + <string name="InventoryOutboxErrorTitle"> + Ошибки торгового центра. + </string> + <string name="InventoryOutboxError"> + [[MARKETPLACE_CREATE_STORE_URL] Магазин] возвращает ошибки. + </string> <string name="Marketplace Error None"> Ошибок нет </string> @@ -1324,6 +1374,9 @@ support@secondlife.com. <string name="Open landmarks"> Открыть закладки </string> + <string name="Unconstrained"> + Без ограничения + </string> <string name="no_transfer" value="(не передается)"/> <string name="no_modify" value="(не изменяется)"/> <string name="no_copy" value="(не копируется)"/> @@ -1724,6 +1777,9 @@ support@secondlife.com. <string name="CompileQueueDownloadedCompiling"> Загружено, компилируется </string> + <string name="CompileQueueServiceUnavailable"> + Служба компилирования скриптов недоступна + </string> <string name="CompileQueueScriptNotFound"> Скрипт не найден на сервере. </string> diff --git a/indra/newview/skins/default/xui/tr/floater_region_restarting.xml b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml new file mode 100644 index 0000000000..1f9ead8bdd --- /dev/null +++ b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="BÖLGEYİ YENİDEN BAŞLAT"> + <string name="RegionName"> + Şu anda içinde bulunduğunuz bölge ([NAME]) yeniden başlatılmak üzere. + +Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak. + </string> + <string name="RestartSeconds"> + Yeniden başlatma için kalan süre +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + Şu anda içinde bulunduğunuz bölge (-Bölgenin uzun adı-) yeniden başlatılmak üzere. + +Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak. + </text> + <text name="restart_seconds"> + Yeniden başlatma için kalan süre + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml new file mode 100644 index 0000000000..ae0a94595d --- /dev/null +++ b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="SAHNE YÜKLEME İSTATİSTİKLERİ"> + <button label="Duraklat" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="Temel" name="basic"> + <stat_bar label="Çerçeve Piksel Farkı" name="frame difference"/> + <stat_bar label="UDP Verileri Alındı" name="bandwidth"/> + <stat_bar label="Paket Kaybı" name="packet_loss"/> + </stat_view> + <stat_view label="Gelişmiş" name="advanced"> + <stat_view label="İşle" name="render"> + <stat_bar label="Toplam Nesne" name="objs"/> + <stat_bar label="Yeni Nesne" name="newobjs"/> + <stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/> + </stat_view> + <stat_view label="Doku" name="texture"> + <stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/> + <stat_bar label="Önbellek Okuma Gecikme Süresi" name="texture_cache_read_latency"/> + <stat_bar label="Sayım" name="numimagesstat"/> + <stat_bar label="Ham Sayım" name="numrawimagesstat"/> + </stat_view> + <stat_view label="Ağ" name="network"> + <stat_bar label="Gelen Paketler" name="packetsinstat"/> + <stat_bar label="Giden Paketler" name="packetsoutstat"/> + <stat_bar label="Nesneler" name="objectdatareceived"/> + <stat_bar label="Doku" name="texturedatareceived"/> + <stat_bar label="Varlık" name="assetudpdatareceived"/> + <stat_bar label="Katmanlar" name="layersdatareceived"/> + <stat_bar label="Gerçekte Gelen" name="messagedatain"/> + <stat_bar label="Gerçekte Giden" name="messagedataout"/> + <stat_bar label="VFS Bekleyen İşlemler" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="Simülatör" name="sim"> + <stat_bar label="Nesneler" name="simobjects"/> + <stat_bar label="Etkin Nesneler" name="simactiveobjects"/> + <stat_bar label="Etkin Komut Dosyaları" name="simactivescripts"/> + <stat_bar label="Gelen Paketler" name="siminpps"/> + <stat_bar label="Giden Paketler" name="simoutpps"/> + <stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/> + <stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/> + <stat_bar label="Toplam Bildirilmiş Bayt" name="simtotalunackedbytes"/> + <stat_view label="Zaman (ms)" name="simperf"> + <stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/> + <stat_bar label="Net Süre" name="simnetmsec"/> + <stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/> + <stat_bar label="Simülasyon Süresi" name="simsimothermsec"/> + <stat_bar label="Aracı Süresi" name="simagentmsec"/> + <stat_bar label="Görüntü Süresi" name="simimagesmsec"/> + <stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/> + <stat_bar label="Yedek Zaman" name="simsparemsec"/> + <stat_view label="Zaman Ayrıntıları (ms)" name="timedetails"> + <stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/> + <stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="Fizik Diğer" name="simsimphysicsothermsec"/> + <stat_bar label="Uyku Zamanı" name="simsleepmsec"/> + <stat_bar label="Pompa Giriş Çıkış" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_stats.xml b/indra/newview/skins/default/xui/tr/floater_stats.xml index afce87bdaa..2c0c33737f 100755 --- a/indra/newview/skins/default/xui/tr/floater_stats.xml +++ b/indra/newview/skins/default/xui/tr/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="Temel" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bant genişliği" name="bandwidth"/> + <stat_bar label="UDP Verileri Alındı" name="bandwidth"/> <stat_bar label="Paket Kaybı" name="packet_loss"/> <stat_bar label="Sim Pingi" name="ping"/> </stat_view> <stat_view label="Gelişmiş" name="advanced"> <stat_view label="İşle" name="render"> - <stat_bar label="Çerçeve Başına Çizilen Üçgenler" name="ktrisframe"/> - <stat_bar label="Saniyede Bir Çizilen Üçgenler" name="ktrissec"/> + <stat_bar label="Çerçeve Başına Üçgenler" name="ktrisframe"/> + <stat_bar label="Saniye Başına Üçgenler" name="ktrissec"/> <stat_bar label="Toplam Nesne" name="objs"/> <stat_bar label="Yeni Nesne" name="newobjs"/> <stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/> + <stat_bar label="Gerçekleştirilen Gölgeleme Sorguları" name="occlusion_queries"/> + <stat_bar label="Gölgelenen Nesneler" name="occluded"/> + <stat_bar label="Gölgelenmeye Nesneler" name="unoccluded"/> </stat_view> <stat_view label="Doku" name="texture"> <stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="Ham Bellek" name="rawmemstat"/> <stat_bar label="Bağlı Doku Belleği" name="glboundmemstat"/> </stat_view> + <stat_view label="Bellek Kullanımı" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="KA" name="LLView"/> + <stat_bar label="Fontlar" name="LLFontFreetype"/> + <stat_bar label="Envanter" name="LLInventoryObject"/> + <stat_bar label="Görüntüleyici Nesneleri" name="LLViewerObject"/> + <stat_bar label="Gölgeleme Ağacı Grup Verileri" name="LLViewerOctreeGroup"/> + <stat_bar label="Gölgeleme Ağacı Verileri" name="LLViewerOctreeEntry"/> + <stat_bar label="Görüntüleyici Nesne Önbelleği" name="LLVOCacheEntry"/> + <stat_bar label="Çizilebilir nesneler" name="LLDrawable"/> + <stat_bar label="Yüz Verileri" name="LLFace"/> + <stat_bar label="Çizim Bilgileri" name="LLDrawInfo"/> + <stat_bar label="Doku Verileri" name="LLTexture"/> + <stat_bar label="Görüntü Verileri" name="LLImage"/> + <stat_bar label="GL Görüntü Verileri" name="LLImageGL"/> + <stat_bar label="Vertex Tamponları" name="LLVertexBuffer"/> + </stat_view> <stat_view label="Ağ" name="network"> <stat_bar label="Gelen Paketler" name="packetsinstat"/> <stat_bar label="Giden Paketler" name="packetsoutstat"/> - <stat_bar label="Nesneler" name="objectkbitstat"/> - <stat_bar label="Doku" name="texturekbitstat"/> - <stat_bar label="Varlık" name="assetkbitstat"/> - <stat_bar label="Katmanlar" name="layerskbitstat"/> - <stat_bar label="Gerçekte Gelen" name="actualinkbitstat"/> - <stat_bar label="Gerçekte Giden" name="actualoutkbitstat"/> + <stat_bar label="Nesneler" name="objectdatareceived"/> + <stat_bar label="Doku" name="texturedatareceived"/> + <stat_bar label="Varlık" name="assetudpdatareceived"/> + <stat_bar label="Katmanlar" name="layersdatareceived"/> + <stat_bar label="Gerçekte Gelen" name="messagedatain"/> + <stat_bar label="Gerçekte Giden" name="messagedataout"/> <stat_bar label="VFS Bekleyen İşlemler" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="Giden Paketler" name="simoutpps"/> <stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/> <stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/> - <stat_bar label="Toplam Bildirilmiş Bayt" name="simtotalunackedbytes"/> - <stat_view label="Zaman (ms)" name="simperf"> + <stat_bar label="Toplam Bildirilmiş Veriler" name="simtotalunackedbytes"/> + <stat_view label="Süre" name="simperf"> <stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/> <stat_bar label="Net Süre" name="simnetmsec"/> <stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="Görüntü Süresi" name="simimagesmsec"/> <stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/> <stat_bar label="Yedek Zaman" name="simsparemsec"/> - <stat_view label="Zaman Ayrıntıları (ms)" name="timedetails"> + <stat_view label="Zaman Ayrıntıları" name="timedetails"> <stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/> <stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="Fizik Diğer" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml index d3ef490735..dc3724cfc8 100755 --- a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="Profili Göster" name="Show Profile"/> <menu_item_call label="Aİ Gönder..." name="Send IM"/> + <menu_item_call label="Işınlanma Talep Et" name="Request Teleport"/> <menu_item_call label="Arkadaş Ekle..." name="Add Friend"/> <menu_item_call label="Arkadaşı Çıkar..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/tr/menu_inventory.xml b/indra/newview/skins/default/xui/tr/menu_inventory.xml index 51049427af..7239c4be06 100755 --- a/indra/newview/skins/default/xui/tr/menu_inventory.xml +++ b/indra/newview/skins/default/xui/tr/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="Oyna" name="Sound Play"/> <menu_item_call label="SLurl'i Kopyala" name="url_copy"/> <menu_item_call label="Yer İmi Hakkında" name="About Landmark"/> + <menu_item_call label="Haritada Göster" name="show_on_map"/> <menu_item_call label="SL Dünyasında Oynat" name="Animation Play"/> <menu_item_call label="Yerel Olarak Oynat" name="Animation Audition"/> <menu_item_call label="Anlık İleti Gönder" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/tr/menu_login.xml b/indra/newview/skins/default/xui/tr/menu_login.xml index 79c95407e8..ecd29370a5 100755 --- a/indra/newview/skins/default/xui/tr/menu_login.xml +++ b/indra/newview/skins/default/xui/tr/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="[APP_NAME]'den Çık" name="Quit"/> </menu> <menu label="Yardım" name="Help"> - <menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/> + <menu_item_call label="Nasıl yapılır..." name="How To"/> + <menu_item_call label="Hızlı Başlangıç" name="Quickstart"/> + <menu_item_call label="Bilgi Bankası" name="Knowledge Base"/> + <menu_item_call label="Wiki" name="Wiki"/> + <menu_item_call label="Topluluk Forumları" name="Community Forums"/> + <menu_item_call label="Destek porteli" name="Support portal"/> + <menu_item_call label="[SECOND_LIFE] Haberler" name="Second Life News"/> + <menu_item_call label="[SECOND_LIFE] Bloklar" name="Second Life Blogs"/> + <menu_item_call label="Hata Bildir" name="Report Bug"/> <menu_item_call label="[APP_NAME] Hakkında" name="About Second Life"/> </menu> <menu_item_check label="Hata Ayıklama Menüsünü Göster" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml index 93984162e7..d7ff807c3d 100755 --- a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="Işınla" name="Teleport"/> <menu_item_call label="Ek Bilgi" name="More Information"/> - <menu_item_call label="Panoya Kopyala" name="CopyToClipboard"/> + <menu_item_call label="SLurl'i Kopyala" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml index 4236f91636..eabea0cc67 100755 --- a/indra/newview/skins/default/xui/tr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml @@ -70,11 +70,11 @@ <menu_item_check label="Gelişmiş Menü" name="Show Advanced Menu"/> </menu> <menu label="Güneş" name="Sun"> - <menu_item_call label="Gün Doğumu" name="Sunrise"/> - <menu_item_call label="Gün Ortası" name="Noon"/> - <menu_item_call label="Gün Batımı" name="Sunset"/> - <menu_item_call label="Gece Yarısı" name="Midnight"/> - <menu_item_call label="Bölge Ayarlarını Kullan" name="Use Region Settings"/> + <menu_item_check label="Gün Doğumu" name="Sunrise"/> + <menu_item_check label="Gün Ortası" name="Noon"/> + <menu_item_check label="Gün Batımı" name="Sunset"/> + <menu_item_check label="Gece Yarısı" name="Midnight"/> + <menu_item_check label="Bölge Ayarlarını Kullan" name="Use Region Settings"/> </menu> <menu label="Ortam Düzenleyici" name="Environment Editor"> <menu_item_call label="Ortam Ayarları..." name="Environment Settings"/> @@ -163,8 +163,6 @@ </menu> <menu label="Yardım" name="Help"> <menu_item_call label="Nasıl yapılır..." name="How To"/> - <menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/> - <menu_item_call label="Kullanıcı kılavuzu" name="User’s guide"/> <menu_item_call label="Bilgi Bankası" name="Knowledge Base"/> <menu_item_call label="Wiki" name="Wiki"/> <menu_item_call label="Topluluk Forumları" name="Community Forums"/> @@ -186,6 +184,7 @@ <menu label="Performans Araçları" name="Performance Tools"> <menu_item_call label="Gecikme Ölçer" name="Lag Meter"/> <menu_item_check label="İstatistik Çubuğu" name="Statistics Bar"/> + <menu_item_call label="Sahne Yükleme İstatistikleri" name="Scene Load Statistics"/> <menu_item_check label="Avatarlar İçin Çizim Ağırlığını Göster" name="Avatar Rendering Cost"/> </menu> <menu label="Vurgulama ve Görünürlük" name="Highlighting and Visibility"> @@ -248,6 +247,7 @@ <menu_item_check label="Hızlı Zamanlayıcılar" name="Fast Timers"/> <menu_item_check label="Bellek" name="Memory"/> <menu_item_check label="Sahne İstatistikleri" name="Scene Statistics"/> + <menu_item_check label="Sahne Yükleme Ekranı" name="Scene Loading Monitor"/> <menu_item_call label="Doku Alınması Hata Ayıklama Konsolu" name="Texture Fetch Debug Console"/> <menu_item_call label="Hata Ayıklama Konsoluna giden Bölge Bilgisi" name="Region Info to Debug Console"/> <menu_item_call label="Hata Ayıklama Konsoluna giden Grup Bilgisi" name="Group Info to Debug Console"/> @@ -284,6 +284,7 @@ <menu_item_check label="Düzenli Yavaş Çerçeve" name="Periodic Slow Frame"/> <menu_item_check label="Çerçeve Testi" name="Frame Test"/> <menu_item_call label="Çerçeve Profili..." name="Frame Profile"/> + <menu_item_call label="Değerlendirme" name="Benchmark"/> </menu> <menu label="Meta Verileri İşle" name="Render Metadata"> <menu_item_check label="Sınırlama Kutuları" name="Bounding Boxes"/> @@ -302,6 +303,7 @@ <menu_item_check label="İnşa Kuyruğu" name="Build Queue"/> <menu_item_check label="Işıklar" name="Lights"/> <menu_item_check label="Çarpışma İskeleti" name="Collision Skeleton"/> + <menu_item_check label="Eklemler" name="Joints"/> <menu_item_check label="Işın Yayını" name="Raycast"/> <menu_item_check label="Rüzgar Vektörleri" name="Wind Vectors"/> <menu_item_check label="İşleme Karmaşıklığı" name="rendercomplexity"/> @@ -334,6 +336,7 @@ <menu_item_check label="Eklenmiş Işıkları İşle" name="Render Attached Lights"/> <menu_item_check label="Eklenmiş Parçacıkları İşle" name="Render Attached Particles"/> <menu_item_check label="Parıldayan Nesneler Üzerine Gel" name="Hover Glow Objects"/> + <menu_item_call label="Önbelleği Hemen Temizle" name="Cache Clear"/> </menu> <menu label="Ağ" name="Network"> <menu_item_check label="Aracıyı Durdur" name="AgentPause"/> @@ -366,7 +369,6 @@ <menu_item_call label="Odaklayıcı Tutucunun Dökümünü Al" name="Dump Focus Holder"/> <menu_item_call label="Seçilen Nesne Bilgisini Yazdır" name="Print Selected Object Info"/> <menu_item_call label="Aracı Bilgisini Yazdır" name="Print Agent Info"/> - <menu_item_check label="Bölge Hata Ayıklama Konsolu" name="Region Debug Console"/> <menu_item_check label="SelectMgr İçin Hata Ayıklama" name="Debug SelectMgr"/> <menu_item_check label="Tıklamalar İçin Hata Ayıklama" name="Debug Clicks"/> <menu_item_check label="Görünümler için Hata Ayıklama" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml index 492178ab82..a58abca3ac 100755 --- a/indra/newview/skins/default/xui/tr/notifications.xml +++ b/indra/newview/skins/default/xui/tr/notifications.xml @@ -114,13 +114,13 @@ Daha fazla bilgi için bkz. [[MARKETPLACE_IMPORTS_URL] hata günlüğü]. <usetemplate name="okbutton" yestext="Tamam"/> </notification> <notification name="OutboxImportFailed"> - Aktarım başarılamadı + Aktarım '[ERROR_CODE]' hatası nedeniyle başarısız oldu Bir sistem veya ağ hatası nedeniyle Pazaryerine hiçbir klasör gönderilemedi. Daha sonra tekrar deneyin. <usetemplate name="okbutton" yestext="Tamam"/> </notification> <notification name="OutboxInitFailed"> - Pazaryeri başlatılamadı. + Pazaryeri başlatılması '[ERROR_CODE]' hatası nedeniyle başarısız oldu Bir sistem veya ağ hatası nedeniyle Pazaryeri başlatılamadı. Daha sonra tekrar deneyin. <usetemplate name="okbutton" yestext="Tamam"/> @@ -1731,6 +1731,10 @@ Lütfen daha sonra tekrar deneyin. <nolink>[LOCATION]</nolink> konumuna ışınlanmak istediğinize emin misiniz? <usetemplate ignoretext="Bir yer imine ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/> </notification> + <notification name="TeleportViaSLAPP"> + <nolink>[LOCATION]</nolink> konumuna ışınlanmak istediğinize emin misiniz? + <usetemplate ignoretext="SLAPP ile ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal" yestext="Işınla"/> + </notification> <notification name="TeleportToPick"> [PICK] konumuna ışınlanılsın mı? <usetemplate ignoretext="Seçme sekmesindeki bir konuma ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/> @@ -1940,6 +1944,9 @@ Binlerce bölgeyi değiştirecek ve alan sunucusunu kesintiye uğratacaktır. <notification name="ProblemAddingEstateManager"> Yeni bir gayrimenkul yöneticisi eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün yönetici listesi dolu olabilir. </notification> + <notification name="ProblemAddingEstateBanManager"> + Gayri menkul sahibi ya da yöneticisi yasaklı listesine eklenemedi. + </notification> <notification name="ProblemAddingEstateGeneric"> Bu gayrimenkul listesine eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün listesi dolu olabilir. </notification> @@ -3027,9 +3034,9 @@ Ayrıntılar için günlük dosyasına bakın. <nolink>[ITEMS]</nolink> -Paylaşmanın yapılacağı Sakinler: +Paylaşmanın yapılacağı Second Life Sakinleri: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3041,7 +3048,7 @@ Aşağıdaki öğeleri paylaşmak istediğinize emin misiniz? Paylaşmanın yapılacağı Second Life Sakinleri: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/> </notification> <notification name="ItemsShared"> @@ -3496,10 +3503,6 @@ Lütfen bir dakika sonra tekrar deneyin. <notification name="EjectComingSoon"> Daha fazla burada olma izniniz yok ve ayrılmak için [EJECT_TIME] saniyeniz var. </notification> - <notification name="NoEnterServerFull"> - Bu bölgeye giremezsiniz çünkü -sunucu dolu. - </notification> <notification name="SaveBackToInvDisabled"> Envantere Geri Kaydet devre dışı bırakıldı. </notification> @@ -3683,6 +3686,9 @@ sunucu dolu. <notification name="LinkFailedTooMuchPhysics"> Nesne çok fazla fizik kaynağı kullanıyor -- dinamikleri devre dışı bırakıldı. </notification> + <notification name="EstateManagerFailedllTeleportHome"> + [SLURL] adresindeki '[OBJECT_NAME]' nesnesi gayri menkul yöneticilerini ana konuma ışınlayamıyor. + </notification> <notification name="TeleportedHomeByObjectOnParcel"> '[PARCEL_NAME]' parseli üzerindeki '[OBJECT_NAME]' nesnesi tarafından ana konuma ışınlandınız </notification> @@ -3873,13 +3879,18 @@ sunucu dolu. Seçimde birleştirilecek yeterli sayıda lease edilmiş parsel yok. </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - Arazi bölünemedi.\nBirden fazla parsel seçili durumda.\nDaha küçük bir arazi parçası seçmeyi deneyin. + Arazi bölünemiyor. +Birden fazla parsel seçili. +Daha küçük bir arazi parçası seçmeyi deneyin. </notification> <notification name="CantDivideLandCantFindParcel"> - Arazi bölünemiyor.\nParsel bulunamıyor.\nLütfen Yardım -> Hata Bildir ile bildirin... + Arazi bölünemiyor. +Parsel bulunamıyor. +Lütfen Yardım -> Hata Bildir... sekmesinden hatayı bildirin </notification> <notification name="CantDivideLandWholeParcelSelected"> - Arazi bölünemiyor. Tüm parsel seçilidir.\nDaha küçük bir arazi parçası seçmeyi deneyin. + Arazi bölünemiyor. Tüm parsel seçili. +Daha küçük bir arazi parçası seçmeyi deneyin. </notification> <notification name="LandHasBeenDivided"> Arazi bölündü. @@ -4019,4 +4030,8 @@ sunucu dolu. Dosyalar taşınamıyor. Önceki yol geri yüklendi. <usetemplate ignoretext="Dosyalar taşınamıyor. Önceki yol geri yüklendi." name="okignore" yestext="Tamam"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + Sohbet geçmişi dosyası önceki işlemi gerçekleştirmekle meşgul. Lütfen bir kaç dakika sonra tekrar deneyin veya başka bir kişiyle sohbet etmeyi deneyin. + <usetemplate name="okbutton" yestext="Tamam"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml index 32f39da490..e4697eaa21 100755 --- a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="Genel"/> - <accordion_tab name="group_roles_tab" title="Roller"/> + <accordion_tab name="group_roles_tab" title="Roller ve Üyeler"/> <accordion_tab name="group_notices_tab" title="Bildirimler"/> <accordion_tab name="group_land_tab" title="Arazi/Varlıklar"/> </accordion> diff --git a/indra/newview/skins/default/xui/tr/panel_group_roles.xml b/indra/newview/skins/default/xui/tr/panel_group_roles.xml index fb03107da8..ef8b093ddf 100755 --- a/indra/newview/skins/default/xui/tr/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/tr/panel_group_roles.xml @@ -20,6 +20,7 @@ Ctrl tuşuna basıp adlarına tıklayarak birden fazla Üye seçebilirsiniz. <name_list.columns label="Üye" name="name"/> <name_list.columns label="Bağış" name="donated"/> <name_list.columns label="Durum" name="online"/> + <name_list.columns label="Ünvan" name="title"/> </name_list> <button label="Davet Et" name="member_invite"/> <button label="Çıkar" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/tr/panel_region_debug.xml b/indra/newview/skins/default/xui/tr/panel_region_debug.xml index 834ece563f..74a0a1569e 100755 --- a/indra/newview/skins/default/xui/tr/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/tr/panel_region_debug.xml @@ -28,7 +28,8 @@ <check_box label="Bu gayrimenkulu oluşturan bölgelerin tümünde" name="return_estate_wide" tool_tip="Bu gayrimenkulu oluşturan bölgelerin tümündeki nesneler iade edilsin"/> <button label="İade Et" name="return_btn"/> <button label="En Çok Çarpışanlar..." name="top_colliders_btn" tool_tip="En çok potansiyel çarpışma yaşayan nesnelerin listesi"/> - <button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/> <button label="Bölgeyi Yeniden Başlat" name="restart_btn" tool_tip="2 dakikalık bir geri sayımdan sonra bölgeyi yeniden başlat"/> + <button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/> <button label="Yeniden Başlatmayı İptal Et" name="cancel_restart_btn" tool_tip="Bölge yeniden başlatmasını iptal et"/> + <button label="Bölge Hata Ayıklama Konsolu" name="region_debug_console_btn" tool_tip="Açık Bölge Hata Ayıklama Konsolu"/> </panel> diff --git a/indra/newview/skins/default/xui/tr/panel_region_general.xml b/indra/newview/skins/default/xui/tr/panel_region_general.xml index 37da0f2cca..e6abef883d 100755 --- a/indra/newview/skins/default/xui/tr/panel_region_general.xml +++ b/indra/newview/skins/default/xui/tr/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="Yer Şekillendirmeyi Engelle" name="block_terraform_check"/> <check_box label="Uçmayı Engelle" name="block_fly_check"/> + <check_box label="Parselin Üzerinde Uçmayı Engelle" name="block_fly_over_check" tool_tip="Bir parselin üzerinden uçulmasını engellemek için onay işaretlerini yukarı doğru genişletin"/> <check_box label="Hasara İzin Ver" name="allow_damage_check"/> <check_box label="İtmeyi Kısıtla" name="restrict_pushobject"/> <check_box label="Arazinin Tekrar Satışına İzin Ver" name="allow_land_resell_check"/> <check_box label="Arazinin Birleşmesine/Bölünmesine İzin Ver" name="allow_parcel_changes_check"/> <check_box label="Aramada Arazinin Gösterilmesini Engelle" name="block_parcel_search_check" tool_tip="Arama sonuçlarında bu bölge ve parselleri görünsün"/> - <check_box label="Örgü Nesnelere İzin Ver" name="mesh_rez_enabled_check" tool_tip="Bu bölgede insanların örgü nesneleri oluşturmasına izin verilsin"/> <spinner label="Aracı Limiti" name="agent_limit_spin"/> <spinner label="Nesne Bonusu" name="object_bonus_spin"/> <text label="Erişkinlik" name="access_text"> diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml index 31c5d2d310..f575b9e608 100755 --- a/indra/newview/skins/default/xui/tr/strings.xml +++ b/indra/newview/skins/default/xui/tr/strings.xml @@ -37,6 +37,45 @@ <string name="StartupRequireDriverUpdate"> Grafik başlatma başarılamadı. Lütfen grafik sürücünüzü güncelleştirin! </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [Sürüm Notları]] + </string> + <string name="AboutCompiler"> + [COMPILER] [COMPILER_VERSION] sürümü ile oluşturuldu + </string> + <string name="AboutPosition"> + <nolink>[HOSTNAME]</nolink> ([HOSTIP]) üzerinde bulunan [REGION] içerisinde [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] konumundasınız +SLURL: <nolink>[SLURL]</nolink> +(küresel koordinatlar [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU: [CPU] +Bellek: [MEMORY_MB] MB +İşl. Sis. Sürümü: [OS_VERSION] +Grafik Kartı Üreticisi: [GRAPHICS_CARD_VENDOR] +Grafik Kartı: [GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Windows Grafik Sürücüsü Sürümü: [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + OpenGL Sürümü: [OPENGL_VERSION] + +libcurl Sürümü: [LIBCURL_VERSION] +J2C Kod Çözücü Sürümü: [J2C_VERSION] +Ses Sürücüsü Sürümü: [AUDIO_DRIVER_VERSION] +Qt Web Kit Sürümü: [QT_WEBKIT_VERSION] +Ses Sunucusu Sürümü: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + Kaybolan Paketler: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + Sunucu sürümü notları URL'si alınırken hata oluştu. + </string> <string name="ProgressRestoring"> Geri yükleniyor... </string> @@ -934,15 +973,15 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin. <string name="ControlYourCamera"> Kameranızı kontrol etmek </string> + <string name="TeleportYourAgent"> + Sizi ışınlama + </string> <string name="NotConnected"> Bağlı Değil </string> <string name="AgentNameSubst"> (Siz) </string> - <string name="TeleportYourAgent"> - Sizi ışınlama - </string> <string name="JoinAnExperience"> Bir tecrübeye katıl </string> @@ -1267,8 +1306,7 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin. <string name="InventoryInboxNoItems"> Pazaryerinda satın aldıklarınız burada görünecektir. Bunları kullanmak için envanterinize sürükleyebilirsiniz. </string> - <string name="Unconstrained">Kısıtsız</string> - <string name="MarketplaceURL"> + <string name="MarketplaceURL"> https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ </string> <string name="MarketplaceURL_CreateStore"> @@ -1297,6 +1335,18 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin. <string name="InventoryOutboxNoItems"> Bu alana klasörleri sürükleyin ve bunları [[MARKETPLACE_DASHBOARD_URL] Pazaryerinde] satılık olarak duyurmak için "Pazaryerine Gönder" üzerine tıklayın. </string> + <string name="InventoryOutboxInitializingTitle"> + Pazaryeri Başlatılıyor. + </string> + <string name="InventoryOutboxInitializing"> + [[MARKETPLACE_CREATE_STORE_URL] Mağazası] üzerindeki hesabınıza erişiyoruz. + </string> + <string name="InventoryOutboxErrorTitle"> + Pazaryeri Hataları + </string> + <string name="InventoryOutboxError"> + [[MARKETPLACE_CREATE_STORE_URL] Mağazası] hata döndürüyor. + </string> <string name="Marketplace Error None"> Hata yok </string> @@ -1324,6 +1374,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin. <string name="Open landmarks"> Açık yer imleri </string> + <string name="Unconstrained"> + Kısıtsız + </string> <string name="no_transfer" value="(aktarım yok)"/> <string name="no_modify" value="(değiştirme yok)"/> <string name="no_copy" value="(kopya yok)"/> @@ -1724,6 +1777,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin. <string name="CompileQueueDownloadedCompiling"> Karşıdan yüklendi, şimdi derleniyor </string> + <string name="CompileQueueServiceUnavailable"> + Komut dosyası derleme hizmeti kullanılamıyor + </string> <string name="CompileQueueScriptNotFound"> Komut dosyası sunucuda bulunamadı. </string> diff --git a/indra/newview/skins/default/xui/zh/floater_region_restarting.xml b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml new file mode 100644 index 0000000000..afac7da203 --- /dev/null +++ b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="region_restarting" title="地區重新啟動中"> + <string name="RegionName"> + 你所在的地區([NAME])即將重新啟動。 + +如果你繼續留在這地區,你將會被登出。 + </string> + <string name="RestartSeconds"> + 重新啟動倒數秒數: +[SECONDS] + </string> + <panel name="layout_panel_1"> + <text name="region_name"> + 你所在的地區(-最長地區名-)即將重新啟動。 + +如果你繼續留在這地區,你將會被登出。 + </text> + <text name="restart_seconds"> + 重新啟動倒數秒數: + 32767 + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml new file mode 100644 index 0000000000..1a5c20abeb --- /dev/null +++ b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Scene Load Statistics" title="場景負載統計資料"> + <button label="暫停" name="playpause"/> + <scroll_container name="statistics_scroll"> + <container_view name="statistics_view"> + <stat_view label="基本" name="basic"> + <stat_bar label="幀像素差" name="frame difference"/> + <stat_bar label="已收到UDP資料" name="bandwidth"/> + <stat_bar label="封包損失" name="packet_loss"/> + </stat_view> + <stat_view label="進階" name="advanced"> + <stat_view label="呈像" name="render"> + <stat_bar label="物件總計" name="objs"/> + <stat_bar label="新物件" name="newobjs"/> + <stat_bar label="物件快取讀取率" name="object_cache_hits"/> + </stat_view> + <stat_view label="材質" name="texture"> + <stat_bar label="快取讀取率" name="texture_cache_hits"/> + <stat_bar label="快取讀取延遲" name="texture_cache_read_latency"/> + <stat_bar label="計數" name="numimagesstat"/> + <stat_bar label="原始計數" name="numrawimagesstat"/> + </stat_view> + <stat_view label="網路" name="network"> + <stat_bar label="進入封包" name="packetsinstat"/> + <stat_bar label="出去封包" name="packetsoutstat"/> + <stat_bar label="物件" name="objectdatareceived"/> + <stat_bar label="材質" name="texturedatareceived"/> + <stat_bar label="資產" name="assetudpdatareceived"/> + <stat_bar label="層次" name="layersdatareceived"/> + <stat_bar label="實入" name="messagedatain"/> + <stat_bar label="實出" name="messagedataout"/> + <stat_bar label="VFS 待行作業" name="vfspendingoperations"/> + </stat_view> + </stat_view> + <stat_view label="模擬器" name="sim"> + <stat_bar label="物件" name="simobjects"/> + <stat_bar label="使用中物件" name="simactiveobjects"/> + <stat_bar label="使用中腳本" name="simactivescripts"/> + <stat_bar label="進入封包" name="siminpps"/> + <stat_bar label="出去封包" name="simoutpps"/> + <stat_bar label="擱置下載" name="simpendingdownloads"/> + <stat_bar label="擱置上傳" name="simpendinguploads"/> + <stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/> + <stat_view label="時間(毫秒)" name="simperf"> + <stat_bar label="總幀時間" name="simframemsec"/> + <stat_bar label="淨時間" name="simnetmsec"/> + <stat_bar label="物理時間" name="simsimphysicsmsec"/> + <stat_bar label="模擬時間" name="simsimothermsec"/> + <stat_bar label="用戶時間" name="simagentmsec"/> + <stat_bar label="圖像時間" name="simimagesmsec"/> + <stat_bar label="腳本時間" name="simscriptmsec"/> + <stat_bar label="閒置時間" name="simsparemsec"/> + <stat_view label="時間細節(毫秒)" name="timedetails"> + <stat_bar label="物理步驟" name="simsimphysicsstepmsec"/> + <stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/> + <stat_bar label="物理(其他)" name="simsimphysicsothermsec"/> + <stat_bar label="睡眠時間" name="simsleepmsec"/> + <stat_bar label="基礎網路輸出入" name="simpumpiomsec"/> + </stat_view> + </stat_view> + </stat_view> + </container_view> + </scroll_container> +</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_stats.xml b/indra/newview/skins/default/xui/zh/floater_stats.xml index 4af5684ec1..282e61e73d 100755 --- a/indra/newview/skins/default/xui/zh/floater_stats.xml +++ b/indra/newview/skins/default/xui/zh/floater_stats.xml @@ -4,17 +4,20 @@ <container_view name="statistics_view"> <stat_view label="基本" name="basic"> <stat_bar label="每秒幀數" name="fps"/> - <stat_bar label="頻寬" name="bandwidth"/> + <stat_bar label="已收到UDP資料" name="bandwidth"/> <stat_bar label="封包損失" name="packet_loss"/> <stat_bar label="探詢模擬器有無反應" name="ping"/> </stat_view> <stat_view label="進階" name="advanced"> <stat_view label="呈像" name="render"> - <stat_bar label="繪出的 KTris(每幀)" name="ktrisframe"/> - <stat_bar label="繪出的 KTris(每秒)" name="ktrissec"/> + <stat_bar label="KTris(每幀)" name="ktrisframe"/> + <stat_bar label="KTris(每秒)" name="ktrissec"/> <stat_bar label="物件總計" name="objs"/> <stat_bar label="新物件" name="newobjs"/> <stat_bar label="物件快取讀取率" name="object_cache_hits"/> + <stat_bar label="已執行遮蔽查詢" name="occlusion_queries"/> + <stat_bar label="物件已遮蔽" name="occluded"/> + <stat_bar label="物件已解除遮蔽" name="unoccluded"/> </stat_view> <stat_view label="材質" name="texture"> <stat_bar label="快取讀取率" name="texture_cache_hits"/> @@ -26,15 +29,32 @@ <stat_bar label="原始記憶" name="rawmemstat"/> <stat_bar label="界限記憶" name="glboundmemstat"/> </stat_view> + <stat_view label="記憶體使用狀況" name="memory"> + <stat_bar label="LLTrace" name="LLTrace"/> + <stat_bar label="使用者界面" name="LLView"/> + <stat_bar label="字型" name="LLFontFreetype"/> + <stat_bar label="收納區" name="LLInventoryObject"/> + <stat_bar label="Viewer物件" name="LLViewerObject"/> + <stat_bar label="八叉樹群資料" name="LLViewerOctreeGroup"/> + <stat_bar label="八叉樹資料" name="LLViewerOctreeEntry"/> + <stat_bar label="Viewer物件快取" name="LLVOCacheEntry"/> + <stat_bar label="可繪物件" name="LLDrawable"/> + <stat_bar label="臉部資料" name="LLFace"/> + <stat_bar label="描繪資訊" name="LLDrawInfo"/> + <stat_bar label="材質資料" name="LLTexture"/> + <stat_bar label="圖像資料" name="LLImage"/> + <stat_bar label="GL圖像資料" name="LLImageGL"/> + <stat_bar label="頂點緩衝" name="LLVertexBuffer"/> + </stat_view> <stat_view label="網路" name="network"> <stat_bar label="進入封包" name="packetsinstat"/> <stat_bar label="出去封包" name="packetsoutstat"/> - <stat_bar label="物件" name="objectkbitstat"/> - <stat_bar label="材質" name="texturekbitstat"/> - <stat_bar label="資產" name="assetkbitstat"/> - <stat_bar label="層次" name="layerskbitstat"/> - <stat_bar label="實入" name="actualinkbitstat"/> - <stat_bar label="實出" name="actualoutkbitstat"/> + <stat_bar label="物件" name="objectdatareceived"/> + <stat_bar label="材質" name="texturedatareceived"/> + <stat_bar label="資產" name="assetudpdatareceived"/> + <stat_bar label="層次" name="layersdatareceived"/> + <stat_bar label="實入" name="messagedatain"/> + <stat_bar label="實出" name="messagedataout"/> <stat_bar label="VFS 待行作業" name="vfspendingoperations"/> </stat_view> </stat_view> @@ -64,8 +84,8 @@ <stat_bar label="出去封包" name="simoutpps"/> <stat_bar label="擱置下載" name="simpendingdownloads"/> <stat_bar label="擱置上傳" name="simpendinguploads"/> - <stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/> - <stat_view label="時間(毫秒)" name="simperf"> + <stat_bar label="未承認的總資料" name="simtotalunackedbytes"/> + <stat_view label="時間" name="simperf"> <stat_bar label="總禎時間" name="simframemsec"/> <stat_bar label="淨時間" name="simnetmsec"/> <stat_bar label="物理時間" name="simsimphysicsmsec"/> @@ -74,7 +94,7 @@ <stat_bar label="圖像時間" name="simimagesmsec"/> <stat_bar label="腳本時間" name="simscriptmsec"/> <stat_bar label="閒置時間" name="simsparemsec"/> - <stat_view label="時間細節(毫秒)" name="timedetails"> + <stat_view label="時間細節" name="timedetails"> <stat_bar label="物理步驟" name="simsimphysicsstepmsec"/> <stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/> <stat_bar label="物理(其他)" name="simsimphysicsothermsec"/> diff --git a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml index ef0986a13b..cefb395256 100755 --- a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml @@ -2,6 +2,7 @@ <menu name="Avatar Icon Menu"> <menu_item_call label="察看檔案" name="Show Profile"/> <menu_item_call label="送出 IM..." name="Send IM"/> + <menu_item_call label="要求瞬間傳送" name="Request Teleport"/> <menu_item_call label="加為朋友..." name="Add Friend"/> <menu_item_call label="移除朋友..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/zh/menu_inventory.xml b/indra/newview/skins/default/xui/zh/menu_inventory.xml index 7f745ffaa7..478f987035 100755 --- a/indra/newview/skins/default/xui/zh/menu_inventory.xml +++ b/indra/newview/skins/default/xui/zh/menu_inventory.xml @@ -70,6 +70,7 @@ <menu_item_call label="播放" name="Sound Play"/> <menu_item_call label="覆製 SLurl" name="url_copy"/> <menu_item_call label="添加地標" name="About Landmark"/> + <menu_item_call label="顯示在地圖上" name="show_on_map"/> <menu_item_call label="在虛擬世界播放" name="Animation Play"/> <menu_item_call label="在本地播放" name="Animation Audition"/> <menu_item_call label="送出即時訊息" name="Send Instant Message"/> diff --git a/indra/newview/skins/default/xui/zh/menu_login.xml b/indra/newview/skins/default/xui/zh/menu_login.xml index 1d3d771efb..4a1e2f4364 100755 --- a/indra/newview/skins/default/xui/zh/menu_login.xml +++ b/indra/newview/skins/default/xui/zh/menu_login.xml @@ -5,7 +5,15 @@ <menu_item_call label="退出 [APP_NAME]" name="Quit"/> </menu> <menu label="幫助" name="Help"> - <menu_item_call label="[SECOND_LIFE] 幫助" name="Second Life Help"/> + <menu_item_call label="簡易教學…" name="How To"/> + <menu_item_call label="快速上手" name="Quickstart"/> + <menu_item_call label="知識庫" name="Knowledge Base"/> + <menu_item_call label="維基" name="Wiki"/> + <menu_item_call label="社群論壇" name="Community Forums"/> + <menu_item_call label="支援入口" name="Support portal"/> + <menu_item_call label="[SECOND_LIFE] 最新消息" name="Second Life News"/> + <menu_item_call label="[SECOND_LIFE] 部落格" name="Second Life Blogs"/> + <menu_item_call label="回報錯誤" name="Report Bug"/> <menu_item_call label="關於 [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="顯示除錯選單" name="Show Debug Menu"/> diff --git a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml index c636e108ad..bf60983896 100755 --- a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml @@ -2,5 +2,5 @@ <context_menu name="Teleport History Item Context Menu"> <menu_item_call label="瞬間傳送" name="Teleport"/> <menu_item_call label="更多資訊" name="More Information"/> - <menu_item_call label="覆製到剪貼簿" name="CopyToClipboard"/> + <menu_item_call label="覆製 SLurl" name="CopyToClipboard"/> </context_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml index b267bda2bb..eb602d8e3b 100755 --- a/indra/newview/skins/default/xui/zh/menu_viewer.xml +++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml @@ -70,11 +70,11 @@ <menu_item_check label="進階選單" name="Show Advanced Menu"/> </menu> <menu label="太陽" name="Sun"> - <menu_item_call label="日出" name="Sunrise"/> - <menu_item_call label="中午" name="Noon"/> - <menu_item_call label="日落" name="Sunset"/> - <menu_item_call label="午夜" name="Midnight"/> - <menu_item_call label="使用地區設定" name="Use Region Settings"/> + <menu_item_check label="日出" name="Sunrise"/> + <menu_item_check label="中午" name="Noon"/> + <menu_item_check label="日落" name="Sunset"/> + <menu_item_check label="午夜" name="Midnight"/> + <menu_item_check label="使用地區設定" name="Use Region Settings"/> </menu> <menu label="環境編輯器" name="Environment Editor"> <menu_item_call label="環境設定…" name="Environment Settings"/> @@ -163,8 +163,6 @@ </menu> <menu label="幫助" name="Help"> <menu_item_call label="簡易教學…" name="How To"/> - <menu_item_call label="[SECOND_LIFE] 幫助" name="Second Life Help"/> - <menu_item_call label="使用者指南" name="User’s guide"/> <menu_item_call label="知識庫" name="Knowledge Base"/> <menu_item_call label="維基" name="Wiki"/> <menu_item_call label="社群論壇" name="Community Forums"/> @@ -186,6 +184,7 @@ <menu label="效能工具" name="Performance Tools"> <menu_item_call label="Lag 測量器" name="Lag Meter"/> <menu_item_check label="統計列" name="Statistics Bar"/> + <menu_item_call label="場景負載統計資料" name="Scene Load Statistics"/> <menu_item_check label="顯示化身的繪製重量" name="Avatar Rendering Cost"/> </menu> <menu label="高亮顯示與可見度" name="Highlighting and Visibility"> @@ -248,6 +247,7 @@ <menu_item_check label="快速碼錶" name="Fast Timers"/> <menu_item_check label="記憶體" name="Memory"/> <menu_item_check label="場景統計資料" name="Scene Statistics"/> + <menu_item_check label="場景載入監控器" name="Scene Loading Monitor"/> <menu_item_call label="材質擷取除錯控制台" name="Texture Fetch Debug Console"/> <menu_item_call label="地區資訊傳至除錯控制台" name="Region Info to Debug Console"/> <menu_item_call label="群組資訊至除錯控制台" name="Group Info to Debug Console"/> @@ -284,6 +284,7 @@ <menu_item_check label="定期出現慢幀率" name="Periodic Slow Frame"/> <menu_item_check label="畫面測試" name="Frame Test"/> <menu_item_call label="幀特性" name="Frame Profile"/> + <menu_item_call label="標竿測試" name="Benchmark"/> </menu> <menu label="呈像的元資料" name="Render Metadata"> <menu_item_check label="外框箱" name="Bounding Boxes"/> @@ -302,6 +303,7 @@ <menu_item_check label="建製佇列" name="Build Queue"/> <menu_item_check label="燈光" name="Lights"/> <menu_item_check label="碰撞骨架" name="Collision Skeleton"/> + <menu_item_check label="接點" name="Joints"/> <menu_item_check label="光線投射" name="Raycast"/> <menu_item_check label="風力向量" name="Wind Vectors"/> <menu_item_check label="繪出複雜度" name="rendercomplexity"/> @@ -334,6 +336,7 @@ <menu_item_check label="使附著燈光呈像" name="Render Attached Lights"/> <menu_item_check label="使附著例子效果呈像" name="Render Attached Particles"/> <menu_item_check label="停懸發光物件" name="Hover Glow Objects"/> + <menu_item_call label="立即清除快取" name="Cache Clear"/> </menu> <menu label="網路" name="Network"> <menu_item_check label="暫停用戶" name="AgentPause"/> @@ -366,7 +369,6 @@ <menu_item_call label="傾印焦點容器" name="Dump Focus Holder"/> <menu_item_call label="列印所選物件資訊" name="Print Selected Object Info"/> <menu_item_call label="列印用戶資訊" name="Print Agent Info"/> - <menu_item_check label="地區除錯控制台" name="Region Debug Console"/> <menu_item_check label="除錯 SelectMgr" name="Debug SelectMgr"/> <menu_item_check label="除錯點按動作" name="Debug Clicks"/> <menu_item_check label="視角除錯" name="Debug Views"/> diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml index 864f20fc15..46cbaa60b1 100755 --- a/indra/newview/skins/default/xui/zh/notifications.xml +++ b/indra/newview/skins/default/xui/zh/notifications.xml @@ -114,15 +114,15 @@ <usetemplate name="okbutton" yestext="確定"/> </notification> <notification name="OutboxImportFailed"> - 轉移失敗 + 傳送失敗,錯誤碼 '[ERROR_CODE]' 未將任何資料夾送往第二人生購物市集,系統或網路出錯。 請稍候再試一次。 <usetemplate name="okbutton" yestext="確定"/> </notification> <notification name="OutboxInitFailed"> - 第二人生購物市集初始化失敗 + 購物市集初始化失敗,錯誤碼 '[ERROR_CODE]' -第二人生購物市集初始化失敗,系統或網路出錯。 請稍候再試一次。 +購物市集初始化失敗,系統或網路出錯。 請稍候再試一次。 <usetemplate name="okbutton" yestext="確定"/> </notification> <notification name="CompileQueueSaveText"> @@ -1722,6 +1722,10 @@ SHA1 指紋:[MD5_DIGEST] 你確定要瞬間傳送到<nolink>[LOCATION]</nolink>? <usetemplate ignoretext="確認我要瞬間傳送到某個地標" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> </notification> + <notification name="TeleportViaSLAPP"> + 你確定要瞬間傳送到<nolink>[LOCATION]</nolink>? + <usetemplate ignoretext="確認我要透過SLAPP瞬間傳送" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> + </notification> <notification name="TeleportToPick"> 瞬間傳送到 [PICK]? <usetemplate ignoretext="確認我要瞬間傳送到精選地點的所在位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> @@ -1931,6 +1935,9 @@ SHA1 指紋:[MD5_DIGEST] <notification name="ProblemAddingEstateManager"> 新增領地管理人時出問題。 其中一個領地的管理人清單可能已經額滿。 </notification> + <notification name="ProblemAddingEstateBanManager"> + 無法把領地所有人或管理員加入領地的封鎖名單中。 + </notification> <notification name="ProblemAddingEstateGeneric"> 新增到這個領地清單時出問題。 其中一個領地的清單可能已滿。 </notification> @@ -3019,7 +3026,7 @@ SHA1 指紋:[MD5_DIGEST] 居民: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/> </notification> <notification name="ShareFolderConfirmation"> @@ -3031,7 +3038,7 @@ SHA1 指紋:[MD5_DIGEST] 居民: -[RESIDENTS] +<nolink>[RESIDENTS]</nolink> <usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/> </notification> <notification name="ItemsShared"> @@ -3487,10 +3494,6 @@ SHA1 指紋:[MD5_DIGEST] <notification name="EjectComingSoon"> 你不再允許待在這裡,必須在 [EJECT_TIME] 秒內離開。 </notification> - <notification name="NoEnterServerFull"> - 你無法進入這地區,因為 -伺服器滿載。 - </notification> <notification name="SaveBackToInvDisabled"> 「儲存回收納區」功能已被停用。 </notification> @@ -3680,6 +3683,9 @@ SHA1 指紋:[MD5_DIGEST] <notification name="LinkFailedTooMuchPhysics"> 物件使用了過多物理資源,其動態特性已被停用。 </notification> + <notification name="EstateManagerFailedllTeleportHome"> + 位於[SLURL]的物件'[OBJECT_NAME]'無法將領地管理員瞬間傳送回家。 + </notification> <notification name="TeleportedHomeByObjectOnParcel"> 你已被 '[PARCEL_NAME]' 地段的物件 '[OBJECT_NAME]' 成功瞬間傳送回家 </notification> @@ -3870,13 +3876,18 @@ SHA1 指紋:[MD5_DIGEST] 未選取足夠租用地段,無法合併。 </notification> <notification name="CantDivideLandMultipleParcelsSelected"> - 無法分割土地,\n因為你選取了多個地段,\n請縮小所選土地。 + 無法分割土地。 +選取了超過一個地段。 +請試著縮小所選的土地。 </notification> <notification name="CantDivideLandCantFindParcel"> - 無法分割土地。\n找不到地段。\n請到「幫助 > 回報錯誤……」回報問題 + 無法分割土地。 +找不到地段。 +請到「幫助->回報錯誤」回報問題 </notification> <notification name="CantDivideLandWholeParcelSelected"> - 無法分割土地。 選取了整個地段。\n請試著縮小所選的土地。 + 無法分割土地。 選擇了整個地段。 +請試著縮小所選的土地。 </notification> <notification name="LandHasBeenDivided"> 土地分割成功。 @@ -4016,4 +4027,8 @@ SHA1 指紋:[MD5_DIGEST] 無法移動檔案。 已恢復前一個路徑。 <usetemplate ignoretext="無法移動檔案。 已恢復前一個路徑。" name="okignore" yestext="確定"/> </notification> + <notification name="ChatHistoryIsBusyAlert"> + 聊天紀錄檔案還在處理前一個動作。 請稍候再試,或請換一個聊天對象。 + <usetemplate name="okbutton" yestext="確定"/> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml index f979a4c53e..43e3507961 100755 --- a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml @@ -20,7 +20,7 @@ <layout_panel name="group_accordions"> <accordion name="groups_accordion"> <accordion_tab name="group_general_tab" title="基本資料"/> - <accordion_tab name="group_roles_tab" title="角色"/> + <accordion_tab name="group_roles_tab" title="角色與成員"/> <accordion_tab name="group_notices_tab" title="通知"/> <accordion_tab name="group_land_tab" title="土地 / 資產"/> </accordion> diff --git a/indra/newview/skins/default/xui/zh/panel_group_roles.xml b/indra/newview/skins/default/xui/zh/panel_group_roles.xml index 59086c3de2..69ee8451de 100755 --- a/indra/newview/skins/default/xui/zh/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_roles.xml @@ -21,6 +21,7 @@ <name_list.columns label="成員" name="name"/> <name_list.columns label="捐款" name="donated"/> <name_list.columns label="狀態" name="online"/> + <name_list.columns label="頭銜" name="title"/> </name_list> <button label="邀請" name="member_invite"/> <button label="踢出" name="member_eject"/> diff --git a/indra/newview/skins/default/xui/zh/panel_region_debug.xml b/indra/newview/skins/default/xui/zh/panel_region_debug.xml index e5d5e6eaf7..0bb59a7b14 100755 --- a/indra/newview/skins/default/xui/zh/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_debug.xml @@ -28,7 +28,8 @@ <check_box label="於這個領地內的每一個地區" name="return_estate_wide" tool_tip="退回這個領地內全部地區中標記為他的物件"/> <button label="退回" name="return_btn"/> <button label="取得最常碰撞的物件..." name="top_colliders_btn" tool_tip="條列出目前運作中最常碰撞的物件清單"/> - <button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/> <button label="地區重新啟動" name="restart_btn" tool_tip="給予兩分鐘倒數計時並重新啟動"/> + <button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/> <button label="取消重新啟動" name="cancel_restart_btn" tool_tip="取消地區重新啟動"/> + <button label="地區除錯控制台" name="region_debug_console_btn" tool_tip="開啟地區除錯控制台"/> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_region_general.xml b/indra/newview/skins/default/xui/zh/panel_region_general.xml index f6b2c46354..0ce3b659b2 100755 --- a/indra/newview/skins/default/xui/zh/panel_region_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_general.xml @@ -20,12 +20,12 @@ </text> <check_box label="阻止土地變形" name="block_terraform_check"/> <check_box label="阻止飛行" name="block_fly_check"/> + <check_box label="禁止飛越地段" name="block_fly_over_check" tool_tip="將出入管制往上空擴大,一併禁止飛越地段"/> <check_box label="允許傷害" name="allow_damage_check"/> <check_box label="限制推撞" name="restrict_pushobject"/> <check_box label="允許土地轉售" name="allow_land_resell_check"/> <check_box label="允許土地 合併/分割" name="allow_parcel_changes_check"/> <check_box label="阻擋土地顯示於搜尋中" name="block_parcel_search_check" tool_tip="讓其他人可以在搜尋結果中看到這個地區與其中的地段"/> - <check_box label="允許網面物件" name="mesh_rez_enabled_check" tool_tip="允許大家在此地區產生網面物件"/> <spinner label="人數上限" name="agent_limit_spin"/> <spinner label="物件紅利" name="object_bonus_spin"/> <text label="分級" name="access_text"> diff --git a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml index 4034a7154f..54ea7cab22 100755 --- a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml @@ -25,15 +25,15 @@ <panel name="button_panel"> <layout_stack name="button_panel_ls"> <layout_panel name="info_btn_lp"> - <button label="檔案" name="info_btn" tool_tip="顯示物件檔案"/> + <button label="檔案" name="info_btn" tool_tip="顯示物件簡介"/> </layout_panel> <layout_panel name="share_btn_lp"> <button label="分享" name="share_btn" tool_tip="分享一個收納區物品"/> </layout_panel> <layout_panel name="shop_btn_lp"> - <button label="購物" name="shop_btn" tool_tip="開啟 Marketplace 購物市集網頁"/> + <button label="購物" name="shop_btn" tool_tip="開啟購物市集網頁"/> <button label="穿上" name="wear_btn" tool_tip="穿上所選擇的裝扮"/> - <button label="播放" name="play_btn"/> + <button label="遊戲" name="play_btn"/> <button label="瞬間傳送" name="teleport_btn" tool_tip="瞬間傳送到所選的區域"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml index d9fa105ef4..4e636e7816 100755 --- a/indra/newview/skins/default/xui/zh/strings.xml +++ b/indra/newview/skins/default/xui/zh/strings.xml @@ -37,6 +37,45 @@ <string name="StartupRequireDriverUpdate"> 顯像初始化失敗。 請更新你的顯像卡驅動程式! </string> + <string name="AboutHeader"> + [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL]) +[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]] + </string> + <string name="AboutCompiler"> + 以 [COMPILER_VERSION] 版本 [COMPILER] 建置 + </string> + <string name="AboutPosition"> + 你的方位是 [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1],地區名:[REGION],主機:<nolink>[HOSTNAME]</nolink> ([HOSTIP]) +第二人生URL:<nolink>[SLURL]</nolink> +(全域坐標:[POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) +[SERVER_VERSION] +[SERVER_RELEASE_NOTES_URL] + </string> + <string name="AboutSystem"> + CPU:[CPU] +記憶體:[MEMORY_MB] MB +作業系統版本:[OS_VERSION] +顯示卡供應商:[GRAPHICS_CARD_VENDOR] +顯示卡:[GRAPHICS_CARD] + </string> + <string name="AboutDriver"> + Windows 顯示驅動程式版本:[GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutLibs"> + OpenGL 版本:[OPENGL_VERSION] + +libcurl 版本: [LIBCURL_VERSION] +J2C 解碼器版本: [J2C_VERSION] +音效驅動程式版本: [AUDIO_DRIVER_VERSION] +Qt Webkit 版本: [QT_WEBKIT_VERSION] +語音伺服器版本: [VOICE_VERSION] + </string> + <string name="AboutTraffic"> + 封包丟失:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + </string> + <string name="ErrorFetchingServerReleaseNotesURL"> + 擷取伺服器版本說明 URL 時出錯。 + </string> <string name="ProgressRestoring"> 回存中... </string> @@ -929,15 +968,15 @@ http://secondlife.com/viewer-access-faq <string name="ControlYourCamera"> 控制你的攝影機 </string> + <string name="TeleportYourAgent"> + 瞬間傳送你本人 + </string> <string name="NotConnected"> 未聯接 </string> <string name="AgentNameSubst"> (你) </string> - <string name="TeleportYourAgent"> - 瞬間傳送你本人 - </string> <string name="JoinAnExperience"> 加入體驗 </string> @@ -1291,6 +1330,18 @@ http://secondlife.com/viewer-access-faq <string name="InventoryOutboxNoItems"> 將資料夾拖曳到這個區域,再點按「送往第二人生購物市集」,即可在[[MARKETPLACE_DASHBOARD_URL]第二人生購物市集]登列出售。 </string> + <string name="InventoryOutboxInitializingTitle"> + 正在初始化購物市集。 + </string> + <string name="InventoryOutboxInitializing"> + 我們正在求取你的[[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]帳戶。 + </string> + <string name="InventoryOutboxErrorTitle"> + 購物市集出錯。 + </string> + <string name="InventoryOutboxError"> + [[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]正傳回錯誤。 + </string> <string name="Marketplace Error None"> 零錯誤 </string> @@ -1318,6 +1369,9 @@ http://secondlife.com/viewer-access-faq <string name="Open landmarks"> 開啟地標 </string> + <string name="Unconstrained"> + 不受限 + </string> <string name="no_transfer" value="(禁止轉讓)"/> <string name="no_modify" value="(禁止修改)"/> <string name="no_copy" value="(禁止複製)"/> @@ -1718,6 +1772,9 @@ http://secondlife.com/viewer-access-faq <string name="CompileQueueDownloadedCompiling"> 已下載,正在編譯中 </string> + <string name="CompileQueueServiceUnavailable"> + 腳本編譯服務無法使用 + </string> <string name="CompileQueueScriptNotFound"> 伺服器上未發現腳本。 </string> -- cgit v1.2.3 From 5b542e227bb952f1517c32c2de8c8af0294ec617 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Tue, 3 Jun 2014 19:37:58 -0400 Subject: All: Committing to llqtwebkit2 and the future. Updating all libraries. Updating SDL to 290561, c-ares to 290399, Boost to 290566, colladadom to 290576, curl to 290567, fontconfig to 290569, freetype to 290557, google-mock to 290574, libpng to 290558, libxml2 to 290562, llqtwebkit to 290578, openssl to 290560, PCRE to 290406, zlib to 290556. Document compiling and linking in new 00-COMPILE-LINK-RUN.txt in indra/cmake. It is the README for the building process based on things learned during this library project. Switch building process back to style used for new llqtwebkit2 repo. This builds shared libraries for Qt4 products on all platforms using current build machines and TC task templates. All platforms are building. All have comparable FPS rates. Builds are getting quieter. Forward, comrades! --- indra/newview/viewer_manifest.py | 76 ++++++++++++++++++++++++++++++++-------- 1 file changed, 61 insertions(+), 15 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 6729cd617a..2c173d9aaa 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -795,15 +795,42 @@ class Darwin_i386_Manifest(ViewerManifest): for libfile in dylibs: symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile), os.path.join(resource_path, libfile)) - - # plugins + # SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs. + if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"): + for libfile in ('libQtCore.4.dylib', + 'libQtCore.4.7.1.dylib', + 'libQtGui.4.dylib', + 'libQtGui.4.7.1.dylib', + 'libQtNetwork.4.dylib', + 'libQtNetwork.4.7.1.dylib', + 'libQtOpenGL.4.dylib', + 'libQtOpenGL.4.7.1.dylib', + 'libQtSvg.4.dylib', + 'libQtSvg.4.7.1.dylib', + 'libQtWebKit.4.dylib', + 'libQtWebKit.4.7.1.dylib', + 'libQtXml.4.dylib', + 'libQtXml.4.7.1.dylib'): + self.path2basename("../packages/lib/release", libfile) + self.end_prefix("SLPlugin.app/Contents/Resources") + + # Qt4 codecs go to llplugin. Not certain why but this is the first + # location probed according to dtruss so we'll go with that. + if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"): + self.path("libq*.dylib") + self.end_prefix("llplugin/codecs") + + # Similarly for imageformats. + if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"): + self.path("libq*.dylib") + self.end_prefix("llplugin/imageformats") + + # SLPlugin plugins proper if self.prefix(src="", dst="llplugin"): self.path2basename("../media_plugins/quicktime/" + self.args['configuration'], "media_plugin_quicktime.dylib") self.path2basename("../media_plugins/webkit/" + self.args['configuration'], "media_plugin_webkit.dylib") - self.path2basename("../packages/lib/release", "libllqtwebkit.dylib") - self.end_prefix("llplugin") self.end_prefix("Resources") @@ -1074,20 +1101,9 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libaprutil-1.so") self.path("libaprutil-1.so.0") self.path("libaprutil-1.so.0.4.1") - self.path("libboost_context-mt.so.*") - self.path("libboost_filesystem-mt.so.*") - self.path("libboost_program_options-mt.so.*") - self.path("libboost_regex-mt.so.*") - self.path("libboost_signals-mt.so.*") - self.path("libboost_system-mt.so.*") - self.path("libboost_thread-mt.so.*") - self.path("libcollada14dom.so") self.path("libdb*.so") - self.path("libcrypto.so.*") self.path("libexpat.so.*") - self.path("libssl.so.1.0.0") self.path("libGLOD.so") - self.path("libminizip.so") self.path("libuuid.so*") self.path("libSDL-1.2.so.*") self.path("libdirectfb-1.*.so.*") @@ -1119,7 +1135,10 @@ class Linux_i686_Manifest(LinuxManifest): # previous call did, without having to explicitly state the # version number. self.path("libfontconfig.so.*.*") + + # Include libfreetype.so. but have it work as libfontconfig does. self.path("libfreetype.so.*.*") + try: self.path("libtcmalloc.so*") #formerly called google perf tools pass @@ -1149,6 +1168,33 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libvivoxplatform.so") self.end_prefix("lib") + # plugin runtime + if self.prefix(src="../packages/lib/release", dst="lib"): + self.path("libQtCore.so*") + self.path("libQtGui.so*") + self.path("libQtNetwork.so*") + self.path("libQtOpenGL.so*") + self.path("libQtWebKit.so*") + self.end_prefix("lib") + + # For WebKit/Qt plugin runtimes (image format plugins) + if self.prefix(src="../packages/plugins/imageformats", dst="bin/llplugin/imageformats"): + self.path("libqgif.so") + self.path("libqico.so") + self.path("libqjpeg.so") + self.path("libqmng.so") + self.path("libqsvg.so") + self.path("libqtiff.so") + self.end_prefix("bin/llplugin/imageformats") + + # For WebKit/Qt plugin runtimes (codec/character encoding plugins) + if self.prefix(src="../packages/plugins/codecs", dst="bin/llplugin/codecs"): + self.path("libqcncodecs.so") + self.path("libqjpcodecs.so") + self.path("libqkrcodecs.so") + self.path("libqtwcodecs.so") + self.end_prefix("bin/llplugin/codecs") + self.strip_binaries() -- cgit v1.2.3 From eb8cf27cc5757cfb548cc2fd5954ac5826c76422 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Wed, 4 Jun 2014 19:44:02 +0000 Subject: All: Update .png files with conformance problems as reported by pngfix. With the updated PNG library (1.6.8), we're getting stderr warnings about non-conformance issues with images in the build. These warnings include: * iCCP: known incorrect sRGB profile * iCCP: profile 'ICC Profile': 1000000h: invalid rendering intent * iCCP: cHRM chunk does not match sRGB These were normalized by running an ImageMagick 'convert -strip' pass over each PNG image. 'compare -metric AE' reports 0 delta for all before/after pairs. --- indra/newview/icons/beta/secondlife_128.png | Bin 18268 -> 16200 bytes indra/newview/icons/beta/secondlife_16.png | Bin 3536 -> 1020 bytes indra/newview/icons/beta/secondlife_256.png | Bin 49418 -> 49119 bytes indra/newview/icons/beta/secondlife_32.png | Bin 4767 -> 2252 bytes indra/newview/icons/beta/secondlife_48.png | Bin 6438 -> 3940 bytes indra/newview/icons/beta/secondlife_512.png | Bin 151779 -> 157618 bytes indra/newview/icons/project/secondlife_128.png | Bin 17706 -> 15587 bytes indra/newview/icons/project/secondlife_16.png | Bin 3471 -> 956 bytes indra/newview/icons/project/secondlife_256.png | Bin 48488 -> 48230 bytes indra/newview/icons/project/secondlife_32.png | Bin 4675 -> 2153 bytes indra/newview/icons/project/secondlife_48.png | Bin 6195 -> 3704 bytes indra/newview/icons/project/secondlife_512.png | Bin 149145 -> 155555 bytes indra/newview/icons/release/secondlife_128.png | Bin 17198 -> 15184 bytes indra/newview/icons/release/secondlife_16.png | Bin 3524 -> 1009 bytes indra/newview/icons/release/secondlife_256.png | Bin 47946 -> 47740 bytes indra/newview/icons/release/secondlife_32.png | Bin 4746 -> 2237 bytes indra/newview/icons/release/secondlife_48.png | Bin 6249 -> 3748 bytes indra/newview/icons/release/secondlife_512.png | Bin 147963 -> 154396 bytes indra/newview/icons/test/secondlife_128.png | Bin 17156 -> 15058 bytes indra/newview/icons/test/secondlife_16.png | Bin 3471 -> 956 bytes indra/newview/icons/test/secondlife_256.png | Bin 47522 -> 47320 bytes indra/newview/icons/test/secondlife_32.png | Bin 4644 -> 2130 bytes indra/newview/icons/test/secondlife_48.png | Bin 6115 -> 3630 bytes indra/newview/icons/test/secondlife_512.png | Bin 146971 -> 153502 bytes .../default/textures/bottomtray/ChatBarHandle.png | Bin 2808 -> 260 bytes .../default/textures/bottomtray/Move_Fly_Off.png | Bin 3347 -> 609 bytes .../default/textures/bottomtray/Notices_Unread.png | Bin 3693 -> 436 bytes .../default/textures/bottomtray/Snapshot_Off.png | Bin 3204 -> 549 bytes .../newview/skins/default/textures/down_arrow.png | Bin 2936 -> 423 bytes .../skins/default/textures/icons/Edit_Wrench.png | Bin 3000 -> 452 bytes .../default/textures/icons/Generic_Group_Large.png | Bin 7507 -> 5274 bytes .../default/textures/icons/Generic_Person.png | Bin 3280 -> 481 bytes .../default/textures/icons/Hierarchy_View_On.png | Bin 2839 -> 306 bytes .../skins/default/textures/icons/Inv_Link.png | Bin 2857 -> 317 bytes .../default/textures/icons/Inv_LostClosed.png | Bin 3033 -> 526 bytes .../skins/default/textures/icons/Inv_LostOpen.png | Bin 3223 -> 708 bytes .../skins/default/textures/icons/Inv_Mesh.png | Bin 3263 -> 751 bytes .../skins/default/textures/icons/Inv_SysClosed.png | Bin 3153 -> 643 bytes .../skins/default/textures/icons/Inv_SysOpen.png | Bin 3251 -> 734 bytes .../default/textures/icons/Inv_TrashClosed.png | Bin 2978 -> 465 bytes .../skins/default/textures/icons/Inv_TrashOpen.png | Bin 2970 -> 457 bytes .../default/textures/icons/Parcel_FlyNo_Dark.png | Bin 3221 -> 681 bytes .../default/textures/icons/Parcel_FlyNo_Light.png | Bin 3235 -> 696 bytes .../default/textures/icons/Parcel_Fly_Dark.png | Bin 3077 -> 474 bytes .../textures/icons/Parcel_SeeAVsOff_Dark.png | Bin 3194 -> 680 bytes .../textures/icons/Parcel_SeeAVsOff_Light.png | Bin 3189 -> 680 bytes .../textures/icons/Parcel_SeeAVsOn_Dark.png | Bin 3011 -> 452 bytes .../textures/icons/Parcel_SeeAVsOn_Light.png | Bin 3011 -> 453 bytes .../skins/default/textures/icons/Person_Check.png | Bin 3824 -> 925 bytes .../skins/default/textures/icons/Person_Star.png | Bin 3762 -> 739 bytes .../skins/default/textures/icons/SL_Logo.png | Bin 3999 -> 1484 bytes .../newview/skins/default/textures/icons/Shop.png | Bin 3052 -> 473 bytes .../default/textures/icons/Web_Profile_Off.png | Bin 2961 -> 410 bytes .../default/textures/icons/back_arrow_off.png | Bin 3775 -> 1261 bytes .../default/textures/icons/back_arrow_over.png | Bin 3792 -> 1277 bytes .../default/textures/icons/back_arrow_press.png | Bin 3844 -> 1329 bytes .../skins/default/textures/icons/check_mark.png | Bin 3166 -> 650 bytes .../default/textures/icons/pop_up_caution.png | Bin 3158 -> 642 bytes .../skins/default/textures/menu_separator.png | Bin 2831 -> 304 bytes .../textures/model_wizard/progress_bar_bg.png | Bin 3180 -> 556 bytes .../textures/model_wizard/progress_light.png | Bin 2979 -> 464 bytes .../skins/default/textures/navbar/Search.png | Bin 3182 -> 516 bytes .../skins/default/textures/navbar/separator.png | Bin 2826 -> 330 bytes .../taskpanel/Sidebar_Icon_Dock_Foreground.png | Bin 2899 -> 355 bytes .../textures/taskpanel/Sidebar_Icon_Dock_Press.png | Bin 2886 -> 339 bytes .../taskpanel/Sidebar_Icon_Undock_Foreground.png | Bin 2896 -> 341 bytes .../taskpanel/Sidebar_Icon_Undock_Press.png | Bin 2920 -> 344 bytes .../default/textures/toolbar_icons/facebook.png | Bin 2974 -> 424 bytes .../default/textures/toolbar_icons/mini_cart.png | Bin 2987 -> 474 bytes indra/newview/skins/default/textures/up_arrow.png | Bin 2930 -> 426 bytes .../skins/default/textures/widgets/Arrow_Down.png | Bin 3066 -> 467 bytes .../widgets/BreadCrumbBtn_Left_Disabled.png | Bin 3576 -> 801 bytes .../textures/widgets/BreadCrumbBtn_Left_Off.png | Bin 4309 -> 1873 bytes .../textures/widgets/BreadCrumbBtn_Left_Over.png | Bin 4272 -> 1828 bytes .../textures/widgets/BreadCrumbBtn_Left_Press.png | Bin 4278 -> 1851 bytes .../widgets/BreadCrumbBtn_Middle_Disabled.png | Bin 3425 -> 746 bytes .../textures/widgets/BreadCrumbBtn_Middle_Off.png | Bin 4151 -> 1726 bytes .../textures/widgets/BreadCrumbBtn_Middle_Over.png | Bin 4137 -> 1696 bytes .../widgets/BreadCrumbBtn_Middle_Press.png | Bin 4200 -> 1767 bytes .../widgets/BreadCrumbBtn_Right_Disabled.png | Bin 3169 -> 538 bytes .../textures/widgets/BreadCrumbBtn_Right_Off.png | Bin 3845 -> 1388 bytes .../textures/widgets/BreadCrumbBtn_Right_Over.png | Bin 3867 -> 1410 bytes .../textures/widgets/BreadCrumbBtn_Right_Press.png | Bin 3915 -> 1477 bytes .../skins/default/textures/widgets/Tooltip.png | Bin 2910 -> 402 bytes .../textures/windows/Icon_Close_Foreground.png | Bin 2871 -> 352 bytes .../textures/windows/Icon_Help_Foreground.png | Bin 3084 -> 451 bytes .../default/textures/windows/Icon_Help_Press.png | Bin 3062 -> 451 bytes .../textures/windows/Icon_Minimize_Foreground.png | Bin 2839 -> 301 bytes .../textures/windows/Icon_Minimize_Press.png | Bin 2839 -> 301 bytes .../textures/windows/Icon_Restore_Foreground.png | Bin 2955 -> 446 bytes .../textures/windows/Icon_Restore_Press.png | Bin 2971 -> 406 bytes .../default/textures/windows/hint_arrow_down.png | Bin 3170 -> 573 bytes .../default/textures/windows/hint_arrow_left.png | Bin 3059 -> 482 bytes .../textures/windows/hint_arrow_lower_left.png | Bin 3081 -> 490 bytes .../default/textures/windows/hint_arrow_right.png | Bin 3112 -> 513 bytes .../default/textures/windows/hint_arrow_up.png | Bin 3219 -> 587 bytes .../default/textures/windows/hint_background.png | Bin 4316 -> 1532 bytes .../default/textures/windows/yellow_gradient.png | Bin 3634 -> 1125 bytes .../skins/default/textures/world/CameraDragDot.png | Bin 3101 -> 563 bytes .../skins/default/textures/world/NoEntryLines.png | Bin 3523 -> 1265 bytes 100 files changed, 0 insertions(+), 0 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/icons/beta/secondlife_128.png b/indra/newview/icons/beta/secondlife_128.png index fa42aa764b..af5ae63335 100755 Binary files a/indra/newview/icons/beta/secondlife_128.png and b/indra/newview/icons/beta/secondlife_128.png differ diff --git a/indra/newview/icons/beta/secondlife_16.png b/indra/newview/icons/beta/secondlife_16.png index ff648cf3fc..9e6305d98f 100755 Binary files a/indra/newview/icons/beta/secondlife_16.png and b/indra/newview/icons/beta/secondlife_16.png differ diff --git a/indra/newview/icons/beta/secondlife_256.png b/indra/newview/icons/beta/secondlife_256.png index 245e2c3e9f..b0814fc180 100755 Binary files a/indra/newview/icons/beta/secondlife_256.png and b/indra/newview/icons/beta/secondlife_256.png differ diff --git a/indra/newview/icons/beta/secondlife_32.png b/indra/newview/icons/beta/secondlife_32.png index fd7f46bf4d..a00b3cf53c 100755 Binary files a/indra/newview/icons/beta/secondlife_32.png and b/indra/newview/icons/beta/secondlife_32.png differ diff --git a/indra/newview/icons/beta/secondlife_48.png b/indra/newview/icons/beta/secondlife_48.png index cc3a795e2b..551587b1cd 100755 Binary files a/indra/newview/icons/beta/secondlife_48.png and b/indra/newview/icons/beta/secondlife_48.png differ diff --git a/indra/newview/icons/beta/secondlife_512.png b/indra/newview/icons/beta/secondlife_512.png index a959bd9a9e..99226de74e 100755 Binary files a/indra/newview/icons/beta/secondlife_512.png and b/indra/newview/icons/beta/secondlife_512.png differ diff --git a/indra/newview/icons/project/secondlife_128.png b/indra/newview/icons/project/secondlife_128.png index d67b8228f9..b1b4997306 100755 Binary files a/indra/newview/icons/project/secondlife_128.png and b/indra/newview/icons/project/secondlife_128.png differ diff --git a/indra/newview/icons/project/secondlife_16.png b/indra/newview/icons/project/secondlife_16.png index 91493a033c..7d3d74b534 100755 Binary files a/indra/newview/icons/project/secondlife_16.png and b/indra/newview/icons/project/secondlife_16.png differ diff --git a/indra/newview/icons/project/secondlife_256.png b/indra/newview/icons/project/secondlife_256.png index cccfaf7cba..88ad959275 100755 Binary files a/indra/newview/icons/project/secondlife_256.png and b/indra/newview/icons/project/secondlife_256.png differ diff --git a/indra/newview/icons/project/secondlife_32.png b/indra/newview/icons/project/secondlife_32.png index ad7b33f789..e55f75e1dd 100755 Binary files a/indra/newview/icons/project/secondlife_32.png and b/indra/newview/icons/project/secondlife_32.png differ diff --git a/indra/newview/icons/project/secondlife_48.png b/indra/newview/icons/project/secondlife_48.png index 104a931fbc..c29703e164 100755 Binary files a/indra/newview/icons/project/secondlife_48.png and b/indra/newview/icons/project/secondlife_48.png differ diff --git a/indra/newview/icons/project/secondlife_512.png b/indra/newview/icons/project/secondlife_512.png index 74e2fa9bc6..4fa3474d70 100755 Binary files a/indra/newview/icons/project/secondlife_512.png and b/indra/newview/icons/project/secondlife_512.png differ diff --git a/indra/newview/icons/release/secondlife_128.png b/indra/newview/icons/release/secondlife_128.png index bcf94dcae8..4c9544f498 100755 Binary files a/indra/newview/icons/release/secondlife_128.png and b/indra/newview/icons/release/secondlife_128.png differ diff --git a/indra/newview/icons/release/secondlife_16.png b/indra/newview/icons/release/secondlife_16.png index 90311ea8b0..bb3168b8be 100755 Binary files a/indra/newview/icons/release/secondlife_16.png and b/indra/newview/icons/release/secondlife_16.png differ diff --git a/indra/newview/icons/release/secondlife_256.png b/indra/newview/icons/release/secondlife_256.png index a89fb4c74f..bece338a90 100755 Binary files a/indra/newview/icons/release/secondlife_256.png and b/indra/newview/icons/release/secondlife_256.png differ diff --git a/indra/newview/icons/release/secondlife_32.png b/indra/newview/icons/release/secondlife_32.png index 530e8fc80c..736359c147 100755 Binary files a/indra/newview/icons/release/secondlife_32.png and b/indra/newview/icons/release/secondlife_32.png differ diff --git a/indra/newview/icons/release/secondlife_48.png b/indra/newview/icons/release/secondlife_48.png index cb33c51f8a..07d39ae585 100755 Binary files a/indra/newview/icons/release/secondlife_48.png and b/indra/newview/icons/release/secondlife_48.png differ diff --git a/indra/newview/icons/release/secondlife_512.png b/indra/newview/icons/release/secondlife_512.png index f291e60586..53d1643f45 100755 Binary files a/indra/newview/icons/release/secondlife_512.png and b/indra/newview/icons/release/secondlife_512.png differ diff --git a/indra/newview/icons/test/secondlife_128.png b/indra/newview/icons/test/secondlife_128.png index 019f65db28..486772b6d3 100755 Binary files a/indra/newview/icons/test/secondlife_128.png and b/indra/newview/icons/test/secondlife_128.png differ diff --git a/indra/newview/icons/test/secondlife_16.png b/indra/newview/icons/test/secondlife_16.png index 91493a033c..7d3d74b534 100755 Binary files a/indra/newview/icons/test/secondlife_16.png and b/indra/newview/icons/test/secondlife_16.png differ diff --git a/indra/newview/icons/test/secondlife_256.png b/indra/newview/icons/test/secondlife_256.png index f402424c51..56c781788d 100755 Binary files a/indra/newview/icons/test/secondlife_256.png and b/indra/newview/icons/test/secondlife_256.png differ diff --git a/indra/newview/icons/test/secondlife_32.png b/indra/newview/icons/test/secondlife_32.png index 80d6efe13d..476029db61 100755 Binary files a/indra/newview/icons/test/secondlife_32.png and b/indra/newview/icons/test/secondlife_32.png differ diff --git a/indra/newview/icons/test/secondlife_48.png b/indra/newview/icons/test/secondlife_48.png index bba938feba..d7de7849f9 100755 Binary files a/indra/newview/icons/test/secondlife_48.png and b/indra/newview/icons/test/secondlife_48.png differ diff --git a/indra/newview/icons/test/secondlife_512.png b/indra/newview/icons/test/secondlife_512.png index 10ff65312b..a4b1e4974c 100755 Binary files a/indra/newview/icons/test/secondlife_512.png and b/indra/newview/icons/test/secondlife_512.png differ diff --git a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png index 8b58db0cba..50239c8af8 100755 Binary files a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png and b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png differ diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png index 9e7291d6fb..fade065ce7 100755 Binary files a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png and b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png differ diff --git a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png index 0ac5b72b8f..eb2f3dbaa4 100755 Binary files a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png and b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png differ diff --git a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png index d7ec04237b..4ab4bbe4af 100755 Binary files a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png and b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png differ diff --git a/indra/newview/skins/default/textures/down_arrow.png b/indra/newview/skins/default/textures/down_arrow.png index 155f80c97e..21a0fc5ec0 100755 Binary files a/indra/newview/skins/default/textures/down_arrow.png and b/indra/newview/skins/default/textures/down_arrow.png differ diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png index edb40b9c96..42f8466969 100755 Binary files a/indra/newview/skins/default/textures/icons/Edit_Wrench.png and b/indra/newview/skins/default/textures/icons/Edit_Wrench.png differ diff --git a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png index 75833eccf3..46ee6dfe2c 100755 Binary files a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png and b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png differ diff --git a/indra/newview/skins/default/textures/icons/Generic_Person.png b/indra/newview/skins/default/textures/icons/Generic_Person.png index 45b491ab59..e1411354af 100755 Binary files a/indra/newview/skins/default/textures/icons/Generic_Person.png and b/indra/newview/skins/default/textures/icons/Generic_Person.png differ diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png index 296311e797..ae8c8b4c1a 100755 Binary files a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png and b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_Link.png b/indra/newview/skins/default/textures/icons/Inv_Link.png index c1543dacb5..26bf4086fb 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_Link.png and b/indra/newview/skins/default/textures/icons/Inv_Link.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png index a800217e0d..42b5c88fdd 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png and b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png index 8c4a1a9ac0..a52168d6c7 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png and b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_Mesh.png b/indra/newview/skins/default/textures/icons/Inv_Mesh.png index f1f21f7941..77e52264c3 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_Mesh.png and b/indra/newview/skins/default/textures/icons/Inv_Mesh.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png index dcf998449f..57eafc4047 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png and b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png index 0efd403c95..b080688e55 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png and b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png index c5201e6f9a..7a958c1ec0 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png and b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png index 4a886a3f37..11e6bf33bc 100755 Binary files a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png and b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png index e0b18b2451..af65873cb6 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png index 101aaa42b1..6ceb9d3d8f 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png and b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png index c27f18e3c7..7084e2f591 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png index 956e02b14d..60d056b573 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png index 434caeda8b..d004b0f750 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png index 064687ed0f..eed28765f7 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png differ diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png index 5465650d0c..e35de3c2fa 100755 Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png differ diff --git a/indra/newview/skins/default/textures/icons/Person_Check.png b/indra/newview/skins/default/textures/icons/Person_Check.png index f8638540d4..d40eafe793 100755 Binary files a/indra/newview/skins/default/textures/icons/Person_Check.png and b/indra/newview/skins/default/textures/icons/Person_Check.png differ diff --git a/indra/newview/skins/default/textures/icons/Person_Star.png b/indra/newview/skins/default/textures/icons/Person_Star.png index ad10580ac4..e02935672f 100755 Binary files a/indra/newview/skins/default/textures/icons/Person_Star.png and b/indra/newview/skins/default/textures/icons/Person_Star.png differ diff --git a/indra/newview/skins/default/textures/icons/SL_Logo.png b/indra/newview/skins/default/textures/icons/SL_Logo.png index 8342d7cfee..5e376c72f9 100755 Binary files a/indra/newview/skins/default/textures/icons/SL_Logo.png and b/indra/newview/skins/default/textures/icons/SL_Logo.png differ diff --git a/indra/newview/skins/default/textures/icons/Shop.png b/indra/newview/skins/default/textures/icons/Shop.png index 81c13eeabd..8977c49195 100755 Binary files a/indra/newview/skins/default/textures/icons/Shop.png and b/indra/newview/skins/default/textures/icons/Shop.png differ diff --git a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png index f5fb774a6f..5716dd6d22 100755 Binary files a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png and b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png differ diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png index 422f67cf83..e7cea49d73 100755 Binary files a/indra/newview/skins/default/textures/icons/back_arrow_off.png and b/indra/newview/skins/default/textures/icons/back_arrow_off.png differ diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png index b4cc170f37..4e5a93a25f 100755 Binary files a/indra/newview/skins/default/textures/icons/back_arrow_over.png and b/indra/newview/skins/default/textures/icons/back_arrow_over.png differ diff --git a/indra/newview/skins/default/textures/icons/back_arrow_press.png b/indra/newview/skins/default/textures/icons/back_arrow_press.png index a9e2f326a7..289b8c20e6 100755 Binary files a/indra/newview/skins/default/textures/icons/back_arrow_press.png and b/indra/newview/skins/default/textures/icons/back_arrow_press.png differ diff --git a/indra/newview/skins/default/textures/icons/check_mark.png b/indra/newview/skins/default/textures/icons/check_mark.png index 2c05297f4f..4d927cb29e 100755 Binary files a/indra/newview/skins/default/textures/icons/check_mark.png and b/indra/newview/skins/default/textures/icons/check_mark.png differ diff --git a/indra/newview/skins/default/textures/icons/pop_up_caution.png b/indra/newview/skins/default/textures/icons/pop_up_caution.png index 78b681cb33..8364bcc328 100755 Binary files a/indra/newview/skins/default/textures/icons/pop_up_caution.png and b/indra/newview/skins/default/textures/icons/pop_up_caution.png differ diff --git a/indra/newview/skins/default/textures/menu_separator.png b/indra/newview/skins/default/textures/menu_separator.png index 89dcdcdff5..7bb27c499d 100755 Binary files a/indra/newview/skins/default/textures/menu_separator.png and b/indra/newview/skins/default/textures/menu_separator.png differ diff --git a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png index d0b213cdc5..7c6920205f 100755 Binary files a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png and b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png differ diff --git a/indra/newview/skins/default/textures/model_wizard/progress_light.png b/indra/newview/skins/default/textures/model_wizard/progress_light.png index 019344f812..c8ab151c44 100755 Binary files a/indra/newview/skins/default/textures/model_wizard/progress_light.png and b/indra/newview/skins/default/textures/model_wizard/progress_light.png differ diff --git a/indra/newview/skins/default/textures/navbar/Search.png b/indra/newview/skins/default/textures/navbar/Search.png index 0d0e330bc7..4c29e57f7b 100755 Binary files a/indra/newview/skins/default/textures/navbar/Search.png and b/indra/newview/skins/default/textures/navbar/Search.png differ diff --git a/indra/newview/skins/default/textures/navbar/separator.png b/indra/newview/skins/default/textures/navbar/separator.png index b93e5791a7..c1d74e5a64 100755 Binary files a/indra/newview/skins/default/textures/navbar/separator.png and b/indra/newview/skins/default/textures/navbar/separator.png differ diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png index 50c01062a5..4e59042e33 100755 Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png differ diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png index bf2065cd37..be7b298bb8 100755 Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png differ diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png index 8b48258142..1e234ff09b 100755 Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png differ diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png index 09efe779fe..48c78b453d 100755 Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png differ diff --git a/indra/newview/skins/default/textures/toolbar_icons/facebook.png b/indra/newview/skins/default/textures/toolbar_icons/facebook.png index b960b834dc..ae524b643f 100644 Binary files a/indra/newview/skins/default/textures/toolbar_icons/facebook.png and b/indra/newview/skins/default/textures/toolbar_icons/facebook.png differ diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png index 9fcf46794d..9eeb1d4e09 100755 Binary files a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png and b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png differ diff --git a/indra/newview/skins/default/textures/up_arrow.png b/indra/newview/skins/default/textures/up_arrow.png index fe68ad49dc..76f839510e 100755 Binary files a/indra/newview/skins/default/textures/up_arrow.png and b/indra/newview/skins/default/textures/up_arrow.png differ diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Down.png b/indra/newview/skins/default/textures/widgets/Arrow_Down.png index e10f6472eb..cb4eea953c 100755 Binary files a/indra/newview/skins/default/textures/widgets/Arrow_Down.png and b/indra/newview/skins/default/textures/widgets/Arrow_Down.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png index c7c0eaa96b..3897e16801 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png index 4a73c254fc..95a4a36c9d 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png index 6fb5c432de..20d1ebf53d 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png index fa18517933..63f4b503e2 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png index bed1a701bd..d570f77f6d 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png index 57ce9af574..28a002b118 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png index 2c43022f0e..a195e80b0e 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png index 6b8c1baca4..9863ee32cb 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png index 51505e80c5..2ffbc4a16f 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png index 9f93efbd93..ce47da169b 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png index 3a4ec1a315..2225150983 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png differ diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png index 1f1b4c2ed5..2d541d0f70 100755 Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png differ diff --git a/indra/newview/skins/default/textures/widgets/Tooltip.png b/indra/newview/skins/default/textures/widgets/Tooltip.png index f989ac9083..3c4d6a965d 100755 Binary files a/indra/newview/skins/default/textures/widgets/Tooltip.png and b/indra/newview/skins/default/textures/widgets/Tooltip.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png index 2292b79eda..3534b716fd 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png index 1a514742d3..177c0675bb 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png index 7478644b6a..aa21a1c789 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png index 9f72a5422b..a98a3a98c2 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png index 07db8be1b0..5df0e7691c 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png index 1e753aaf1d..b4d4ef01fc 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png differ diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png index be66b05230..0d0238dc32 100755 Binary files a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_down.png b/indra/newview/skins/default/textures/windows/hint_arrow_down.png index ddadef0978..0cb5a819ec 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_down.png and b/indra/newview/skins/default/textures/windows/hint_arrow_down.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_left.png index 2794b967e8..45204d9132 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_left.png and b/indra/newview/skins/default/textures/windows/hint_arrow_left.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png index 0dfc99898d..3e3ae9f42d 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png and b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_right.png b/indra/newview/skins/default/textures/windows/hint_arrow_right.png index 7ac57f805b..3fe7a773c3 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_right.png and b/indra/newview/skins/default/textures/windows/hint_arrow_right.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_up.png b/indra/newview/skins/default/textures/windows/hint_arrow_up.png index bb3e1c07fa..44f003dc63 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_up.png and b/indra/newview/skins/default/textures/windows/hint_arrow_up.png differ diff --git a/indra/newview/skins/default/textures/windows/hint_background.png b/indra/newview/skins/default/textures/windows/hint_background.png index cfac5deacb..e25f354347 100755 Binary files a/indra/newview/skins/default/textures/windows/hint_background.png and b/indra/newview/skins/default/textures/windows/hint_background.png differ diff --git a/indra/newview/skins/default/textures/windows/yellow_gradient.png b/indra/newview/skins/default/textures/windows/yellow_gradient.png index 5fd847aaef..5bd21b4297 100755 Binary files a/indra/newview/skins/default/textures/windows/yellow_gradient.png and b/indra/newview/skins/default/textures/windows/yellow_gradient.png differ diff --git a/indra/newview/skins/default/textures/world/CameraDragDot.png b/indra/newview/skins/default/textures/world/CameraDragDot.png index 57698e1956..2ccf098e0f 100755 Binary files a/indra/newview/skins/default/textures/world/CameraDragDot.png and b/indra/newview/skins/default/textures/world/CameraDragDot.png differ diff --git a/indra/newview/skins/default/textures/world/NoEntryLines.png b/indra/newview/skins/default/textures/world/NoEntryLines.png index 18e270bde5..d7496b8bd0 100755 Binary files a/indra/newview/skins/default/textures/world/NoEntryLines.png and b/indra/newview/skins/default/textures/world/NoEntryLines.png differ -- cgit v1.2.3 From 2ccbef39a69a0b7aeacff7d99eaa757be51d6a77 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Thu, 5 Jun 2014 18:37:24 -0400 Subject: All: Update openssl to 1.0.1h/290662, curl to 290664, llqtwebkit to 290663. Linux: Include libQtXml and libQtSvg in manifest for libqsvg.so. More documentation thoughts for library package structure. --- indra/newview/viewer_manifest.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 2c173d9aaa..926a6d1a08 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1174,7 +1174,9 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libQtGui.so*") self.path("libQtNetwork.so*") self.path("libQtOpenGL.so*") + self.path("libQtSvg.so*") self.path("libQtWebKit.so*") + self.path("libQtXml.so*") self.end_prefix("lib") # For WebKit/Qt plugin runtimes (image format plugins) -- cgit v1.2.3 From 5429cec9e9139a207ca5bab5ff3e8f8bcc140cef Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Fri, 6 Jun 2014 21:31:31 +0000 Subject: BUG-3323/SH-4375 Server side baking not baking AVs over cellular network. This is a workaround that the TPVs have been exercising for quite a few months and it does seem to fix the OPs problem. The solution is based on magic numbers and has no technical basis, it's just an artifact of particular networking gear and/or ISPs. --- indra/newview/lltexturefetch.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 2acd38b753..aa43840ff2 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -4,7 +4,7 @@ * * $LicenseInfo:firstyear=2000&license=viewerlgpl$ * Second Life Viewer Source Code - * Copyright (C) 2012-2013, Linden Research, Inc. + * Copyright (C) 2012-2014, Linden Research, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -242,6 +242,13 @@ LLTrace::EventStatHandle<F64Milliseconds > LLTextureFetch::sCacheReadLatency("te static const S32 HTTP_REQUESTS_IN_QUEUE_HIGH_WATER = 40; // Maximum requests to have active in HTTP static const S32 HTTP_REQUESTS_IN_QUEUE_LOW_WATER = 20; // Active level at which to refill +// BUG-3323/SH-4375 +// *NOTE: This is a heuristic value. Texture fetches have a habit of using a +// value of 32MB to indicate 'get the rest of the image'. Certain ISPs and +// network equipment get confused when they see this in a Range: header. So, +// if the request end is beyond this value, we issue an open-ended Range: +// request (e.g. 'Range: <start>-') which seems to fix the problem. +static const S32 HTTP_REQUESTS_RANGE_END_MAX = 20000000; ////////////////////////////////////////////////////////////////////////////// @@ -1491,7 +1498,9 @@ bool LLTextureFetchWorker::doWork(S32 param) mWorkPriority, mUrl, mRequestedOffset, - mRequestedSize, + (mRequestedOffset + mRequestedSize) > HTTP_REQUESTS_RANGE_END_MAX + ? 0 + : mRequestedSize, mFetcher->mHttpOptions, mFetcher->mHttpHeaders, this); -- cgit v1.2.3 From 6c84bfb71909a100873be1771181e105e9b9af9e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 10 Jun 2014 10:59:14 +0300 Subject: MAINT-4132 FIXED Don't call notification for debug messages from not owned objects --- indra/newview/llviewermessage.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7c032f0a3b..281b604924 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3722,6 +3722,15 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args); } + // don't call notification for debug messages from not owned objects + if (chat.mChatType == CHAT_TYPE_DEBUG_MSG) + { + if (gAgentID != chat.mOwnerID) + { + return; + } + } + LLSD msg_notify = LLSD(LLSD::emptyMap()); msg_notify["session_id"] = LLUUID(); msg_notify["from_id"] = chat.mFromID; -- cgit v1.2.3 From b5e3899a40f475642d7e74ab9f7c357e29f03b97 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 11 Jun 2014 12:31:10 +0300 Subject: MAINT-4112 FIXED Disable moving objects composed of multiple items to My outfits. --- indra/newview/llinventorybridge.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 6d9b2dce9c..5e0d3db424 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2272,9 +2272,11 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, { const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false); const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false); + const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false); const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id); - const BOOL move_is_into_outfit = getCategory() && (getCategory()->getPreferredType() == LLFolderType::FT_OUTFIT); + const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id); + const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id); //-------------------------------------------------------------------------------- @@ -3192,9 +3194,11 @@ void LLFolderBridge::pasteFromClipboard() const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false); const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false); const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false); + const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false); const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id); - const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); + const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id); + const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id); const BOOL move_is_into_favorites = (mUUID == favorites_id); @@ -3328,9 +3332,11 @@ void LLFolderBridge::pasteLinkFromClipboard() { const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false); const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false); + const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false); const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id); - const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); + const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id); + const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id); if (move_is_into_outbox) @@ -3915,6 +3921,12 @@ static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_curr return FALSE; } + U32 flags = inv_item->getFlags(); + if(flags & LLInventoryItemFlags::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS) + { + return FALSE; + } + if (move_is_into_current_outfit && get_is_item_worn(inv_item->getUUID())) { return FALSE; @@ -4007,10 +4019,12 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false); const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false); const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false); + const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false); const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id); const BOOL move_is_into_favorites = (mUUID == favorites_id); - const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); + const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id); + const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT); const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id); const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id); const BOOL move_is_from_outbox = model->isObjectDescendentOf(inv_item->getUUID(), outbox_id); -- cgit v1.2.3 From db977d6df80e975e7bc7e1e95a93b77dac3a5e6b Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 10 Jun 2014 19:51:11 +0300 Subject: MAINT-4135 FIXED Text input field is not disabled in group chat window for user who cannot enter text chat --- indra/newview/llfloaterimsession.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index f61359f87a..e63ba33626 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -927,8 +927,7 @@ void LLFloaterIMSession::onInputEditorFocusReceived( LLFocusableElement* caller, // Allow enabling the LLFloaterIMSession input editor only if session can accept text LLIMModel::LLIMSession* im_session = LLIMModel::instance().findIMSession(self->mSessionID); - //TODO: While disabled lllineeditor can receive focus we need to check if it is enabled (EK) - if( im_session && im_session->mTextIMPossible && self->mInputEditor->getEnabled()) + if( im_session && im_session->mTextIMPossible && !self->mInputEditor->getReadOnly()) { //in disconnected state IM input editor should be disabled self->mInputEditor->setEnabled(!gDisconnected); -- cgit v1.2.3 From 19560d1b7538accc58f61da94138d054207ea22d Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 17 Jun 2014 11:24:02 +0300 Subject: MAINT-1192 FIXED Don't show folder without recent item in it for "Recent" tab. --- indra/newview/llinventorypanel.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index a4a85e2e8d..4cb724e9c4 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -336,7 +336,15 @@ LLInventoryFilter& LLInventoryPanel::getFilter() void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType filter_type) { if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT) + { + //Don't show folder without recent item in it + if ("Recent Items" == getName()) + { + types &= ~(0x1 << LLInventoryType::IT_CATEGORY); + } + getFilter().setFilterObjectTypes(types); + } if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY) getFilter().setFilterCategoryTypes(types); } @@ -581,6 +589,11 @@ void LLInventoryPanel::modelChanged(U32 mask) } } } + + if ("Recent Items" == getName()) + { + getFilter().setModified(); + } } LLUUID LLInventoryPanel::getRootFolderID() @@ -1457,6 +1470,8 @@ public: getFilter().setFilterCategoryTypes(getFilter().getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); } + /*virtual*/ void onVisibilityChange(BOOL new_visibility); + protected: LLInventoryRecentItemsPanel (const Params&); friend class LLUICtrlFactory; @@ -1469,6 +1484,13 @@ LLInventoryRecentItemsPanel::LLInventoryRecentItemsPanel( const Params& params) mInvFVBridgeBuilder = &RECENT_ITEMS_BUILDER; } +void LLInventoryRecentItemsPanel::onVisibilityChange(BOOL new_visibility) +{ + if(new_visibility) + { + getFilter().setModified(); + } +} namespace LLInitParam { void TypeValues<LLFolderType::EType>::declareValues() -- cgit v1.2.3 From 3686dc3e37511009be02b61edcd483cb9a032b1b Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 16 Jun 2014 20:38:43 +0300 Subject: MAINT-3634 FIXED After right-clicking another avatars nametag or avatar then pressing the "Alt" key, most options in the dropdown menu will no longer function. --- indra/newview/lltoolfocus.cpp | 12 ++++++++++++ indra/newview/lltoolfocus.h | 1 + indra/newview/lltoolgrab.cpp | 11 +++++++++++ indra/newview/lltoolgrab.h | 1 + indra/newview/lltoolpie.cpp | 11 ++++++++++- 5 files changed, 35 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp index ee4ec112f8..58073d1186 100755 --- a/indra/newview/lltoolfocus.cpp +++ b/indra/newview/lltoolfocus.cpp @@ -53,6 +53,7 @@ #include "llmorphview.h" #include "llfloaterreg.h" #include "llfloatercamera.h" +#include "llmenugl.h" // Globals BOOL gCameraBtnZoom = TRUE; @@ -75,6 +76,7 @@ LLToolCamera::LLToolCamera() mOutsideSlopX(FALSE), mOutsideSlopY(FALSE), mValidClickPoint(FALSE), + mValidSelection(FALSE), mMouseSteering(FALSE), mMouseUpX(0), mMouseUpY(0), @@ -91,6 +93,8 @@ void LLToolCamera::handleSelect() if (gFloaterTools) { gFloaterTools->setStatusText("camera"); + // in case we start from tools floater, we count any selection as valid + mValidSelection = gFloaterTools->getVisible(); } } @@ -98,6 +102,14 @@ void LLToolCamera::handleSelect() void LLToolCamera::handleDeselect() { // gAgent.setLookingAtAvatar(FALSE); + + // Make sure that temporary selection won't pass anywhere except pie tool. + MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0; + if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible()))) + { + LLMenuGL::sMenuContainer->hideMenus(); + LLSelectMgr::getInstance()->validateSelection(); + } } BOOL LLToolCamera::handleMouseDown(S32 x, S32 y, MASK mask) diff --git a/indra/newview/lltoolfocus.h b/indra/newview/lltoolfocus.h index b1ac42e33f..d23eb2cce6 100755 --- a/indra/newview/lltoolfocus.h +++ b/indra/newview/lltoolfocus.h @@ -65,6 +65,7 @@ protected: BOOL mOutsideSlopX; BOOL mOutsideSlopY; BOOL mValidClickPoint; + BOOL mValidSelection; BOOL mMouseSteering; S32 mMouseUpX; // needed for releaseMouse() S32 mMouseUpY; diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 9ac84e0066..fa6694b93b 100755 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -56,6 +56,7 @@ #include "llviewerregion.h" #include "llvoavatarself.h" #include "llworld.h" +#include "llmenugl.h" const S32 SLOP_DIST_SQ = 4; @@ -98,6 +99,8 @@ void LLToolGrab::handleSelect() { // viewer can crash during startup if we don't check. gFloaterTools->setStatusText("grab"); + // in case we start from tools floater, we count any selection as valid + mValidSelection = gFloaterTools->getVisible(); } gGrabBtnVertical = FALSE; gGrabBtnSpin = FALSE; @@ -110,6 +113,14 @@ void LLToolGrab::handleDeselect() setMouseCapture( FALSE ); } + // Make sure that temporary(invalid) selection won't pass anywhere except pie tool. + MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0; + if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible()))) + { + LLMenuGL::sMenuContainer->hideMenus(); + LLSelectMgr::getInstance()->validateSelection(); + } + } BOOL LLToolGrab::handleDoubleClick(S32 x, S32 y, MASK mask) diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h index 5107716aab..4e22732124 100755 --- a/indra/newview/lltoolgrab.h +++ b/indra/newview/lltoolgrab.h @@ -119,6 +119,7 @@ private: BOOL mHasMoved; // has mouse moved off center at all? BOOL mOutsideSlop; // has mouse moved outside center 5 pixels? BOOL mDeselectedThisClick; + BOOL mValidSelection; S32 mLastFace; LLVector2 mLastUVCoords; diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 959301b546..8191958dd4 100755 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -1311,7 +1311,16 @@ void LLToolPie::handleDeselect() } // remove temporary selection for pie menu LLSelectMgr::getInstance()->setHoverObject(NULL); - LLSelectMgr::getInstance()->validateSelection(); + + // Menu may be still up during transfer to different tool. + // toolfocus and toolgrab should retain menu, they will clear it if needed + MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0; + if (!gMenuHolder->getVisible() || (override_mask & (MASK_ALT | MASK_CONTROL)) == 0) + { + // in most cases menu is useless without correct selection, so either keep both or discard both + gMenuHolder->hideMenus(); + LLSelectMgr::getInstance()->validateSelection(); + } } LLTool* LLToolPie::getOverrideTool(MASK mask) -- cgit v1.2.3 From d16e1b1b555e5b39456ec6b014f81ad663adc8d7 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg <monty@lindenlab.com> Date: Tue, 17 Jun 2014 13:18:50 -0400 Subject: Post-merge cleanup. In onCompleted() restore the unconditional use of setGetStatus() in case the baked texture service changes introduced some sort of hidden (and wrong) dependency. Left out the ridiculous duplicated invocation inside that failure status block. Someone damaged texture console again and apparently didn't even bother to look at their work. I'm sure they documented their changes on the public wiki as well. Unified the logging tag throughout lltexturefetch.cpp. Only way to get the cut-n- pasters to do the right thing. --- indra/newview/lltexturefetch.cpp | 327 ++++++++++++++++++++------------------- indra/newview/lltextureview.cpp | 4 +- 2 files changed, 167 insertions(+), 164 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index c5fa4463aa..548ed98f39 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -273,6 +273,9 @@ static const char* e_state_name[] = "DONE" }; +// Log scope +static const char * const LOG_TXT = "Texture"; + class LLTextureFetchWorker : public LLWorkerClass, public LLCore::HttpHandler { @@ -933,7 +936,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher, calcWorkPriority(); mType = host.isOk() ? LLImageBase::TYPE_AVATAR_BAKE : LLImageBase::TYPE_NORMAL; -// LL_INFOS() << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL; +// LL_INFOS(LOG_TXT) << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL; if (!mFetcher->mDebugPause) { U32 work_priority = mWorkPriority | LLWorkerThread::PRIORITY_HIGH; @@ -944,7 +947,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher, LLTextureFetchWorker::~LLTextureFetchWorker() { -// LL_INFOS() << "Destroy: " << mID +// LL_INFOS(LOG_TXT) << "Destroy: " << mID // << " Decoded=" << mDecodedDiscard // << " Requested=" << mRequestedDiscard // << " Desired=" << mDesiredDiscard << LL_ENDL; @@ -1008,7 +1011,7 @@ void LLTextureFetchWorker::setupPacketData() mFirstPacket = (data_size - FIRST_PACKET_SIZE) / MAX_IMG_PACKET_SIZE + 1; if (FIRST_PACKET_SIZE + (mFirstPacket-1) * MAX_IMG_PACKET_SIZE != data_size) { - LL_WARNS() << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL; + LL_WARNS(LOG_TXT) << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL; removeFromCache(); resetFormattedData(); clearPackets(); @@ -1131,14 +1134,14 @@ bool LLTextureFetchWorker::doWork(S32 param) { if (mState == INIT || mState == LOAD_FROM_NETWORK || mState == LOAD_FROM_SIMULATOR) { - LL_DEBUGS("Texture") << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL; return true; // abort } } if(mState > CACHE_POST && !mCanUseNET && !mCanUseHTTP) { //nowhere to get data, abort. - LL_WARNS("Texture") << mID << " abort, nowhere to get data" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " abort, nowhere to get data" << LL_ENDL; return true ; } @@ -1184,8 +1187,8 @@ bool LLTextureFetchWorker::doWork(S32 param) setState(LOAD_FROM_TEXTURE_CACHE); mInCache = FALSE; mDesiredSize = llmax(mDesiredSize, TEXTURE_CACHE_ENTRY_SIZE); // min desired size is TEXTURE_CACHE_ENTRY_SIZE - LL_DEBUGS("Texture") << mID << ": Priority: " << llformat("%8.0f",mImagePriority) - << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Priority: " << llformat("%8.0f",mImagePriority) + << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; // fall through } @@ -1253,7 +1256,7 @@ bool LLTextureFetchWorker::doWork(S32 param) // //This should never happen // - LL_DEBUGS("Texture") << mID << " this should never happen" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " this should never happen" << LL_ENDL; return false; } } @@ -1274,15 +1277,15 @@ bool LLTextureFetchWorker::doWork(S32 param) mLoadedDiscard = mDesiredDiscard; if (mLoadedDiscard < 0) { - LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard + << ", should be >=0" << LL_ENDL; } setState(DECODE_IMAGE); mInCache = TRUE; mWriteToCacheState = NOT_WRITE ; - LL_DEBUGS("Texture") << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize() - << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight()) - << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize() + << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight()) + << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1)); } else @@ -1290,13 +1293,13 @@ bool LLTextureFetchWorker::doWork(S32 param) if (mUrl.compare(0, 7, "file://") == 0) { // failed to load local file, we're done. - LL_WARNS("Texture") << mID << ": abort, failed to load local file " << mUrl << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << ": abort, failed to load local file " << mUrl << LL_ENDL; return true; } // need more data else { - LL_DEBUGS("Texture") << mID << ": Not in Cache" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Not in Cache" << LL_ENDL; setState(LOAD_FROM_NETWORK); } @@ -1313,11 +1316,11 @@ bool LLTextureFetchWorker::doWork(S32 param) { if (wait_seconds <= 0.0) { - LL_INFOS() << mID << " retrying now" << LL_ENDL; + LL_INFOS(LOG_TXT) << mID << " retrying now" << LL_ENDL; } else { - //LL_INFOS() << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL; + //LL_INFOS(LOG_TXT) << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL; return false; } } @@ -1340,7 +1343,7 @@ bool LLTextureFetchWorker::doWork(S32 param) { if (mFTType != FTT_DEFAULT) { - LL_WARNS() << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL; + LL_WARNS(LOG_TXT) << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL; } setUrl(http_url + "/?texture_id=" + mID.asString().c_str()); mWriteToCacheState = CAN_WRITE ; //because this texture has a fixed texture id. @@ -1353,7 +1356,7 @@ bool LLTextureFetchWorker::doWork(S32 param) else { // This will happen if not logged in or if a region deoes not have HTTP Texture enabled - //LL_WARNS() << "Region not found for host: " << mHost << LL_ENDL; + //LL_WARNS(LOG_TXT) << "Region not found for host: " << mHost << LL_ENDL; mCanUseHTTP = false; } } @@ -1407,20 +1410,20 @@ bool LLTextureFetchWorker::doWork(S32 param) } if (processSimulatorPackets()) { - LL_DEBUGS("Texture") << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL; mFetcher->removeFromNetworkQueue(this, false); if (mFormattedImage.isNull() || !mFormattedImage->getDataSize()) { // processSimulatorPackets() failed -// LL_WARNS() << "processSimulatorPackets() failed to load buffer" << LL_ENDL; - LL_WARNS("Texture") << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL; +// LL_WARNS(LOG_TXT) << "processSimulatorPackets() failed to load buffer" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL; return true; // failed } setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); if (mLoadedDiscard < 0) { - LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard + << ", should be >=0" << LL_ENDL; } setState(DECODE_IMAGE); mWriteToCacheState = SHOULD_WRITE; @@ -1470,7 +1473,7 @@ bool LLTextureFetchWorker::doWork(S32 param) if (! mCanUseHTTP) { releaseHttpSemaphore(); - LL_WARNS("Texture") << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL; return true; // abort } @@ -1489,8 +1492,8 @@ bool LLTextureFetchWorker::doWork(S32 param) setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); if (mLoadedDiscard < 0) { - LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard + << ", should be >=0" << LL_ENDL; } setState(DECODE_IMAGE); releaseHttpSemaphore(); @@ -1499,7 +1502,7 @@ bool LLTextureFetchWorker::doWork(S32 param) else { releaseHttpSemaphore(); - LL_WARNS("Texture") << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL; return true; // abort. } } @@ -1530,10 +1533,10 @@ bool LLTextureFetchWorker::doWork(S32 param) mLoaded = FALSE; mGetStatus = LLCore::HttpStatus(); mGetReason.clear(); - LL_DEBUGS("Texture") << "HTTP GET: " << mID << " Offset: " << mRequestedOffset - << " Bytes: " << mRequestedSize - << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth - << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "HTTP GET: " << mID << " Offset: " << mRequestedOffset + << " Bytes: " << mRequestedSize + << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth + << LL_ENDL; // Will call callbackHttpGet when curl request completes // Only server bake images use the returned headers currently, for getting retry-after field. @@ -1551,7 +1554,7 @@ bool LLTextureFetchWorker::doWork(S32 param) } if (LLCORE_HTTP_HANDLE_INVALID == mHttpHandle) { - LL_WARNS() << "HTTP GET request failed for " << mID << LL_ENDL; + LL_WARNS(LOG_TXT) << "HTTP GET request failed for " << mID << LL_ENDL; resetFormattedData(); releaseHttpSemaphore(); return true; // failed @@ -1579,7 +1582,7 @@ bool LLTextureFetchWorker::doWork(S32 param) { if (mFTType != FTT_MAP_TILE) { - LL_WARNS() << "Texture missing from server (404): " << mUrl << LL_ENDL; + LL_WARNS(LOG_TXT) << "Texture missing from server (404): " << mUrl << LL_ENDL; } if(mWriteToCacheState == NOT_WRITE) //map tiles or server bakes @@ -1588,7 +1591,7 @@ bool LLTextureFetchWorker::doWork(S32 param) releaseHttpSemaphore(); if (mFTType != FTT_MAP_TILE) { - LL_WARNS("Texture") << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL; } return true; } @@ -1606,11 +1609,11 @@ bool LLTextureFetchWorker::doWork(S32 param) } else if (http_service_unavail == mGetStatus) { - LL_INFOS_ONCE("Texture") << "Texture server busy (503): " << mUrl << LL_ENDL; - LL_INFOS() << "503: HTTP GET failed for: " << mUrl - << " Status: " << mGetStatus.toHex() - << " Reason: '" << mGetReason << "'" - << LL_ENDL; + LL_INFOS_ONCE(LOG_TXT) << "Texture server busy (503): " << mUrl << LL_ENDL; + LL_INFOS(LOG_TXT) << "503: HTTP GET failed for: " << mUrl + << " Status: " << mGetStatus.toHex() + << " Reason: '" << mGetReason << "'" + << LL_ENDL; } else if (http_not_sat == mGetStatus) { @@ -1619,10 +1622,10 @@ bool LLTextureFetchWorker::doWork(S32 param) } else { - LL_INFOS() << "HTTP GET failed for: " << mUrl - << " Status: " << mGetStatus.toTerseString() - << " Reason: '" << mGetReason << "'" - << LL_ENDL; + LL_INFOS(LOG_TXT) << "HTTP GET failed for: " << mUrl + << " Status: " << mGetStatus.toTerseString() + << " Reason: '" << mGetReason << "'" + << LL_ENDL; } if (mFTType != FTT_SERVER_BAKE) @@ -1636,8 +1639,8 @@ bool LLTextureFetchWorker::doWork(S32 param) setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); if (mLoadedDiscard < 0) { - LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard + << ", should be >=0" << LL_ENDL; } setState(DECODE_IMAGE); releaseHttpSemaphore(); @@ -1648,7 +1651,7 @@ bool LLTextureFetchWorker::doWork(S32 param) resetFormattedData(); setState(DONE); releaseHttpSemaphore(); - LL_WARNS("Texture") << mID << " abort: fail harder" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " abort: fail harder" << LL_ENDL; return true; // failed } @@ -1672,7 +1675,7 @@ bool LLTextureFetchWorker::doWork(S32 param) // abort. setState(DONE); - LL_WARNS("Texture") << mID << " abort: no data received" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " abort: no data received" << LL_ENDL; releaseHttpSemaphore(); return true; } @@ -1688,8 +1691,8 @@ bool LLTextureFetchWorker::doWork(S32 param) // Get back into alignment. if (mHttpReplyOffset > cur_size) { - LL_WARNS("Texture") << "Partial HTTP response produces break in image data for texture " - << mID << ". Aborting load." << LL_ENDL; + LL_WARNS(LOG_TXT) << "Partial HTTP response produces break in image data for texture " + << mID << ". Aborting load." << LL_ENDL; setState(DONE); releaseHttpSemaphore(); return true; @@ -1740,8 +1743,8 @@ bool LLTextureFetchWorker::doWork(S32 param) mLoadedDiscard = mRequestedDiscard; if (mLoadedDiscard < 0) { - LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard - << ", should be >=0" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard + << ", should be >=0" << LL_ENDL; } setState(DECODE_IMAGE); if (mWriteToCacheState != NOT_WRITE) @@ -1782,26 +1785,26 @@ bool LLTextureFetchWorker::doWork(S32 param) { // We aborted, don't decode setState(DONE); - LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL; return true; } if (mFormattedImage->getDataSize() <= 0) { - LL_WARNS() << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL; + LL_WARNS(LOG_TXT) << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL; //abort, don't decode setState(DONE); - LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL; return true; } if (mLoadedDiscard < 0) { - LL_WARNS() << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL; + LL_WARNS(LOG_TXT) << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL; //abort, don't decode setState(DONE); - LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL; return true; } @@ -1812,8 +1815,8 @@ bool LLTextureFetchWorker::doWork(S32 param) U32 image_priority = LLWorkerThread::PRIORITY_NORMAL | mWorkPriority; mDecoded = FALSE; setState(DECODE_IMAGE_UPDATE); - LL_DEBUGS("Texture") << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard - << " All Data: " << mHaveAllData << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard + << " All Data: " << mHaveAllData << LL_ENDL; mDecodeHandle = mFetcher->mImageDecodeThread->decodeImage(mFormattedImage, image_priority, discard, mNeedsAux, new DecodeResponder(mFetcher, mID, this)); // fall though @@ -1830,11 +1833,11 @@ bool LLTextureFetchWorker::doWork(S32 param) if (mDecodedDiscard < 0) { - LL_DEBUGS("Texture") << mID << ": Failed to Decode." << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Failed to Decode." << LL_ENDL; if (mCachedSize > 0 && !mInLocalCache && mRetryAttempt == 0) { // Cache file should be deleted, try again - LL_WARNS() << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL; llassert_always(mDecodeHandle == 0); mFormattedImage = NULL; ++mRetryAttempt; @@ -1844,15 +1847,15 @@ bool LLTextureFetchWorker::doWork(S32 param) } else { -// LL_WARNS() << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL; +// LL_WARNS(LOG_TXT) << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL; setState(DONE); // failed } } else { llassert_always(mRawImage.notNull()); - LL_DEBUGS("Texture") << mID << ": Decoded. Discard: " << mDecodedDiscard - << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Decoded. Discard: " << mDecodedDiscard + << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL; setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); setState(WRITE_TO_CACHE); } @@ -1924,9 +1927,9 @@ bool LLTextureFetchWorker::doWork(S32 param) { // More data was requested, return to INIT setState(INIT); - LL_DEBUGS("Texture") << mID << " more data requested, returning to INIT: " - << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard - << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << " more data requested, returning to INIT: " + << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard + << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL; setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); return false; } @@ -1966,8 +1969,8 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe F32 rate = fake_failure_rate; if (mFTType == FTT_SERVER_BAKE && (fake_failure_rate > 0.0) && (rand_val < fake_failure_rate)) { - LL_WARNS() << mID << " for debugging, setting fake failure status for texture " << mID - << " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL; + LL_WARNS(LOG_TXT) << mID << " for debugging, setting fake failure status for texture " << mID + << " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL; response->setStatus(LLCore::HttpStatus(503)); } bool success = true; @@ -1975,12 +1978,12 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe LLCore::HttpStatus status(response->getStatus()); if (!status && (mFTType == FTT_SERVER_BAKE)) { - LL_INFOS() << mID << " state " << e_state_name[mState] << LL_ENDL; + LL_INFOS(LOG_TXT) << mID << " state " << e_state_name[mState] << LL_ENDL; mFetchRetryPolicy.onFailure(response); F32 retry_after; if (mFetchRetryPolicy.shouldRetry(retry_after)) { - LL_INFOS() << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL; + LL_INFOS(LOG_TXT) << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL; mFetcher->removeFromHTTPQueue(mID, S32Bytes(0)); std::string reason(status.toString()); setGetStatus(status, reason); @@ -1990,7 +1993,7 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe } else { - LL_INFOS() << mID << " will not retry" << LL_ENDL; + LL_INFOS(LOG_TXT) << mID << " will not retry" << LL_ENDL; } } else @@ -1998,20 +2001,20 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe mFetchRetryPolicy.onSuccess(); } - LL_DEBUGS("Texture") << "HTTP COMPLETE: " << mID - << " status: " << status.toTerseString() - << " '" << status.toString() << "'" - << LL_ENDL; + std::string reason(status.toString()); + setGetStatus(status, reason); + LL_DEBUGS(LOG_TXT) << "HTTP COMPLETE: " << mID + << " status: " << status.toTerseString() + << " '" << reason << "'" + << LL_ENDL; if (! status) { success = false; - std::string reason(status.toString()); - setGetStatus(status, reason); if (mFTType != FTT_MAP_TILE) // missing map tiles are normal, don't complain about them. { - LL_WARNS() << "CURL GET FAILED, status: " << status.toTerseString() - << " reason: " << reason << LL_ENDL; + LL_WARNS(LOG_TXT) << "CURL GET FAILED, status: " << status.toTerseString() + << " reason: " << reason << LL_ENDL; } } else @@ -2222,13 +2225,13 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response, if (mState != WAIT_HTTP_REQ) { - LL_WARNS() << "callbackHttpGet for unrequested fetch worker: " << mID - << " req=" << mSentRequest << " state= " << mState << LL_ENDL; + LL_WARNS(LOG_TXT) << "callbackHttpGet for unrequested fetch worker: " << mID + << " req=" << mSentRequest << " state= " << mState << LL_ENDL; return data_size; } if (mLoaded) { - LL_WARNS() << "Duplicate callback for " << mID.asString() << LL_ENDL; + LL_WARNS(LOG_TXT) << "Duplicate callback for " << mID.asString() << LL_ENDL; return data_size ; // ignore duplicate callback } if (success) @@ -2237,7 +2240,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response, LLCore::BufferArray * body(response->getBody()); data_size = body ? body->size() : 0; - LL_DEBUGS("Texture") << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL; if (data_size > 0) { LLViewerStatsRecorder::instance().textureFetch(data_size); @@ -2277,10 +2280,10 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response, // response body becomes the entire dataset. if (data_size <= mRequestedOffset) { - LL_WARNS("Texture") << "Fetched entire texture " << mID - << " when it was expected to be marked complete. mImageSize: " - << mFileSize << " datasize: " << mFormattedImage->getDataSize() - << LL_ENDL; + LL_WARNS(LOG_TXT) << "Fetched entire texture " << mID + << " when it was expected to be marked complete. mImageSize: " + << mFileSize << " datasize: " << mFormattedImage->getDataSize() + << LL_ENDL; } mHaveAllData = TRUE; llassert_always(mDecodeHandle == 0); @@ -2293,7 +2296,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response, else if (data_size > mRequestedSize) { // *TODO: This shouldn't be happening any more (REALLY don't expect this anymore) - LL_WARNS() << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL; + LL_WARNS(LOG_TXT) << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL; mHaveAllData = TRUE; llassert_always(mDecodeHandle == 0); mFormattedImage = NULL; // discard any previous data we had @@ -2328,7 +2331,7 @@ void LLTextureFetchWorker::callbackCacheRead(bool success, LLImageFormatted* ima LLMutexLock lock(&mWorkMutex); // +Mw if (mState != LOAD_FROM_TEXTURE_CACHE) { -// LL_WARNS() << "Read callback for " << mID << " with state = " << mState << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Read callback for " << mID << " with state = " << mState << LL_ENDL; return; } if (success) @@ -2353,7 +2356,7 @@ void LLTextureFetchWorker::callbackCacheWrite(bool success) LLMutexLock lock(&mWorkMutex); // +Mw if (mState != WAIT_ON_WRITE) { -// LL_WARNS() << "Write callback for " << mID << " with state = " << mState << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Write callback for " << mID << " with state = " << mState << LL_ENDL; return; } mWritten = TRUE; @@ -2372,7 +2375,7 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag } if (mState != DECODE_IMAGE_UPDATE) { -// LL_WARNS() << "Decode callback for " << mID << " with state = " << mState << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Decode callback for " << mID << " with state = " << mState << LL_ENDL; mDecodeHandle = 0; return; } @@ -2385,17 +2388,17 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag mRawImage = raw; mAuxImage = aux; mDecodedDiscard = mFormattedImage->getDiscardLevel(); - LL_DEBUGS("Texture") << mID << ": Decode Finished. Discard: " << mDecodedDiscard - << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL; + LL_DEBUGS(LOG_TXT) << mID << ": Decode Finished. Discard: " << mDecodedDiscard + << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL; } else { - LL_WARNS() << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL; + LL_WARNS(LOG_TXT) << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL; removeFromCache(); mDecodedDiscard = -1; // Redundant, here for clarity and paranoia } mDecoded = TRUE; -// LL_INFOS() << mID << " : DECODE COMPLETE " << LL_ENDL; +// LL_INFOS(LOG_TXT) << mID << " : DECODE COMPLETE " << LL_ENDL; setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); mCacheReadTime = mCacheReadTimer.getElapsedTimeF32(); } // -Mw @@ -2582,8 +2585,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const { if (worker->mHost != host) { - LL_WARNS() << "LLTextureFetch::createRequest " << id << " called with multiple hosts: " - << host << " != " << worker->mHost << LL_ENDL; + LL_WARNS(LOG_TXT) << "LLTextureFetch::createRequest " << id << " called with multiple hosts: " + << host << " != " << worker->mHost << LL_ENDL; removeRequest(worker, true); worker = NULL; return false; @@ -2599,13 +2602,13 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const llassert(!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C)); // Do full requests for baked textures to reduce interim blurring. - LL_DEBUGS("Texture") << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL; desired_size = MAX_IMAGE_DATA_SIZE; desired_discard = 0; } else if (!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C)) { - LL_DEBUGS("Texture") << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL; // Only do partial requests for J2C at the moment desired_size = MAX_IMAGE_DATA_SIZE; desired_discard = 0; @@ -2673,8 +2676,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const worker->unlockWorkMutex(); // -Mw } - LL_DEBUGS("Texture") << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type) - << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type) + << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL; return true; } @@ -2869,7 +2872,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level, // Should only happen if we set mDebugPause... if (!mDebugPause) { -// LL_WARNS() << "Adding work for inactive worker: " << id << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Adding work for inactive worker: " << id << LL_ENDL; worker->addWork(0, LLWorkerThread::PRIORITY_HIGH | worker->mWorkPriority); } } @@ -2886,7 +2889,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level, record(sCacheReadLatency, cache_read_time); } res = true; - LL_DEBUGS("Texture") << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL; + LL_DEBUGS(LOG_TXT) << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL; worker->unlockWorkMutex(); // -Mw } else @@ -2991,9 +2994,9 @@ void LLTextureFetch::commonUpdate() LLCore::HttpStatus status = mHttpRequest->update(0); if (! status) { - LL_INFOS_ONCE("Texture") << "Problem during HTTP servicing. Reason: " - << status.toString() - << LL_ENDL; + LL_INFOS_ONCE(LOG_TXT) << "Problem during HTTP servicing. Reason: " + << status.toString() + << LL_ENDL; } } @@ -3073,11 +3076,11 @@ void LLTextureFetch::startThread() // Threads: Ttf void LLTextureFetch::endThread() { - LL_INFOS("Texture") << "CacheReads: " << mTotalCacheReadCount - << ", CacheWrites: " << mTotalCacheWriteCount - << ", ResWaits: " << mTotalResourceWaitCount - << ", TotalHTTPReq: " << getTotalNumHTTPRequests() - << LL_ENDL; + LL_INFOS(LOG_TXT) << "CacheReads: " << mTotalCacheReadCount + << ", CacheWrites: " << mTotalCacheWriteCount + << ", ResWaits: " << mTotalResourceWaitCount + << ", TotalHTTPReq: " << getTotalNumHTTPRequests() + << LL_ENDL; } // Threads: Ttf @@ -3106,7 +3109,7 @@ void LLTextureFetch::threadedUpdate() S32 q = mCurlGetRequest->getQueued(); if (q > 0) { - LL_INFOS() << "Queued gets: " << q << LL_ENDL; + LL_INFOS(LOG_TXT) << "Queued gets: " << q << LL_ENDL; info_timer.reset(); } } @@ -3155,7 +3158,7 @@ void LLTextureFetch::sendRequestListToSimulators() (req->mState != LLTextureFetchWorker::LOAD_FROM_SIMULATOR)) { // We already received our URL, remove from the queue - LL_WARNS() << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL; + LL_WARNS(LOG_TXT) << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL; mNetworkQueue.erase(curiter); continue; } @@ -3223,7 +3226,7 @@ void LLTextureFetch::sendRequestListToSimulators() gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, req->mImagePriority); gMessageSystem->addU32Fast(_PREHASH_Packet, packet); gMessageSystem->addU8Fast(_PREHASH_Type, req->mType); -// LL_INFOS() << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard +// LL_INFOS(LOG_TXT) << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard // << " Packet: " << packet << " Priority: " << req->mImagePriority << LL_ENDL; static LLCachedControl<bool> log_to_viewer_log(gSavedSettings,"LogTextureDownloadsToViewerLog", false); @@ -3245,7 +3248,7 @@ void LLTextureFetch::sendRequestListToSimulators() sim_request_count++; if (sim_request_count >= IMAGES_PER_REQUEST) { -// LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; +// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; gMessageSystem->sendSemiReliable(host, NULL, NULL); sim_request_count = 0; @@ -3254,7 +3257,7 @@ void LLTextureFetch::sendRequestListToSimulators() } if (gMessageSystem && sim_request_count > 0 && sim_request_count < IMAGES_PER_REQUEST) { -// LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; +// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL; gMessageSystem->sendSemiReliable(host, NULL, NULL); sim_request_count = 0; } @@ -3290,7 +3293,7 @@ void LLTextureFetch::sendRequestListToSimulators() gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, 0); gMessageSystem->addU32Fast(_PREHASH_Packet, 0); gMessageSystem->addU8Fast(_PREHASH_Type, 0); -// LL_INFOS() << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL; +// LL_INFOS(LOG_TXT) << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL; request_count++; if (request_count >= IMAGES_PER_REQUEST) @@ -3318,12 +3321,12 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size) mRequestedTimer.reset(); if (index >= mTotalPackets) { -// LL_WARNS() << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL; return false; } if (index > 0 && index < mTotalPackets-1 && size != MAX_IMG_PACKET_SIZE) { -// LL_WARNS() << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL; return false; } @@ -3333,7 +3336,7 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size) } else if (mPackets[index] != NULL) { -// LL_WARNS() << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL; return false; } @@ -3353,7 +3356,7 @@ void LLTextureFetchWorker::setState(e_state new_state) // blurry images fairly frequently. Presumably this is an // indication of some subtle timing or locking issue. -// LL_INFOS("Texture") << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL; +// LL_INFOS(LOG_TXT) << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL; } mState = new_state; } @@ -3369,13 +3372,13 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8 if (!worker) { -// LL_WARNS() << "Received header for non active worker: " << id << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received header for non active worker: " << id << LL_ENDL; res = false; } else if (worker->mState != LLTextureFetchWorker::LOAD_FROM_NETWORK || worker->mSentRequest != LLTextureFetchWorker::SENT_SIM) { -// LL_WARNS() << "receiveImageHeader for worker: " << id +// LL_WARNS(LOG_TXT) << "receiveImageHeader for worker: " << id // << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] // << " sent: " << worker->mSentRequest << LL_ENDL; res = false; @@ -3383,12 +3386,12 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8 else if (worker->mLastPacket != -1) { // check to see if we've gotten this packet before -// LL_WARNS() << "Received duplicate header for: " << id << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received duplicate header for: " << id << LL_ENDL; res = false; } else if (!data_size) { -// LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; res = false; } if (!res) @@ -3430,17 +3433,17 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1 if (!worker) { -// LL_WARNS() << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL; res = false; } else if (worker->mLastPacket == -1) { -// LL_WARNS() << "Received packet " << packet_num << " before header for: " << id << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " before header for: " << id << LL_ENDL; res = false; } else if (!data_size) { -// LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; +// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL; res = false; } if (!res) @@ -3468,7 +3471,7 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1 } else { -// LL_WARNS() << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id +// LL_WARNS(LOG_TXT) << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id // << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] << LL_ENDL; removeFromNetworkQueue(worker, true); // failsafe } @@ -3561,33 +3564,33 @@ S32 LLTextureFetch::getFetchState(const LLUUID& id, F32& data_progress_p, F32& r void LLTextureFetch::dump() { - LL_INFOS() << "LLTextureFetch REQUESTS:" << LL_ENDL; + LL_INFOS(LOG_TXT) << "LLTextureFetch REQUESTS:" << LL_ENDL; for (request_queue_t::iterator iter = mRequestQueue.begin(); iter != mRequestQueue.end(); ++iter) { LLQueuedThread::QueuedRequest* qreq = *iter; LLWorkerThread::WorkRequest* wreq = (LLWorkerThread::WorkRequest*)qreq; LLTextureFetchWorker* worker = (LLTextureFetchWorker*)wreq->getWorkerClass(); - LL_INFOS() << " ID: " << worker->mID - << " PRI: " << llformat("0x%08x",wreq->getPriority()) - << " STATE: " << worker->sStateDescs[worker->mState] - << LL_ENDL; + LL_INFOS(LOG_TXT) << " ID: " << worker->mID + << " PRI: " << llformat("0x%08x",wreq->getPriority()) + << " STATE: " << worker->sStateDescs[worker->mState] + << LL_ENDL; } - LL_INFOS() << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL; + LL_INFOS(LOG_TXT) << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL; for (queue_t::const_iterator iter(mHTTPTextureQueue.begin()); mHTTPTextureQueue.end() != iter; ++iter) { - LL_INFOS() << " ID: " << (*iter) << LL_ENDL; + LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL; } - LL_INFOS() << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL; + LL_INFOS(LOG_TXT) << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL; for (wait_http_res_queue_t::const_iterator iter(mHttpWaitResource.begin()); mHttpWaitResource.end() != iter; ++iter) { - LL_INFOS() << " ID: " << (*iter) << LL_ENDL; + LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL; } } @@ -3712,10 +3715,10 @@ void LLTextureFetch::releaseHttpWaiters() { // Not in expected state, remove it, try the next one worker->unlockWorkMutex(); // -Mw - LL_WARNS("Texture") << "Resource-waited texture " << worker->mID - << " in unexpected state: " << worker->mState - << ". Removing from wait list." - << LL_ENDL; + LL_WARNS(LOG_TXT) << "Resource-waited texture " << worker->mID + << " in unexpected state: " << worker->mState + << ". Removing from wait list." + << LL_ENDL; removeHttpWaiter(worker->mID); continue; } @@ -3882,14 +3885,14 @@ public: if (status) { - LL_DEBUGS("Texture") << "Successfully delivered asset metrics to grid." - << LL_ENDL; + LL_DEBUGS(LOG_TXT) << "Successfully delivered asset metrics to grid." + << LL_ENDL; } else { - LL_WARNS("Texture") << "Error delivering asset metrics to grid. Status: " - << status.toTerseString() - << ", Reason: " << status.toString() << LL_ENDL; + LL_WARNS(LOG_TXT) << "Error delivering asset metrics to grid. Status: " + << status.toTerseString() + << ", Reason: " << status.toString() << LL_ENDL; } } }; // end class AssetReportHandler @@ -4500,14 +4503,14 @@ void LLTextureFetchDebugger::debugHTTP() LLViewerRegion* region = gAgent.getRegion(); if (!region) { - LL_INFOS() << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL; + LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL; return; } mHTTPUrl = region->getHttpUrl(); if (mHTTPUrl.empty()) { - LL_INFOS() << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL; + LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL; return; } @@ -4578,15 +4581,15 @@ S32 LLTextureFetchDebugger::fillCurlQueue() // Failed to queue request, log it and mark it done. LLCore::HttpStatus status(mFetcher->getHttpRequest().getStatus()); - LL_WARNS("Texture") << "Couldn't issue HTTP request in debugger for texture " - << mFetchingHistory[i].mID - << ", status: " << status.toTerseString() - << " reason: " << status.toString() - << LL_ENDL; + LL_WARNS(LOG_TXT) << "Couldn't issue HTTP request in debugger for texture " + << mFetchingHistory[i].mID + << ", status: " << status.toTerseString() + << " reason: " << status.toString() + << LL_ENDL; mFetchingHistory[i].mCurlState = FetchEntry::CURL_DONE; } } - //LL_INFOS() << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL; + //LL_INFOS(LOG_TXT) << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL; return mNbCurlRequests; } @@ -4888,7 +4891,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http handle_fetch_map_t::iterator iter(mHandleToFetchIndex.find(handle)); if (mHandleToFetchIndex.end() == iter) { - LL_INFOS() << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL; + LL_INFOS(LOG_TXT) << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL; return; } @@ -4896,7 +4899,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http mHandleToFetchIndex.erase(iter); if (fetch_ind >= mFetchingHistory.size() || mFetchingHistory[fetch_ind].mHttpHandle != handle) { - LL_INFOS() << "Fetch Debugger : Handle and fetch object in disagreement. Punting." << LL_ENDL; + LL_INFOS(LOG_TXT) << "Fetch Debugger : Handle and fetch object in disagreement. Punting." << LL_ENDL; } else { @@ -4946,7 +4949,7 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon S32 data_size = ba ? ba->size() : 0; fetch.mCurlReceivedSize += data_size; - //LL_INFOS() << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL; + //LL_INFOS(LOG_TXT) << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL; if ((fetch.mCurlReceivedSize >= fetch.mRequestedSize) || !partial || (fetch.mRequestedSize == 600)) { U8* d_buffer = (U8*)ALLOCATE_MEM(LLImageBase::getPrivatePool(), data_size); @@ -4972,9 +4975,9 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon } else //failed { - LL_INFOS() << "Fetch Debugger : CURL GET FAILED, ID = " << fetch.mID - << ", status: " << status.toTerseString() - << " reason: " << status.toString() << LL_ENDL; + LL_INFOS(LOG_TXT) << "Fetch Debugger : CURL GET FAILED, ID = " << fetch.mID + << ", status: " << status.toTerseString() + << " reason: " << status.toString() << LL_ENDL; } } diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index aa1f680a1e..4f0413a2e4 100755 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -563,7 +563,7 @@ void LLGLTexMemBar::draw() //---------------------------------------------------------------------------- - text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d", + text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d ", gTextureList.getNumImages(), LLAppViewer::getTextureFetch()->getNumRequests(), LLAppViewer::getTextureFetch()->getNumDeletes(), LLAppViewer::getTextureFetch()->mPacketCount, LLAppViewer::getTextureFetch()->mBadPacketCount, @@ -585,7 +585,7 @@ void LLGLTexMemBar::draw() color = bandwidth > max_bandwidth ? LLColor4::red : bandwidth > max_bandwidth*.75f ? LLColor4::yellow : text_color; color[VALPHA] = text_color[VALPHA]; text = llformat("BW:%.0f/%.0f",bandwidth.value(), max_bandwidth.value()); - LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*2, + LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*3, color, LLFontGL::LEFT, LLFontGL::TOP); // Mesh status line -- cgit v1.2.3 From 24ebc86b4132284113de57b979ded76ce47dce1c Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 19 Jun 2014 12:07:14 +0300 Subject: MAINT-4157 FIXED Lag meter tool tips are missing units --- indra/newview/llstatusbar.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 047538a32a..eedb829b48 100755 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -200,6 +200,7 @@ BOOL LLStatusBar::postBuild() sgp.stat.count_stat_float(&LLStatViewer::ACTIVE_MESSAGE_DATA_RECEIVED); sgp.units("Kbps"); sgp.precision(0); + sgp.per_sec(true); mSGBandwidth = LLUICtrlFactory::create<LLStatGraph>(sgp); addChild(mSGBandwidth); x -= SIM_STAT_WIDTH + 2; -- cgit v1.2.3 From 4a7d60aaea1cf2d8f175622cbfaecf63140387d3 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 20 Jun 2014 11:09:31 +0300 Subject: MAINT-1192 FIXED Empty folders remain in the recent items tab of inventory until relog --- indra/newview/llpanelmaininventory.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 90dfb24377..2378e09979 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -183,6 +183,13 @@ BOOL LLPanelMainInventory::postBuild() } + if (recent_items_panel) + { + U64 types = recent_items_panel->getFilter().getFilterObjectTypes(); + types &= ~(0x1 << LLInventoryType::IT_CATEGORY); + recent_items_panel->getFilter().setFilterObjectTypes(types); + } + mFilterEditor = getChild<LLFilterEditor>("inventory search editor"); if (mFilterEditor) { -- cgit v1.2.3 From e5b930c92a4ece0ca6c830c21b4b321833d9239f Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 23 Jun 2014 11:02:51 +0300 Subject: MAINT-3301 FIXED Use separate xml files (saved as open_notifications_<grid>.xml) for each grid. --- indra/newview/llnotificationstorage.cpp | 24 ++++++++++++++++++----- indra/newview/llnotificationstorage.h | 4 +++- indra/newview/llpersistentnotificationstorage.cpp | 7 +++++-- 3 files changed, 27 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp index 2923221c90..e9970de58c 100755 --- a/indra/newview/llnotificationstorage.cpp +++ b/indra/newview/llnotificationstorage.cpp @@ -103,19 +103,21 @@ bool LLNotificationStorage::writeNotifications(const LLSD& pNotificationData) co return didFileOpen; } -bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const +bool LLNotificationStorage::readNotifications(LLSD& pNotificationData, bool is_new_filename) const { - LL_INFOS("LLNotificationStorage") << "starting read '" << mFileName << "'" << LL_ENDL; + std::string filename = is_new_filename? mFileName : mOldFileName; + + LL_INFOS("LLNotificationStorage") << "starting read '" << filename << "'" << LL_ENDL; bool didFileRead; pNotificationData.clear(); - llifstream notifyFile(mFileName.c_str()); + llifstream notifyFile(filename.c_str()); didFileRead = notifyFile.is_open(); if (!didFileRead) { - LL_WARNS("LLNotificationStorage") << "Failed to open file '" << mFileName << "'" << LL_ENDL; + LL_WARNS("LLNotificationStorage") << "Failed to open file '" << filename << "'" << LL_ENDL; } else { @@ -128,7 +130,19 @@ bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const } } - LL_INFOS("LLNotificationStorage") << "ending read '" << mFileName << "'" << LL_ENDL; + LL_INFOS("LLNotificationStorage") << "ending read '" << filename << "'" << LL_ENDL; + if (!didFileRead) + { + if(is_new_filename) + { + didFileRead = readNotifications(pNotificationData, false); + if(didFileRead) + { + writeNotifications(pNotificationData); + LLFile::remove(mOldFileName); + } + } + } return didFileRead; } diff --git a/indra/newview/llnotificationstorage.h b/indra/newview/llnotificationstorage.h index 53fd898ea4..21d7123747 100755 --- a/indra/newview/llnotificationstorage.h +++ b/indra/newview/llnotificationstorage.h @@ -43,13 +43,15 @@ public: protected: bool writeNotifications(const LLSD& pNotificationData) const; - bool readNotifications(LLSD& pNotificationData) const; + bool readNotifications(LLSD& pNotificationData, bool is_new_filename = true) const; void setFileName(std::string pFileName) {mFileName = pFileName;} + void setOldFileName(std::string pFileName) {mOldFileName = pFileName;} LLNotificationResponderInterface* createResponder(const std::string& pNotificationName, const LLSD& pParams) const; private: std::string mFileName; + std::string mOldFileName; }; #endif // LL_NOTIFICATIONSTORAGE_H diff --git a/indra/newview/llpersistentnotificationstorage.cpp b/indra/newview/llpersistentnotificationstorage.cpp index 8658921dc4..9e4f50b7a7 100755 --- a/indra/newview/llpersistentnotificationstorage.cpp +++ b/indra/newview/llpersistentnotificationstorage.cpp @@ -35,7 +35,7 @@ #include "llscreenchannel.h" #include "llscriptfloater.h" #include "llviewermessage.h" - +#include "llviewernetwork.h" LLPersistentNotificationStorage::LLPersistentNotificationStorage() : LLSingleton<LLPersistentNotificationStorage>() , LLNotificationStorage("") @@ -158,7 +158,10 @@ void LLPersistentNotificationStorage::loadNotifications() void LLPersistentNotificationStorage::initialize() { - setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml")); + std::string file_name = "open_notifications_" + LLGridManager::getInstance()->getGrid() + ".xml"; + setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, file_name)); + setOldFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml")); + LLNotifications::instance().getChannel("Persistent")-> connectChanged(boost::bind(&LLPersistentNotificationStorage::onPersistentChannelChanged, this, _1)); } -- cgit v1.2.3 From a23ec5ffa84c1122af3cbb416363a0eb564ad65c Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine <andreylproductengine@lindenlab.com> Date: Mon, 23 Jun 2014 23:16:36 +0300 Subject: MAINT-4127: New default mode when clicking links: Linden links open in viewer, third-party links open in user's browser --- indra/newview/app_settings/settings.xml | 13 ++++++- indra/newview/llviewermenu.cpp | 4 +- indra/newview/llweb.cpp | 21 ++++++++++- indra/newview/llweb.h | 8 ++++ .../default/xui/en/panel_preferences_setup.xml | 44 +++++++++++++++++++++- 5 files changed, 85 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2e49357d6f..b92751c448 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13256,7 +13256,7 @@ <key>Value</key> <string>Default</string> </map> - <key>UseExternalBrowser</key> + <key>UseExternalBrowser</key> <!-- deprecated (see MAINT-4127) --> <map> <key>Comment</key> <string>Use default browser when opening web pages instead of in-world browser.</string> @@ -13267,6 +13267,17 @@ <key>Value</key> <boolean>1</boolean> </map> + <key>PreferredBrowserBehavior</key> + <map> + <key>Comment</key> + <string>Use system browser for any links (0), use builtin browser for SL links and system one for others (1) or use builtin browser only (2).</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>1</integer> + </map> <key>UseFreezeFrame</key> <map> <key>Comment</key> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 8b9b9ed172..01e6c8a5d0 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6196,7 +6196,7 @@ class LLPromptShowURL : public view_listener_t std::string alert = param.substr(0, offset); std::string url = param.substr(offset+1); - if(gSavedSettings.getBOOL("UseExternalBrowser")) + if (LLWeb::useExternalBrowser(url)) { LLSD payload; payload["url"] = url; @@ -7816,7 +7816,7 @@ void handle_web_content_test(const LLSD& param) void handle_show_url(const LLSD& param) { std::string url = param.asString(); - if(gSavedSettings.getBOOL("UseExternalBrowser")) + if (LLWeb::useExternalBrowser(url)) { LLWeb::loadURLExternal(url); } diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 665671a38f..0312972a22 100755 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -50,6 +50,8 @@ #include "llviewerwindow.h" #include "llnotificationsutil.h" +#include <boost/regex.hpp> + bool on_load_url_external_response(const LLSD& notification, const LLSD& response, bool async ); @@ -87,7 +89,8 @@ void LLWeb::loadURL(const std::string& url, const std::string& target, const std // Force load in the internal browser, as if with a blank target. loadURLInternal(url, "", uuid); } - else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external")) + + else if (useExternalBrowser(url) || (target == "_external")) { loadURLExternal(url); } @@ -225,3 +228,19 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url, return LLWeb::escapeURL(expanded_url); } + +//static +bool LLWeb::useExternalBrowser(const std::string &url) +{ + if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_EXTERNAL_ONLY) + { + return true; + } + else if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_INT_LL_EXT_OTHERS) + { + boost::regex pattern = boost::regex("\\b(lindenlab.com|secondlife.com)\\b", boost::regex::perl|boost::regex::icase); + boost::match_results<std::string::const_iterator> matches; + return !(boost::regex_search(url, matches, pattern)); + } + return false; +} diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h index 0b95f664d6..7c90badbfe 100755 --- a/indra/newview/llweb.h +++ b/indra/newview/llweb.h @@ -40,6 +40,13 @@ class LLWeb { public: + enum PreferredBrowser + { + BROWSER_EXTERNAL_ONLY = 0, + BROWSER_INT_LL_EXT_OTHERS = 1, + BROWSER_INTERNAL_ONLY = 2 + }; + static void initClass(); /// Load the given url in the operating system's web browser, async if we want to return immediately @@ -57,6 +64,7 @@ public: /// Expands various strings like [LANG], [VERSION], etc. in a URL static std::string expandURLSubstitutions(const std::string &url, const LLSD &default_subs); + static bool useExternalBrowser(const std::string &url); }; #endif diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index dd4533ae74..1e9a1aa27c 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -106,7 +106,7 @@ width="300"> Web: </text> - <radio_group + <!-- <radio_group control_name="UseExternalBrowser" draw_border="false" follows="top|left" @@ -136,6 +136,48 @@ tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]." top_delta="20" width="480" /> + </radio_group> --> + + <radio_group + control_name="PreferredBrowserBehavior" + draw_border="false" + follows="left|top" + height="60" + layout="topleft" + left_delta="50" + name="preferred_browser_behavior" + top_pad="0" + width="480"> + <radio_item + height="20" + label="Use my browser (Chrome, Firefox, IE) for all links" + layout="topleft" + left="0" + name="internal" + value="0" + tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen." + top="0" + width="480" /> + <radio_item + height="20" + label="Use built-in browser for Second Life links only" + layout="topleft" + left_delta="0" + name="external" + value="1" + tool_tip="Use the default system web browser for help, web links, etc. Builtin browser will be used only for LindenLab/SecondLife links." + top_delta="20" + width="480" /> + <radio_item + height="20" + label="Use built-in browser for all links" + layout="topleft" + left="0" + name="internal" + value="2" + tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]." + top_delta="20" + width="480" /> </radio_group> <check_box -- cgit v1.2.3 From 190f66ab78e6a2df15e91e80d9863dcc8f030a2c Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 24 Jun 2014 11:37:55 +0300 Subject: MAINT-875 FIXED Display notification if user is not allowed to terraform hovered parcel. --- indra/newview/lltoolbrush.cpp | 57 +++++++++++++++++++--- indra/newview/lltoolbrush.h | 8 ++- indra/newview/llviewerparcelmgr.cpp | 6 --- .../newview/skins/default/xui/en/notifications.xml | 8 +++ 4 files changed, 64 insertions(+), 15 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp index 56f0f8be25..e3eb8ba7af 100755 --- a/indra/newview/lltoolbrush.cpp +++ b/indra/newview/lltoolbrush.cpp @@ -52,7 +52,7 @@ #include "llworld.h" #include "llappviewer.h" #include "llparcel.h" - +#include "roles_constants.h" #include "llglheaders.h" const std::string REGION_BLOCKS_TERRAFORM_MSG = "This region does not allow terraforming.\n" @@ -239,9 +239,9 @@ void LLToolBrushLand::modifyLandInSelectionGlobal() iter != mLastAffectedRegions.end(); ++iter) { LLViewerRegion* regionp = *iter; - if (!canTerraform(regionp)) + if (!canTerraformRegion(regionp)) { - alertNoTerraform(regionp); + alertNoTerraformRegion(regionp); return; } } @@ -376,12 +376,17 @@ BOOL LLToolBrushLand::handleMouseDown(S32 x, S32 y, MASK mask) LLRegionPosition region_position( spot ); LLViewerRegion* regionp = region_position.getRegion(); - if (!canTerraform(regionp)) + if (!canTerraformRegion(regionp)) { - alertNoTerraform(regionp); + alertNoTerraformRegion(regionp); return TRUE; } + if (!canTerraformParcel(regionp)) + { + alertNoTerraformParcel(); + } + LLVector3 pos_region = region_position.getPositionRegion(); U32 grids = regionp->getLand().mGridsPerEdge; S32 i = llclamp( (S32)pos_region.mV[VX], 0, (S32)grids ); @@ -408,6 +413,16 @@ BOOL LLToolBrushLand::handleHover( S32 x, S32 y, MASK mask ) mMouseY = y; mGotHover = TRUE; gViewerWindow->setCursor(UI_CURSOR_TOOLLAND); + + LLVector3d spot; + if( gViewerWindow->mousePointOnLandGlobal( mMouseX, mMouseY, &spot ) ) + { + + spot.mdV[VX] = floor( spot.mdV[VX] + 0.5 ); + spot.mdV[VY] = floor( spot.mdV[VY] + 0.5 ); + + LLViewerParcelMgr::getInstance()->setHoverParcel(spot); + } return TRUE; } @@ -653,7 +668,7 @@ void LLToolBrushLand::redo() }*/ // static -bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const +bool LLToolBrushLand::canTerraformRegion(LLViewerRegion* regionp) const { if (!regionp) return false; if (regionp->canManageEstate()) return true; @@ -661,7 +676,22 @@ bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const } // static -void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp) +bool LLToolBrushLand::canTerraformParcel(LLViewerRegion* regionp) const +{ + LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel(); + bool is_terraform_allowed = false; + if (selected_parcel) + { + BOOL owner_release = LLViewerParcelMgr::isParcelOwnedByAgent(selected_parcel, GP_LAND_ALLOW_EDIT_LAND); + is_terraform_allowed = ( gAgent.canManageEstate() || (selected_parcel->getOwnerID() == regionp->getOwner()) || owner_release); + } + + return is_terraform_allowed; +} + + +// static +void LLToolBrushLand::alertNoTerraformRegion(LLViewerRegion* regionp) { if (!regionp) return; @@ -671,6 +701,19 @@ void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp) } +// static +void LLToolBrushLand::alertNoTerraformParcel() +{ + LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel(); + if (selected_parcel) + { + LLSD args; + args["PARCEL"] = selected_parcel->getName(); + LLNotificationsUtil::add("ParcelNoTerraforming", args); + } + +} + ///============================================================================ /// Local function definitions ///============================================================================ diff --git a/indra/newview/lltoolbrush.h b/indra/newview/lltoolbrush.h index 1c7f198900..2ec6911de9 100755 --- a/indra/newview/lltoolbrush.h +++ b/indra/newview/lltoolbrush.h @@ -81,10 +81,14 @@ protected: const LLVector3& pos_world); // Does region allow terraform, or are we a god? - bool canTerraform(LLViewerRegion* regionp) const; + bool canTerraformRegion(LLViewerRegion* regionp) const; + + bool canTerraformParcel(LLViewerRegion* regionp) const; // Modal dialog that you can't terraform the region - void alertNoTerraform(LLViewerRegion* regionp); + void alertNoTerraformRegion(LLViewerRegion* regionp); + + void alertNoTerraformParcel(); protected: F32 mStartingZ; diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 0e5cffb1e5..7c94442f09 100755 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1321,12 +1321,6 @@ void LLViewerParcelMgr::setHoverParcel(const LLVector3d& pos) static U32 last_west, last_south; - // only request parcel info when tooltip is shown - if (!gSavedSettings.getBOOL("ShowLandHoverTip")) - { - return; - } - // only request parcel info if position has changed outside of the // last parcel grid step U32 west_parcel_step = (U32) floor( pos.mdV[VX] / PARCEL_GRID_STEP_METERS ); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 0230019eb2..46d7c5e6ad 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -1389,6 +1389,14 @@ Graphics Quality can be raised in Preferences > Graphics. The region [REGION] does not allow terraforming. <tag>fail</tag> </notification> + + <notification + icon="alertmodal.tga" + name="ParcelNoTerraforming" + type="notify"> +You are not allowed to terraform parcel [PARCEL]. + <tag>fail</tag> + </notification> <notification icon="alertmodal.tga" -- cgit v1.2.3 From 97be5b14a5c589feaad31a46f300469ae9e414cc Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 25 Jun 2014 15:28:55 +0300 Subject: MAINT-4185 FIXED Close toasts silently. --- indra/newview/lltoast.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index 1b5b44423f..63ede7f8ac 100755 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -234,6 +234,8 @@ void LLToast::closeToast() { mOnDeleteToastSignal(this); + setSoundFlags(SILENT); + closeFloater(); } -- cgit v1.2.3 From f21ad12b376da6c82f79c61ff7d25b692da70d87 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 26 Jun 2014 12:08:26 +0300 Subject: MAINT-2699 FIXED Don't change state of "Speak" toolbar button if voice is disabled. --- indra/newview/llvoiceclient.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 815965fb0a..0bf373f478 100755 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -36,6 +36,7 @@ #include "llsdserialize.h" #include "llui.h" #include "llkeyboard.h" +#include "llagent.h" const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f; @@ -635,7 +636,7 @@ void LLVoiceClient::keyDown(KEY key, MASK mask) return; } - if(!mPTTIsMiddleMouse) + if(!mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak")) { bool down = (mPTTKey != KEY_NONE) && gKeyboard->getKeyDown(mPTTKey); @@ -654,12 +655,9 @@ void LLVoiceClient::keyUp(KEY key, MASK mask) } void LLVoiceClient::middleMouseState(bool down) { - if(mPTTIsMiddleMouse) + if(mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak")) { - if(mPTTIsMiddleMouse) - { - inputUserControlState(down); - } + inputUserControlState(down); } } -- cgit v1.2.3 From 7932a77319c629c16f3bc1217dd04167c5687ae4 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 1 Jul 2014 11:01:43 +0300 Subject: MAINT-3885 FIXED Don't set focus on avatar after double-click-teleport if camera was locked. --- indra/newview/llagent.cpp | 7 ++++++- indra/newview/llagentcamera.cpp | 5 +++++ indra/newview/llagentcamera.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index c9b9e072be..b879f64596 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4059,7 +4059,12 @@ void LLAgent::teleportViaLocationLookAt(const LLVector3d& pos_global) void LLAgent::doTeleportViaLocationLookAt(const LLVector3d& pos_global) { mbTeleportKeepsLookAt = true; - gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE); // detach camera form avatar, so it keeps direction + + if(!gAgentCamera.isfollowCamLocked()) + { + gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE); // detach camera form avatar, so it keeps direction + } + U64 region_handle = to_region_handle(pos_global); LLVector3 pos_local = (LLVector3)(pos_global - from_region_handle(region_handle)); teleportRequest(region_handle, pos_local, getTeleportKeepsLookAt()); diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 7b0496ea45..2356a84688 100755 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2721,6 +2721,11 @@ void LLAgentCamera::lookAtLastChat() } } +bool LLAgentCamera::isfollowCamLocked() +{ + return mFollowCam.getPositionLocked(); +} + BOOL LLAgentCamera::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position) { // disallow pointing at attachments and avatars diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h index 00fa6ea189..4d0f9a80de 100755 --- a/indra/newview/llagentcamera.h +++ b/indra/newview/llagentcamera.h @@ -155,6 +155,7 @@ private: //-------------------------------------------------------------------- public: void setUsingFollowCam(bool using_follow_cam); + bool isfollowCamLocked(); private: LLFollowCam mFollowCam; // Ventrella -- cgit v1.2.3 From b6710fe6b53c3266adbcea11d1ea7c4cb5cabcc1 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 2 Jul 2014 10:29:48 +0300 Subject: MAINT-3840 FIXED Partially reverted one of previous fix to allow adjusting mouse sensitivity --- indra/newview/llviewerwindow.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 81978e058c..6ad1bfa50b 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3267,7 +3267,7 @@ void LLViewerWindow::updateUI() updateLayout(); - saveLastMouse(mCurrentMousePoint); + mLastMousePoint = mCurrentMousePoint; // cleanup unused selections when no modal dialogs are open if (LLModalDialog::activeCount() == 0) @@ -3507,8 +3507,6 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point) // Store last mouse location. // If mouse leaves window, pretend last point was on edge of window - mLastMousePoint = mCurrentMousePoint; - if (point.mX < 0) { mCurrentMousePoint.mX = 0; -- cgit v1.2.3 From 614a0ab6bd899abe06f5b9f25ac36f44966702f0 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 3 Jul 2014 10:50:31 +0300 Subject: MAINT-2570 FIXED Don't allow attaching or opening items from Merchant Outbox. --- indra/newview/llinventorybridge.h | 6 +++++- indra/newview/llinventorypanel.cpp | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 7dac830098..833fbbadbb 100755 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -158,7 +158,7 @@ protected: BOOL isAgentInventory() const; // false if lost or in the inventory library BOOL isCOFFolder() const; // true if COF or descendant of BOOL isInboxFolder() const; // true if COF or descendant of marketplace inbox - BOOL isOutboxFolder() const; // true if COF or descendant of marketplace outbox + BOOL isOutboxFolderDirectParent() const; const LLUUID getOutboxFolder() const; @@ -172,6 +172,10 @@ protected: const LLUUID& new_parent, BOOL restamp); void removeBatchNoCheck(std::vector<LLFolderViewModelItem*>& batch); + +public: + BOOL isOutboxFolder() const; // true if COF or descendant of marketplace outbox + protected: LLHandle<LLInventoryPanel> mInventoryPanel; LLFolderView* mRoot; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 4cb724e9c4..adfdfebae7 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1403,6 +1403,17 @@ BOOL LLInventoryPanel::handleKeyHere( KEY key, MASK mask ) // Open selected items if enter key hit on the inventory panel if (mask == MASK_NONE) { + //Don't allow attaching or opening items from Merchant Outbox + LLFolderViewItem* folder_item = mFolderRoot.get()->getCurSelectedItem(); + if(folder_item) + { + LLInvFVBridge* bridge = (LLInvFVBridge*)folder_item->getViewModelItem(); + if(bridge && bridge->isOutboxFolder() && (bridge->getInventoryType() != LLInventoryType::IT_CATEGORY)) + { + return handled; + } + } + LLInventoryAction::doToSelected(mInventory, mFolderRoot.get(), "open"); handled = TRUE; } -- cgit v1.2.3 From 6b40206279acb608166ae24852b83b1127310800 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 1 Jul 2014 18:33:23 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to --- indra/newview/lltooldraganddrop.cpp | 28 ++++++++++++++++++++++++++ indra/newview/lltooldraganddrop.h | 1 + indra/newview/skins/default/xui/en/strings.xml | 1 + 3 files changed, 30 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index eabf6f0497..575e5c5c52 100755 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -513,6 +513,7 @@ void LLToolDragAndDrop::onMouseCaptureLost() mSource = SOURCE_AGENT; mSourceID.setNull(); mObjectID.setNull(); + mCustomMsg.clear(); } BOOL LLToolDragAndDrop::handleMouseUp( S32 x, S32 y, MASK mask ) @@ -556,6 +557,12 @@ ECursorType LLToolDragAndDrop::acceptanceToCursor( EAcceptance acceptance ) mCursor = UI_CURSOR_NOLOCKED; break; + case ACCEPT_NO_CUSTOM: + mToolTipMsg = mCustomMsg; + mCursor = UI_CURSOR_NO; + break; + + case ACCEPT_NO: mCursor = UI_CURSOR_NO; break; @@ -630,6 +637,7 @@ BOOL LLToolDragAndDrop::handleToolTip(S32 x, S32 y, MASK mask) void LLToolDragAndDrop::handleDeselect() { mToolTipMsg.clear(); + mCustomMsg.clear(); LLToolTipMgr::instance().blockToolTips(); } @@ -2164,6 +2172,26 @@ EAcceptance LLToolDragAndDrop::dad3dWearCategory( // TODO: investigate wearables may not be loaded at this point EXT-8231 } + U32 max_items = gSavedSettings.getU32("WearFolderLimit"); + if (category->getDescendentCount()>max_items) + { + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(category->getUUID(), + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + if (items.size() > max_items) + { + LLStringUtil::format_map_t args; + args["AMOUNT"] = llformat("%d", max_items); + mCustomMsg = LLTrans::getString("TooltipTooManyWearables",args); + return ACCEPT_NO_CUSTOM; + } + } + if(mSource == SOURCE_AGENT) { const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH); diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h index 99b794ce58..de501ea32a 100755 --- a/indra/newview/lltooldraganddrop.h +++ b/indra/newview/lltooldraganddrop.h @@ -149,6 +149,7 @@ protected: BOOL mDrop; S32 mCurItemIndex; std::string mToolTipMsg; + std::string mCustomMsg; enddrag_signal_t mEndDragSignal; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index fca4a5cddc..f0349f54b7 100755 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -233,6 +233,7 @@ Please try logging in again in a minute.</string> <string name="TooltipFlagNoScripts">No Scripts</string> <string name="TooltipLand">Land:</string> <string name="TooltipMustSingleDrop">Only a single item can be dragged here</string> + <string name="TooltipTooManyWearables">You can't wear a folder containing more than [AMOUNT] items. You can change this limit in Advanced > Show Debug Settings > WearFolderLimit.</string> <string name="TooltipPrice" value="L$[AMOUNT]: "/> <string name="TooltipOutboxDragToWorld">You can not rez items in your merchant outbox</string> -- cgit v1.2.3 From 114f7b5d0f46dfcbc9a94c1907e396b6e02700f6 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 4 Jul 2014 16:48:51 +0300 Subject: MAINT-3089 FIXED Tooltip documentation was added --- indra/newview/app_settings/keywords.ini | 46 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index 17c70ef1c5..4972472f67 100755 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -628,22 +628,22 @@ RCERR_CAST_TIME_EXCEEDED TODO: add documentation RCERR_SIM_PERF_LOW TODO: add documentation RCERR_UNKNOWN TODO: add documentation -ESTATE_ACCESS_ALLOWED_AGENT_ADD TODO: add documentation -ESTATE_ACCESS_ALLOWED_AGENT_REMOVE TODO: add documentation -ESTATE_ACCESS_ALLOWED_GROUP_ADD TODO: add documentation -ESTATE_ACCESS_ALLOWED_GROUP_REMOVE TODO: add documentation -ESTATE_ACCESS_BANNED_AGENT_ADD TODO: add documentation -ESTATE_ACCESS_BANNED_AGENT_REMOVE TODO: add documentation +ESTATE_ACCESS_ALLOWED_AGENT_ADD Passed to llManageEstateAccess to add the agent to this estate's Allowed Residents list +ESTATE_ACCESS_ALLOWED_AGENT_REMOVE Passed to llManageEstateAccess to remove the agent from this estate's Allowed Residents list +ESTATE_ACCESS_ALLOWED_GROUP_ADD Passed to llManageEstateAccess to add the group to this estate's Allowed groups list +ESTATE_ACCESS_ALLOWED_GROUP_REMOVE Passed to llManageEstateAccess to remove the group from this estate's Allowed groups list +ESTATE_ACCESS_BANNED_AGENT_ADD Passed to llManageEstateAccess to add the agent to this estate's Banned residents list +ESTATE_ACCESS_BANNED_AGENT_REMOVE Passed to llManageEstateAccess to remove the agent from this estate's Banned residents list DENSITY TODO: add documentation FRICTION TODO: add documentation RESTITUTION TODO: add documentation GRAVITY_MULTIPLIER TODO: add documentation -KFM_COMMAND TODO: add documentation -KFM_CMD_PLAY TODO: add documentation -KFM_CMD_STOP TODO: add documentation -KFM_CMD_PAUSE TODO: add documentation +KFM_COMMAND Command used in the options parameter of llSetKeyframedMotion, followed by one of: KFM_CMD_STOP, KFM_CMD_PLAY, KFM_CMD_PAUSE to play, stop or pause the motion +KFM_CMD_PLAY Command used in the options parameter llSetKeyframedMotion. Resumes the animation previously stopped by KFM_CMD_STOP or KFM_CMD_PAUSE +KFM_CMD_STOP Command used in the options parameter llSetKeyframedMotion. Stops the animation and resets it at the start of motion +KFM_CMD_PAUSE Command used in the options parameter llSetKeyframedMotion. Stops the animation but doesn t reset it at the start of motion. KFM_CMD_SET_MODE TODO: add documentation KFM_MODE TODO: add documentation KFM_FORWARD TODO: add documentation @@ -657,18 +657,18 @@ KFM_TRANSLATION TODO: add documentation CHARACTER_CMD_STOP TODO: add documentation CHARACTER_CMD_JUMP TODO: add documentation -CHARACTER_DESIRED_SPEED TODO: add documentation -CHARACTER_RADIUS TODO: add documentation -CHARACTER_LENGTH TODO: add documentation -CHARACTER_ORIENTATION TODO: add documentation -CHARACTER_AVOIDANCE_MODE TODO: add documentation +CHARACTER_DESIRED_SPEED Constant used to indicate that the following argument is the desired speed for a Pathfinding character. +CHARACTER_RADIUS Constant used to indicate that the following argument is the radius of the capsule for a Pathfinding character. +CHARACTER_LENGTH Constant used to indicate that the following argument is the length of the capsule for a Pathfinding character. +CHARACTER_ORIENTATION Constant used to indicate that the following argument is the orientation of the capsule for a Pathfinding character. +CHARACTER_AVOIDANCE_MODE Allows you to specify that a character should not try to avoid other characters, should not try to avoid dynamic obstacles, or both. Is combined with a mask bit flags PURSUIT_OFFSET TODO: add documentation REQUIRE_LINE_OF_SIGHT TODO: add documentation PURSUIT_FUZZ_FACTOR TODO: add documentation PURSUIT_INTERCEPT TODO: add documentation FORCE_DIRECT_PATH TODO: add documentation -VERTICAL TODO: add documentation -HORIZONTAL TODO: add documentation +VERTICAL Constant to indicate that the orientation of the capsule for a Pathfinding character is vertical. +HORIZONTAL Constant to indicate that the orientation of the capsule for a Pathfinding character is horizontal. AVOID_CHARACTERS TODO: add documentation AVOID_DYNAMIC_OBSTACLES TODO: add documentation @@ -683,12 +683,12 @@ PU_FAILURE_UNREACHABLE Goal is no longer reachable for some reason - e PU_GOAL_REACHED Character has reached the goal and will stop or choose a new goal (if wandering). PU_SLOWDOWN_DISTANCE_REACHED Character is near current goal. -CHARACTER_TYPE TODO: add documentation -CHARACTER_TYPE_A TODO: add documentation -CHARACTER_TYPE_B TODO: add documentation -CHARACTER_TYPE_C TODO: add documentation -CHARACTER_TYPE_D TODO: add documentation -CHARACTER_TYPE_NONE TODO: add documentation +CHARACTER_TYPE Specifies which walkability coefficient will be used by this character. Used in combination with one of the character type flags. +CHARACTER_TYPE_A Used for character types that you prefer move in a way consistent with humanoids. +CHARACTER_TYPE_B Used for character types that you prefer move in a way consistent with wild animals or off road vehicles. +CHARACTER_TYPE_C Used for mechanical character types or road going vehicles. +CHARACTER_TYPE_D Used for character types that are not consistent with the A, B, or C type. +CHARACTER_TYPE_NONE Used to set no specific character type. TRAVERSAL_TYPE TODO: add documentation TRAVERSAL_TYPE_SLOW TODO: add documentation -- cgit v1.2.3 From 5ae64755f8b01bee831fad34dd2da6607a1a535e Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 4 Jul 2014 15:47:05 +0300 Subject: MAINT-4155 FIXED Scene Loading Monitor does not open from menu --- indra/newview/llscenemonitor.cpp | 8 +++++++- indra/newview/llviewermenu.cpp | 9 +++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp index 7f705e44d2..5b37fdf41b 100644 --- a/indra/newview/llscenemonitor.cpp +++ b/indra/newview/llscenemonitor.cpp @@ -711,7 +711,13 @@ void LLSceneMonitorView::onClose(bool app_quitting) void LLSceneMonitorView::onVisibilityChange(BOOL visible) { - visible = visible && LLGLSLShader::sNoFixedFunction; + if (!LLGLSLShader::sNoFixedFunction && visible) + { + visible = false; + // keep Scene monitor and its view in sycn + setVisible(false); + LL_WARNS("SceneMonitor") << "Incompatible graphical settings, Scene Monitor can't be turned on" << LL_ENDL; + } LLSceneMonitor::getInstance()->setDebugViewerVisible(visible); } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 01e6c8a5d0..38aaff9279 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -93,6 +93,7 @@ #include "llparcel.h" #include "llrootview.h" #include "llsceneview.h" +#include "llscenemonitor.h" #include "llselectmgr.h" #include "llspellcheckmenuhandler.h" #include "llstatusbar.h" @@ -534,6 +535,10 @@ class LLAdvancedToggleConsole : public view_listener_t { toggle_visibility( (void*)gSceneView); } + else if ("scene monitor" == console_type) + { + toggle_visibility( (void*)gSceneMonitorView); + } return true; } @@ -560,6 +565,10 @@ class LLAdvancedCheckConsole : public view_listener_t { new_value = get_visibility( (void*) gSceneView); } + else if ("scene monitor" == console_type) + { + new_value = get_visibility( (void*) gSceneMonitorView); + } return new_value; } -- cgit v1.2.3 From 5af3c90a9e2eac10f78008c0e7af50c85726265b Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 8 Jul 2014 18:20:47 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to --- indra/newview/llappearancemgr.cpp | 14 -------------- indra/newview/llinventorybridge.cpp | 22 ++++++++++++++++++++++ .../newview/skins/default/xui/en/notifications.xml | 8 ++++++++ 3 files changed, 30 insertions(+), 14 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 61b8071cf9..8e5b0516fb 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1716,13 +1716,6 @@ bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id) LLInventoryModel::EXCLUDE_TRASH, not_worn); - U32 max_items = gSavedSettings.getU32("WearFolderLimit"); - if (items.size() > max_items) - { - LL_WARNS() << "Folder contains more wearables than allowed to wear by WearFolderLimit setting" << LL_ENDL; - return false; - } - return items.size() > 0; } @@ -1750,13 +1743,6 @@ bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id) LLInventoryModel::EXCLUDE_TRASH, is_worn); - U32 max_items = gSavedSettings.getU32("WearFolderLimit"); - if (items.size() > max_items) - { - LL_WARNS() << "Folder contains more wearables than allowed to wear by WearFolderLimit setting" << LL_ENDL; - return false; - } - return items.size() > 0; } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 3b9d5e0c3d..e0fbb655a9 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3754,6 +3754,28 @@ void LLFolderBridge::modifyOutfit(BOOL append) LLViewerInventoryCategory* cat = getCategory(); if(!cat) return; + // checking amount of items to wear + U32 max_items = gSavedSettings.getU32("WearFolderLimit"); + if (cat->getDescendentCount() > max_items) + { + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(cat->getUUID(), + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + + if (items.size() > max_items) + { + LLSD args; + args["AMOUNT"] = llformat("%d", max_items); + LLNotificationsUtil::add("TooManyWearables", args); + return; + } + } + LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, append ); } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 0607576fe6..1bc533f701 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5375,6 +5375,14 @@ Do you want to replace it with the selected object? </form> </notification> + <notification + icon="alertmodal.tga" + name="TooManyWearables" + type="alertmodal"> + You can't wear a folder containing more than [AMOUNT] items. You can change this limit in Advanced > Show Debug Settings > WearFolderLimit. + <tag>fail</tag> + </notification> + <notification icon="alert.tga" label="Do Not Disturb Mode Warning" -- cgit v1.2.3 From b17199f283bcb3278c1238b9ccec96a1723db442 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 10 Jul 2014 11:22:18 +0300 Subject: MAINT-2855 FIXED Use separate xml files (saved as stored_favorites_<grid>.xml) for each grid. --- indra/newview/llfavoritesbar.cpp | 19 +++++++++++++++---- indra/newview/llpanellogin.cpp | 21 ++++++++++++++++----- 2 files changed, 31 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 98f2ac614b..6c5b5be720 100755 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -40,7 +40,6 @@ #include "llagent.h" #include "llavatarnamecache.h" #include "llclipboard.h" -#include "llclipboard.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" #include "llfloatersidepanelcontainer.h" @@ -51,7 +50,7 @@ #include "lltoggleablemenu.h" #include "llviewerinventory.h" #include "llviewermenu.h" -#include "llviewermenu.h" +#include "llviewernetwork.h" #include "lltooldraganddrop.h" #include "llsdserialize.h" @@ -1453,6 +1452,18 @@ void LLFavoritesOrderStorage::getSLURL(const LLUUID& asset_id) void LLFavoritesOrderStorage::destroyClass() { LLFavoritesOrderStorage::instance().cleanup(); + + + std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + llifstream file; + file.open(old_filename); + if (file.is_open()) + { + std::string new_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml"); + LLFile::copy(old_filename,new_filename); + LLFile::remove(old_filename); + } + if (gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin")) { LLFavoritesOrderStorage::instance().saveFavoritesSLURLs(); @@ -1499,7 +1510,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs() return; } - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml"); llifstream in_file; in_file.open(filename); LLSD fav_llsd; @@ -1547,7 +1558,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs() void LLFavoritesOrderStorage::removeFavoritesRecordOfUser() { - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml"); LLSD fav_llsd; llifstream file; file.open(filename); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 5869855918..abdfa89f50 100755 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -225,11 +225,16 @@ void LLPanelLogin::addUsersWithFavoritesToUsername() { LLComboBox* combo = getChild<LLComboBox>("username_combo"); if (!combo) return; - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml"); + std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); LLSD fav_llsd; llifstream file; file.open(filename); - if (!file.is_open()) return; + if (!file.is_open()) + { + file.open(old_filename); + if (!file.is_open()) return; + } LLSDSerialize::fromXML(fav_llsd, file); for (LLSD::map_const_iterator iter = fav_llsd.beginMap(); iter != fav_llsd.endMap(); ++iter) @@ -252,11 +257,16 @@ void LLPanelLogin::addFavoritesToStartLocation() // Load favorites into the combo. std::string user_defined_name = getChild<LLComboBox>("username_combo")->getSimple(); std::replace(user_defined_name.begin(), user_defined_name.end(), '.', ' '); - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml"); + std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); LLSD fav_llsd; llifstream file; file.open(filename); - if (!file.is_open()) return; + if (!file.is_open()) + { + file.open(old_filename); + if (!file.is_open()) return; + } LLSDSerialize::fromXML(fav_llsd, file); for (LLSD::map_const_iterator iter = fav_llsd.beginMap(); iter != fav_llsd.endMap(); ++iter) @@ -955,11 +965,12 @@ void LLPanelLogin::onSelectServer() // The user twiddled with the grid choice ui. // apply the selection to the grid setting. LLPointer<LLCredential> credential; - + LLComboBox* server_combo = getChild<LLComboBox>("server_combo"); LLSD server_combo_val = server_combo->getSelectedValue(); LL_INFOS("AppInit") << "grid "<<server_combo_val.asString()<< LL_ENDL; LLGridManager::getInstance()->setGridChoice(server_combo_val.asString()); + addFavoritesToStartLocation(); /* * Determine whether or not the value in the start_location_combo makes sense -- cgit v1.2.3 From 8f429fac242679cbbac8b6c33be0c593baac41c2 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Mon, 7 Jul 2014 22:44:04 +0300 Subject: MAINT-2953 FIXED When "Inspect Objects" floater has focus you cannot move the camera with ALT+Zoom or CTRL+ALT+Zoom --- indra/newview/lltoolcomp.cpp | 89 ++++++++++++++++++++++++++++++++-------- indra/newview/lltoolcomp.h | 14 ++++++- indra/newview/lltoolmgr.cpp | 16 +++++++- indra/newview/llviewerwindow.cpp | 7 ++++ 4 files changed, 105 insertions(+), 21 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index b75d6b3dcb..4bda9072d0 100755 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -126,12 +126,20 @@ void LLToolComposite::handleSelect() mSelected = TRUE; } +void LLToolComposite::handleDeselect() +{ + mCur->handleDeselect(); + mCur = mDefault; + mSelected = FALSE; +} + //---------------------------------------------------------------------------- // LLToolCompInspect //---------------------------------------------------------------------------- LLToolCompInspect::LLToolCompInspect() -: LLToolComposite(std::string("Inspect")) +: LLToolComposite(std::string("Inspect")), + mIsToolCameraActive(FALSE) { mSelectRect = new LLToolSelectRect(this); mDefault = mSelectRect; @@ -146,42 +154,87 @@ LLToolCompInspect::~LLToolCompInspect() BOOL LLToolCompInspect::handleMouseDown(S32 x, S32 y, MASK mask) { - mMouseDown = TRUE; - gViewerWindow->pickAsync(x, y, mask, pickCallback); - return TRUE; + BOOL handled = FALSE; + + if (mCur == LLToolCamera::getInstance()) + { + handled = mCur->handleMouseDown(x, y, mask); + } + else + { + mMouseDown = TRUE; + gViewerWindow->pickAsync(x, y, mask, pickCallback); + handled = TRUE; + } + + return handled; +} + +BOOL LLToolCompInspect::handleMouseUp(S32 x, S32 y, MASK mask) +{ + BOOL handled = LLToolComposite::handleMouseUp(x, y, mask); + mIsToolCameraActive = getCurrentTool() == LLToolCamera::getInstance(); + return handled; } void LLToolCompInspect::pickCallback(const LLPickInfo& pick_info) { LLViewerObject* hit_obj = pick_info.getObject(); + LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance(); - if (!LLToolCompInspect::getInstance()->mMouseDown) + if (!tool_inspectp->mMouseDown) { // fast click on object, but mouse is already up...just do select - LLToolCompInspect::getInstance()->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE); + tool_inspectp->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE); return; } - if( hit_obj ) - { - if (LLSelectMgr::getInstance()->getSelection()->getObjectCount()) - { - LLEditMenuHandler::gEditMenuHandler = LLSelectMgr::getInstance(); - } - LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect ); - LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info ); + LLSelectMgr * mgr_selectp = LLSelectMgr::getInstance(); + if( hit_obj && mgr_selectp->getSelection()->getObjectCount()) { + LLEditMenuHandler::gEditMenuHandler = mgr_selectp; + } + + tool_inspectp->setCurrentTool( tool_inspectp->mSelectRect ); + tool_inspectp->mIsToolCameraActive = FALSE; + tool_inspectp->mSelectRect->handlePick( pick_info ); +} + +BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask) +{ + return TRUE; +} + +BOOL LLToolCompInspect::handleKey(KEY key, MASK mask) +{ + BOOL handled = FALSE; + if(KEY_ALT == key) + { + setCurrentTool(LLToolCamera::getInstance()); + mIsToolCameraActive = TRUE; + handled = TRUE; } else { - LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect ); - LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info ); + handled = LLToolComposite::handleKey(key, mask); } + + return handled; } -BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask) +void LLToolCompInspect::onMouseCaptureLost() { - return TRUE; + LLToolComposite::onMouseCaptureLost(); + mIsToolCameraActive = FALSE; +} + +void LLToolCompInspect::keyUp(KEY key, MASK mask) +{ + if (KEY_ALT == key && mCur == LLToolCamera::getInstance()) + { + setCurrentTool(mDefault); + mIsToolCameraActive = FALSE; + } } //---------------------------------------------------------------------------- diff --git a/indra/newview/lltoolcomp.h b/indra/newview/lltoolcomp.h index bbb5ed5797..e75d3c22e2 100755 --- a/indra/newview/lltoolcomp.h +++ b/indra/newview/lltoolcomp.h @@ -62,7 +62,7 @@ public: virtual BOOL clipMouseWhenDown() { return mCur->clipMouseWhenDown(); } virtual void handleSelect(); - virtual void handleDeselect() { mCur->handleDeselect(); mCur = mDefault; mSelected = FALSE; } + virtual void handleDeselect(); virtual void render() { mCur->render(); } virtual void draw() { mCur->draw(); } @@ -78,9 +78,10 @@ public: { mCur->localPointToScreen(local_x, local_y, screen_x, screen_y); } BOOL isSelecting(); + LLTool* getCurrentTool() { return mCur; } + protected: void setCurrentTool( LLTool* new_tool ); - LLTool* getCurrentTool() { return mCur; } // In hover handler, call this to auto-switch tools void setToolFromMask( MASK mask, LLTool *normal ); @@ -108,9 +109,18 @@ public: // Overridden from LLToolComposite virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); + virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); virtual BOOL handleDoubleClick(S32 x, S32 y, MASK mask); + virtual BOOL handleKey(KEY key, MASK mask); + virtual void onMouseCaptureLost(); + void keyUp(KEY key, MASK mask); static void pickCallback(const LLPickInfo& pick_info); + + BOOL isToolCameraActive() const { return mIsToolCameraActive; } + +private: + BOOL mIsToolCameraActive; }; //----------------------------------------------------------------------- diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp index aa55caf7ec..175227173f 100755 --- a/indra/newview/lltoolmgr.cpp +++ b/indra/newview/lltoolmgr.cpp @@ -34,6 +34,7 @@ //#include "llfirstuse.h" // tools and manipulators +#include "llfloaterinspect.h" #include "lltool.h" #include "llmanipscale.h" #include "llselectmgr.h" @@ -218,7 +219,20 @@ LLTool* LLToolMgr::getCurrentTool() } if (cur_tool) { - cur_tool->handleSelect(); + if ( LLToolCompInspect::getInstance()->isToolCameraActive() + && prev_tool == LLToolCamera::getInstance() + && cur_tool == LLToolPie::getInstance() ) + { + LLFloaterInspect * inspect_instance = LLFloaterReg::getTypedInstance<LLFloaterInspect>("inspect"); + if(inspect_instance && inspect_instance->getVisible()) + { + setTransientTool(LLToolCompInspect::getInstance()); + } + } + else + { + cur_tool->handleSelect(); + } } } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 6ad1bfa50b..d042bd847e 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1392,6 +1392,13 @@ BOOL LLViewerWindow::handleTranslatedKeyUp(KEY key, MASK mask) // Let the voice chat code check for its PTT key. Note that this never affects event processing. LLVoiceClient::getInstance()->keyUp(key, mask); + // Let the inspect tool code check for ALT key to set LLToolSelectRect active instead LLToolCamera + LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance(); + if (LLToolMgr::getInstance()->getCurrentTool() == tool_inspectp) + { + tool_inspectp->keyUp(key, mask); + } + return FALSE; } -- cgit v1.2.3 From b0d773bc181a4b885d0732ee2393b4473f90689e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 21 Jul 2014 10:53:01 +0300 Subject: MAINT-4254 FIXED Don't change selection in Inventory panel when image's uuid is null. --- indra/newview/lltexturectrl.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index c12753acb0..b9eb68556d 100755 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -240,7 +240,7 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id) mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here? mImageAssetID = image_id; LLUUID item_id = findItemID(mImageAssetID, FALSE); - if (item_id.isNull()) + if (image_id.isNull()) { mInventoryPanel->getRootFolder()->clearSelection(); } @@ -461,7 +461,10 @@ BOOL LLFloaterTexturePicker::postBuild() // don't put keyboard focus on selected item, because the selection callback // will assume that this was user input - mInventoryPanel->setSelection(findItemID(mImageAssetID, FALSE), TAKE_FOCUS_NO); + if(!mImageAssetID.isNull()) + { + mInventoryPanel->setSelection(findItemID(mImageAssetID, FALSE), TAKE_FOCUS_NO); + } } mModeSelector = getChild<LLRadioGroup>("mode_selection"); -- cgit v1.2.3 From 673afb955b6f22244e7af100bcfbece6a688aef3 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 22 Jul 2014 11:36:27 +0300 Subject: MAINT-4253 FIXED Don't call setSelection() twice. --- indra/newview/lltexturectrl.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index b9eb68556d..a426669b5e 100755 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -118,7 +118,7 @@ public: /*virtual*/ void onClose(bool app_settings); // New functions - void setImageID( const LLUUID& image_asset_id); + void setImageID( const LLUUID& image_asset_id, bool set_selection = true); void updateImageStats(); const LLUUID& getAssetID() { return mImageAssetID; } const LLUUID& findItemID(const LLUUID& asset_id, BOOL copyable_only); @@ -232,7 +232,7 @@ LLFloaterTexturePicker::~LLFloaterTexturePicker() { } -void LLFloaterTexturePicker::setImageID(const LLUUID& image_id) +void LLFloaterTexturePicker::setImageID(const LLUUID& image_id, bool set_selection /*=true*/) { if( mImageAssetID != image_id && mActive) { @@ -240,7 +240,7 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id) mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here? mImageAssetID = image_id; LLUUID item_id = findItemID(mImageAssetID, FALSE); - if (image_id.isNull()) + if (item_id.isNull()) { mInventoryPanel->getRootFolder()->clearSelection(); } @@ -253,6 +253,10 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id) getChild<LLUICtrl>("apply_immediate_check")->setValue(FALSE); mNoCopyTextureSelected = TRUE; } + } + + if (set_selection) + { mInventoryPanel->setSelection(item_id, TAKE_FOCUS_NO); } } @@ -823,7 +827,7 @@ void LLFloaterTexturePicker::onSelectionChange(const std::deque<LLFolderViewItem { mNoCopyTextureSelected = TRUE; } - setImageID(itemp->getAssetUUID()); + setImageID(itemp->getAssetUUID(),false); mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here? if (user_action && mCanPreview) { -- cgit v1.2.3 From 1874170f4f2bc826a6ea03473ab52c0952a7247d Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 22 Jul 2014 15:43:18 +0300 Subject: MAINT-4255 FIXED In the Edit menu when opening the texture picker for normal map selection and clicking Cancel the already applied texture is changed to None even with or without any prior change or if the prior applied texture was full perms. --- indra/newview/llpanelface.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index e3be1312e4..02e05d3d9a 100755 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -1848,6 +1848,8 @@ void LLPanelFace::onCancelNormalTexture(const LLSD& data) U8 bumpy = 0; bool identical_bumpy = false; LLSelectedTE::getBumpmap(bumpy, identical_bumpy); + LLUUID spec_map_id = getChild<LLTextureCtrl>("bumpytexture control")->getImageAssetID(); + bumpy = spec_map_id.isNull() ? bumpy : BUMPY_TEXTURE; sendBump(bumpy); } -- cgit v1.2.3 From 01ad2bcd04a4d35b38e2d23487f20fee9ba9975d Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 23 Jul 2014 11:34:55 +0300 Subject: MAINT-4238 FIXED Accept new types of tokens/delimiters as well as TT_WORD --- indra/newview/llpreviewscript.cpp | 26 +++++++++++++++++++++++--- indra/newview/llpreviewscript.h | 1 + 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 8eea5ea73e..a41986373e 100755 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -663,12 +663,13 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate) LLTextSegmentPtr segment = NULL; std::vector<LLTextSegmentPtr> selected_segments; mEditor->getSelectedSegments(selected_segments); - + LLKeywordToken* token; // try segments in selection range first std::vector<LLTextSegmentPtr>::iterator segment_iter; for (segment_iter = selected_segments.begin(); segment_iter != selected_segments.end(); ++segment_iter) { - if((*segment_iter)->getToken() && (*segment_iter)->getToken()->getType() == LLKeywordToken::TT_WORD) + token = (*segment_iter)->getToken(); + if(token && isKeyword(token)) { segment = *segment_iter; break; @@ -679,7 +680,8 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate) if (!segment) { const LLTextSegmentPtr test_segment = mEditor->getPreviousSegment(); - if(test_segment->getToken() && test_segment->getToken()->getType() == LLKeywordToken::TT_WORD) + token = test_segment->getToken(); + if(token && isKeyword(token)) { segment = test_segment; } @@ -708,6 +710,24 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate) } } +bool LLScriptEdCore::isKeyword(LLKeywordToken* token) +{ + switch(token->getType()) + { + case LLKeywordToken::TT_CONSTANT: + case LLKeywordToken::TT_CONTROL: + case LLKeywordToken::TT_EVENT: + case LLKeywordToken::TT_FUNCTION: + case LLKeywordToken::TT_SECTION: + case LLKeywordToken::TT_TYPE: + case LLKeywordToken::TT_WORD: + return true; + + default: + return false; + } +} + void LLScriptEdCore::setHelpPage(const std::string& help_string) { LLFloater* help_floater = mLiveHelpHandle.get(); diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index 515f277c4a..66727bceee 100755 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -133,6 +133,7 @@ protected: void deleteBridges(); void setHelpPage(const std::string& help_string); void updateDynamicHelp(BOOL immediate = FALSE); + bool isKeyword(LLKeywordToken* token); void addHelpItemToHistory(const std::string& help_string); static void onErrorList(LLUICtrl*, void* user_data); -- cgit v1.2.3 From 7ef544a07f6f23c553e94b10931dc14e2a0f26b2 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 23 Jul 2014 17:49:43 +0300 Subject: MAINT-1849 FIXED Disable 'Rename' menu item when multiple items are selected. --- indra/newview/llpanelobjectinventory.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 6b74d90708..6354b5a02b 100755 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -698,6 +698,10 @@ void LLTaskInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags) if(isItemRenameable()) { items.push_back(std::string("Task Rename")); + if ((flags & FIRST_SELECTED_ITEM) == 0) + { + disabled_items.push_back(std::string("Task Rename")); + } } if(isItemRemovable()) { -- cgit v1.2.3 From c4433e4fc8b35b3403503a9e5062e169c35258f5 Mon Sep 17 00:00:00 2001 From: ruslantproductengine <ruslantproductengine@lindenlab.com> Date: Wed, 9 Jul 2014 18:02:01 +0300 Subject: MAINT-4092 FIXED Prim faces with opaque diffuse maps, with material set to ALPHA_MODE_BLEND, do not render when ALM is enabled --- indra/newview/lldrawpool.cpp | 2 +- indra/newview/lldrawpool.h | 2 +- indra/newview/lldrawpoolmaterials.cpp | 2 +- indra/newview/llspatialpartition.cpp | 2 +- indra/newview/llvovolume.cpp | 17 ++++++++++++++--- 5 files changed, 18 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp index 5b151bdcda..f74164aea6 100755 --- a/indra/newview/lldrawpool.cpp +++ b/indra/newview/lldrawpool.cpp @@ -443,7 +443,7 @@ void LLRenderPass::pushMaskBatches(U32 type, U32 mask, BOOL texture, BOOL batch_ } } -void LLRenderPass::applyModelMatrix(LLDrawInfo& params) +void LLRenderPass::applyModelMatrix(const LLDrawInfo& params) { if (params.mModelMatrix != gGLLastMatrix) { diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h index 3bde0d29be..bc299cc89f 100755 --- a/indra/newview/lldrawpool.h +++ b/indra/newview/lldrawpool.h @@ -168,7 +168,7 @@ public: BOOL isDead() { return FALSE; } void resetDrawOrders() { } - static void applyModelMatrix(LLDrawInfo& params); + static void applyModelMatrix(const LLDrawInfo& params); virtual void pushBatches(U32 type, U32 mask, BOOL texture = TRUE, BOOL batch_textures = FALSE); virtual void pushMaskBatches(U32 type, U32 mask, BOOL texture = TRUE, BOOL batch_textures = FALSE); virtual void pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL batch_textures = FALSE); diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp index 514411aef5..f92320490a 100644 --- a/indra/newview/lldrawpoolmaterials.cpp +++ b/indra/newview/lldrawpoolmaterials.cpp @@ -96,7 +96,7 @@ void LLDrawPoolMaterials::endDeferredPass(S32 pass) void LLDrawPoolMaterials::renderDeferred(S32 pass) { - U32 type_list[] = + static const U32 type_list[] = { LLRenderPass::PASS_MATERIAL, //LLRenderPass::PASS_MATERIAL_ALPHA, diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 0a8257f42b..5e342099d7 100755 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -1632,7 +1632,7 @@ void pushVertsColorCoded(LLSpatialGroup* group, U32 mask) { LLDrawInfo* params = NULL; - LLColor4 colors[] = { + static const LLColor4 colors[] = { LLColor4::green, LLColor4::green1, LLColor4::green2, diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index a83e2e020e..c25722b635 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2040,7 +2040,18 @@ S32 LLVOVolume::setTEMaterialID(const U8 te, const LLMaterialID& pMaterialID) S32 LLVOVolume::setTEMaterialParams(const U8 te, const LLMaterialPtr pMaterialParams) { - S32 res = LLViewerObject::setTEMaterialParams(te, pMaterialParams); + S32 res = 0; + + if (pMaterialParams && getTEImage(te) && 3 == getTEImage(te)->getComponents() && pMaterialParams->getDiffuseAlphaMode()) + { + LLViewerObject::setTEMaterialID(te, LLMaterialID::null); + res = LLViewerObject::setTEMaterialParams(te, nullptr); + } + else + { + res = LLViewerObject::setTEMaterialParams(te, pMaterialParams); + } + LL_DEBUGS("MaterialTEs") << "te " << (S32)te << " material " << ((pMaterialParams) ? pMaterialParams->asLLSD() : LLSD("null")) << " res " << res << ( LLSelectMgr::getInstance()->getSelection()->contains(const_cast<LLVOVolume*>(this), te) ? " selected" : " not selected" ) << LL_ENDL; @@ -4328,7 +4339,7 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep, draw_info->mBump = bump; draw_info->mShiny = shiny; - float alpha[4] = + static const float alpha[4] = { 0.00f, 0.25f, @@ -5652,7 +5663,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, LLFac if (material_pass) { - U32 pass[] = + static const U32 pass[] = { LLRenderPass::PASS_MATERIAL, LLRenderPass::PASS_ALPHA, //LLRenderPass::PASS_MATERIAL_ALPHA, -- cgit v1.2.3 From 30c73d0f25bd7738c769fdba1ed947e1bfeb6ced Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 14 Jul 2014 12:28:29 +0300 Subject: MAINT-4218 FIXED Adding clothing from inventory closes THAT clothing folder and hides THAT folder --- indra/newview/llfolderviewmodelinventory.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 7339398fa5..11d49ff784 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,13 +129,15 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { + bool init_state = getLastFilterGeneration() < 0; LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters) + if (before != mPrevPassedAllFilters || (init_state && before && !mFolderViewItem->getVisible())) { - // Need to rearrange the folder if the filtered state of the item changed + // Need to rearrange the folder if the filtered state of the item changed + // or folder was hidden during update as filter-dirty (MAINT-4218) LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { -- cgit v1.2.3 From 6b5375ba14c564634bc92d09e20c28434ade8050 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Wed, 16 Jul 2014 13:28:57 +0300 Subject: MAINT-4237 FIXED Update mCOFChangeInProgress when only gestures or objects (not weareables) are added to outfit. --- indra/newview/llagentwearables.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 890fc9a8d9..49fedb8df8 100755 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1035,6 +1035,7 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it if (mismatched == 0) { LL_DEBUGS("Avatar") << "no changes, bailing out" << LL_ENDL; + mCOFChangeInProgress = false; return; } -- cgit v1.2.3 From 5850f5c3bb90d07404e916ae2b67dda839b6119b Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 17 Jul 2014 11:23:36 +0300 Subject: MAINT-4256 FIXED Hide "Scene Statistics" floater after clicking close button. --- indra/newview/llsceneview.cpp | 4 ++++ indra/newview/llsceneview.h | 1 + 2 files changed, 5 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llsceneview.cpp b/indra/newview/llsceneview.cpp index 32f327b762..112fa5b4e1 100755 --- a/indra/newview/llsceneview.cpp +++ b/indra/newview/llsceneview.cpp @@ -56,6 +56,10 @@ void LLSceneView::onClose(bool) setVisible(false); } +void LLSceneView::onClickCloseBtn(bool) +{ + setVisible(false); +} void LLSceneView::draw() { diff --git a/indra/newview/llsceneview.h b/indra/newview/llsceneview.h index 6d839bcf08..e077c358b4 100755 --- a/indra/newview/llsceneview.h +++ b/indra/newview/llsceneview.h @@ -39,6 +39,7 @@ public: protected: virtual void onClose(bool app_qutting = false); + virtual void onClickCloseBtn(bool app_qutting = false); }; -- cgit v1.2.3 From 351621d87347c3c436ea633045fc3f712fbeee5b Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 16 Jul 2014 17:08:11 +0300 Subject: MAINT-2205 FIXED Pressing delete in script window deletes selected object Focus was not properly released --- indra/newview/lltoolpie.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 8191958dd4..eec9760d2d 100755 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -1700,6 +1700,12 @@ BOOL LLToolPie::handleRightClickPick() } } + // non UI object - put focus back "in world" + if (gFocusMgr.getKeyboardFocus()) + { + gFocusMgr.setKeyboardFocus(NULL); + } + LLTool::handleRightMouseDown(x, y, mask); // We handled the event. return TRUE; -- cgit v1.2.3 From 8cb0b6308b695d0302cf3cbfebb423a8108f822a Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Thu, 17 Jul 2014 17:28:36 +0300 Subject: MAINT-410 FIXED llLoadURL dialog display wrongly includes ? at end of line into URL sent to browser --- indra/newview/skins/default/xui/en/notifications.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 1bc533f701..d606893fc7 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6988,11 +6988,11 @@ If you stay in this region you will be logged out. name="LoadWebPage" show_toast="false" type="notify"> -Load web page [URL]? +Load web page [URL] ? [MESSAGE] -From object: <nolink>[OBJECTNAME]</nolink>, owner: [NAME]? +From object: <nolink>[OBJECTNAME]</nolink>, owner: [NAME] <tag>confirm</tag> <form name="form"> <button -- cgit v1.2.3 From 19bc1ee671df2f89d990dfe8aadea1d9ea424e82 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 18 Jul 2014 11:40:15 +0300 Subject: MAINT-4239 FIXED Add items to outfit without replacing whole current outfit --- indra/newview/llinventorybridge.cpp | 2 +- .../newview/skins/default/xui/en/floater_openobject.xml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index e0fbb655a9..13236ea7d9 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2809,7 +2809,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask) mContentsCount) { gInventory.removeObserver(this); - LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, FALSE); + LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, TRUE); delete this; } } diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml index f526970ad0..bf6e0c4917 100755 --- a/indra/newview/skins/default/xui/en/floater_openobject.xml +++ b/indra/newview/skins/default/xui/en/floater_openobject.xml @@ -6,7 +6,7 @@ height="350" layout="topleft" min_height="160" - min_width="270" + min_width="280" name="objectcontents" help_topic="objectcontents" save_rect="true" @@ -40,10 +40,10 @@ <button follows="bottom|left" height="23" - label="Copy To Inventory" - label_selected="Copy To Inventory" + label="Copy to inventory" + label_selected="Copy to inventory" layout="topleft" - left="20" + left="15" name="copy_to_inventory_button" tab_group="1" top_pad="5" @@ -54,12 +54,12 @@ <button follows="bottom|left" height="23" - label="Copy And Wear" - label_selected="Copy And Wear" + label="Copy and add to outfit" + label_selected="Copy and add to outfit" layout="topleft" - left_pad="10" + left_pad="5" name="copy_and_wear_button" - width="120"> + width="135"> <button.commit_callback function="OpenObject.MoveAndWear" /> </button> -- cgit v1.2.3 From bc029b770c92f9443a30fee88d3b7a22b971b643 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Tue, 22 Jul 2014 19:38:55 +0300 Subject: MAINT-4036 [CHUIBUG]Long pause on first open of preferences or right-clicking a user in friend list: the changeset 009b02c29a52 has been reverted by request from Oz. --- indra/newview/llgiveinventory.cpp | 6 +-- indra/newview/lllogchat.cpp | 108 ++++++++++++++++++-------------------- indra/newview/lllogchat.h | 6 --- 3 files changed, 52 insertions(+), 68 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgiveinventory.cpp b/indra/newview/llgiveinventory.cpp index b2fc41526e..813d2081ce 100755 --- a/indra/newview/llgiveinventory.cpp +++ b/indra/newview/llgiveinventory.cpp @@ -328,10 +328,8 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im { // Build a new format username or firstname_lastname for legacy names // to use it for a history log filename. - if (LLLogChat::buildIMP2PLogFilename(to_agent, LLStringUtil::null, full_name)) - { - LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, LLTrans::getString("inventory_item_offered-im")); - } + full_name = LLCacheName::buildUsername(full_name); + LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, LLTrans::getString("inventory_item_offered-im")); } } } diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index 743bb8973b..06e517a861 100755 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -261,46 +261,6 @@ std::string LLLogChat::cleanFileName(std::string filename) return filename; } -bool LLLogChat::buildIMP2PLogFilename(const LLUUID& idAgent, const std::string& strName, std::string& strFilename) -{ - static LLCachedControl<bool> fLegacyFilenames(gSavedSettings, "UseLegacyIMLogNames", true); - - // If we have the name cached then we can simply return the username - LLAvatarName avName; - if (LLAvatarNameCache::get(idAgent, &avName)) - { - if (!fLegacyFilenames) - { - strFilename = avName.getUserName(); - } - else - { - strFilename = LLCacheName::cleanFullName(avName.getLegacyName()); - } - return true; - } - else - { - // Try and get it from the legacy cache if we can - std::string strLegacyName; - if (gCacheName->getFullName(idAgent, strLegacyName)) - strLegacyName = strName; - - if (!fLegacyFilenames) - { - // If we don't have it cached 'strName' *should* be a legacy name (or a complete name) and we can construct a username from that - strFilename = LLCacheName::buildUsername(strName); - return strName != strFilename; // If the assumption above was wrong then the two will match which signals failure - } - else - { - // Strip any possible mention of a username - strFilename = LLCacheName::buildLegacyName(strName); - return (!strFilename.empty()); // Assume success as long as the filename isn't an empty string - } - } -} - std::string LLLogChat::timestamp(bool withdate) { std::string timeStr; @@ -610,6 +570,13 @@ void LLLogChat::findTranscriptFiles(std::string pattern, std::vector<std::string LLFILE * filep = LLFile::fopen(fullname, "rb"); if (NULL != filep) { + if(makeLogFileName("chat")== fullname) + { + //Add Nearby chat history to the list of transcriptions + list_of_transcriptions.push_back(gDirUtilp->add(dirname, filename)); + LLFile::close(filep); + continue; + } char buffer[LOG_RECALL_SIZE]; fseek(filep, 0, SEEK_END); // seek to end of file @@ -782,34 +749,59 @@ void LLLogChat::deleteTranscripts() // static bool LLLogChat::isTranscriptExist(const LLUUID& avatar_id, bool is_group) { - std::string strFileName; - if (!is_group) - buildIMP2PLogFilename(avatar_id, LLStringUtil::null, strFileName); - else - gCacheName->getGroupName(avatar_id, strFileName); + std::vector<std::string> list_of_transcriptions; + LLLogChat::getListOfTranscriptFiles(list_of_transcriptions); - std::string strFilePath = makeLogFileName(strFileName); - if ( (!strFilePath.empty()) && (LLFile::isfile(strFilePath)) ) + if (list_of_transcriptions.size() > 0) { - return true; + LLAvatarName avatar_name; + LLAvatarNameCache::get(avatar_id, &avatar_name); + std::string avatar_user_name = avatar_name.getAccountName(); + if(!is_group) + { + std::replace(avatar_user_name.begin(), avatar_user_name.end(), '.', '_'); + BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) + { + if (std::string::npos != transcript_file_name.find(avatar_user_name)) + { + return true; + } + } + } + else + { + std::string file_name; + gCacheName->getGroupName(avatar_id, file_name); + file_name = makeLogFileName(file_name); + BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) + { + if (transcript_file_name == file_name) + { + return true; + } + } + } + } - // If a dated file existed it'll return a valid path; otherwise, it returns the undated unverified path so we do need to check it - strFilePath = oldLogFileName(strFileName); - return (!strFilePath.empty()) && (LLFile::isfile(strFilePath)); + return false; } bool LLLogChat::isNearbyTranscriptExist() { - std::string strFilePath = makeLogFileName("chat"); - if ( (!strFilePath.empty()) && (LLFile::isfile(strFilePath)) ) + std::vector<std::string> list_of_transcriptions; + LLLogChat::getListOfTranscriptFiles(list_of_transcriptions); + + std::string file_name; + file_name = makeLogFileName("chat"); + BOOST_FOREACH(std::string& transcript_file_name, list_of_transcriptions) { - return true; + if (transcript_file_name == file_name) + { + return true; + } } - - // If a dated file existed it'll return a valid path; otherwise, it returns the undated unverified path so we do need to check it - strFilePath = oldLogFileName("chat"); - return (!strFilePath.empty()) && (LLFile::isfile(strFilePath)); + return false; } //*TODO mark object's names in a special way so that they will be distinguishable form avatar name diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h index d1dbf2d119..ca597599dd 100755 --- a/indra/newview/lllogchat.h +++ b/indra/newview/lllogchat.h @@ -92,12 +92,6 @@ public: static std::string timestamp(bool withdate = false); static std::string makeLogFileName(std::string(filename)); - - /** - * Attempts to build the correct IM P2P log filename for the specified agent UUID and agent name - */ - static bool buildIMP2PLogFilename(const LLUUID& idAgent, const std::string& strName, std::string& strFilename); - /** *Add functions to get old and non date stamped file names when needed */ -- cgit v1.2.3 From 3d4acb535d75c4cc78c93dee318bcffaca691237 Mon Sep 17 00:00:00 2001 From: Aura Linden <aura@lindenlab.com> Date: Tue, 22 Jul 2014 17:24:00 -0700 Subject: Appears to fix MAINT-4184 --- indra/newview/lltexturefetch.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 9ea46cab68..fcf0d88495 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -2648,7 +2648,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const worker->setImagePriority(priority); worker->setDesiredDiscard(desired_discard, desired_size); worker->setCanUseHTTP(can_use_http); - worker->setUrl(url); + + //worker->setUrl(url); //MAINT-4184 this line seems to be the cause and url is always blank. if (!worker->haveWork()) { worker->setState(LLTextureFetchWorker::INIT); -- cgit v1.2.3 From f69b11691d9911264d42a9c53d407a808591ee7c Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 23 Jul 2014 18:29:18 +0300 Subject: MAINT-4283 FIXED [BEAR] Viewer always crashes when opening "Scene Loading Monitor" if you closed it previously with the X --- indra/newview/llscenemonitor.cpp | 5 +++++ indra/newview/llscenemonitor.h | 1 + 2 files changed, 6 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp index 5b37fdf41b..179a73413e 100644 --- a/indra/newview/llscenemonitor.cpp +++ b/indra/newview/llscenemonitor.cpp @@ -709,6 +709,11 @@ void LLSceneMonitorView::onClose(bool app_quitting) setVisible(false); } +void LLSceneMonitorView::onClickCloseBtn(bool app_quitting) +{ + setVisible(false); +} + void LLSceneMonitorView::onVisibilityChange(BOOL visible) { if (!LLGLSLShader::sNoFixedFunction && visible) diff --git a/indra/newview/llscenemonitor.h b/indra/newview/llscenemonitor.h index e9ceb2aa2a..5bde3b5aab 100644 --- a/indra/newview/llscenemonitor.h +++ b/indra/newview/llscenemonitor.h @@ -116,6 +116,7 @@ public: protected: virtual void onClose(bool app_quitting=false); + virtual void onClickCloseBtn(bool app_quitting=false); }; extern LLSceneMonitorView* gSceneMonitorView; -- cgit v1.2.3 From 342833534f44cf702b9680c24e520904da8c8ecf Mon Sep 17 00:00:00 2001 From: Aura Linden <aura@lindenlab.com> Date: Wed, 23 Jul 2014 09:16:48 -0700 Subject: Improved comments --- indra/newview/lltexturefetch.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index fcf0d88495..2376f6a259 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -2649,7 +2649,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const worker->setDesiredDiscard(desired_discard, desired_size); worker->setCanUseHTTP(can_use_http); - //worker->setUrl(url); //MAINT-4184 this line seems to be the cause and url is always blank. + //MAINT-4184 url is always empty. Do not set with it. + if (!worker->haveWork()) { worker->setState(LLTextureFetchWorker::INIT); -- cgit v1.2.3 From f40dd76521c9ddab1fcd3ddca029802cf3bdd99b Mon Sep 17 00:00:00 2001 From: ruslantproductengine <ruslantproductengine@lindenlab.com> Date: Thu, 24 Jul 2014 00:38:18 +0300 Subject: MAINT-4092 FIXED Prim faces with opaque diffuse maps, with material set to ALPHA_MODE_BLEND, do not render when ALM is enabled : replace nullptr to NULL (please use modern compilers) --- indra/newview/llvovolume.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index c25722b635..4295ea02d5 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2045,7 +2045,7 @@ S32 LLVOVolume::setTEMaterialParams(const U8 te, const LLMaterialPtr pMaterialPa if (pMaterialParams && getTEImage(te) && 3 == getTEImage(te)->getComponents() && pMaterialParams->getDiffuseAlphaMode()) { LLViewerObject::setTEMaterialID(te, LLMaterialID::null); - res = LLViewerObject::setTEMaterialParams(te, nullptr); + res = LLViewerObject::setTEMaterialParams(te, NULL); } else { -- cgit v1.2.3 From 21aca031d7c6e34249dfb5ba5c19f04ee64f8a03 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 25 Jul 2014 11:36:57 +0300 Subject: MAINT-4287 FIXED Check that gMenuHolder is not NULL --- indra/newview/lltoolpie.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index eec9760d2d..e4353aafaa 100755 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -1315,7 +1315,7 @@ void LLToolPie::handleDeselect() // Menu may be still up during transfer to different tool. // toolfocus and toolgrab should retain menu, they will clear it if needed MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0; - if (!gMenuHolder->getVisible() || (override_mask & (MASK_ALT | MASK_CONTROL)) == 0) + if (gMenuHolder && (!gMenuHolder->getVisible() || (override_mask & (MASK_ALT | MASK_CONTROL)) == 0)) { // in most cases menu is useless without correct selection, so either keep both or discard both gMenuHolder->hideMenus(); -- cgit v1.2.3 From 906e2024580cd824e10e8c6799f13453fb2acd89 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Fri, 25 Jul 2014 17:27:38 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to COF folder is also limited now. --- indra/newview/llinventorybridge.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 13236ea7d9..33e557cddd 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2279,6 +2279,29 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, } } } + U32 max_items_to_wear = gSavedSettings.getU32("WearFolderLimit"); + if (is_movable + && move_is_into_current_outfit + && descendent_items.size() > max_items_to_wear) + { + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(cat_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + + if (items.size() > max_items_to_wear) + { + // Can't move 'large' folders into current outfit: MAINT-4086 + is_movable = FALSE; + LLStringUtil::format_map_t args; + args["AMOUNT"] = llformat("%d", max_items_to_wear); + tooltip_msg = LLTrans::getString("TooltipTooManyWearables",args); + } + } if (is_movable && move_is_into_trash) { for (S32 i=0; i < descendent_items.size(); ++i) -- cgit v1.2.3 From 1728556ba7283873f20427459dbf2bc74e405ccb Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 28 Jul 2014 11:01:00 +0300 Subject: MAINT-4286 FIXED Dragging outfits folder onto cloud avatar in Bear crashes the viewer --- indra/newview/llaisapi.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp index da66ea357a..623458cb08 100755 --- a/indra/newview/llaisapi.cpp +++ b/indra/newview/llaisapi.cpp @@ -380,8 +380,11 @@ void AISUpdate::parseMeta(const LLSD& update) it != cat_ids.end(); ++it) { LLViewerInventoryCategory *cat = gInventory.getCategory(*it); - mCatDescendentDeltas[cat->getParentUUID()]--; - mObjectsDeletedIds.insert(*it); + if(cat) + { + mCatDescendentDeltas[cat->getParentUUID()]--; + mObjectsDeletedIds.insert(*it); + } } // parse _categories_items_removed -> mObjectsDeletedIds @@ -392,8 +395,11 @@ void AISUpdate::parseMeta(const LLSD& update) it != item_ids.end(); ++it) { LLViewerInventoryItem *item = gInventory.getItem(*it); - mCatDescendentDeltas[item->getParentUUID()]--; - mObjectsDeletedIds.insert(*it); + if(item) + { + mCatDescendentDeltas[item->getParentUUID()]--; + mObjectsDeletedIds.insert(*it); + } } // parse _broken_links_removed -> mObjectsDeletedIds @@ -403,8 +409,11 @@ void AISUpdate::parseMeta(const LLSD& update) it != broken_link_ids.end(); ++it) { LLViewerInventoryItem *item = gInventory.getItem(*it); - mCatDescendentDeltas[item->getParentUUID()]--; - mObjectsDeletedIds.insert(*it); + if(item) + { + mCatDescendentDeltas[item->getParentUUID()]--; + mObjectsDeletedIds.insert(*it); + } } // parse _created_items -- cgit v1.2.3 From 32e6df586db4d9f64c3e57bab42e9d8e99a38299 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 29 Jul 2014 14:58:24 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to COF folder is also limited now. --- indra/newview/llinventorybridge.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 13236ea7d9..33e557cddd 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2279,6 +2279,29 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, } } } + U32 max_items_to_wear = gSavedSettings.getU32("WearFolderLimit"); + if (is_movable + && move_is_into_current_outfit + && descendent_items.size() > max_items_to_wear) + { + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(cat_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + + if (items.size() > max_items_to_wear) + { + // Can't move 'large' folders into current outfit: MAINT-4086 + is_movable = FALSE; + LLStringUtil::format_map_t args; + args["AMOUNT"] = llformat("%d", max_items_to_wear); + tooltip_msg = LLTrans::getString("TooltipTooManyWearables",args); + } + } if (is_movable && move_is_into_trash) { for (S32 i=0; i < descendent_items.size(); ++i) -- cgit v1.2.3 From 7d8b90ce98e0b88cf8cfb5c6f6d4e0ce31eaaf64 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 29 Jul 2014 17:55:06 +0300 Subject: MAINT-4289 FIXED [BEAR] Recent Items "Reset Filters" not working correctly --- indra/newview/llfolderviewmodelinventory.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 11d49ff784..7615c12043 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,15 +129,13 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { - bool init_state = getLastFilterGeneration() < 0; LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters || (init_state && before && !mFolderViewItem->getVisible())) + if (before != mPrevPassedAllFilters) { // Need to rearrange the folder if the filtered state of the item changed - // or folder was hidden during update as filter-dirty (MAINT-4218) LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { -- cgit v1.2.3 From 0ea34fba7347987d95926ef5ef20019a6e3bcf86 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 29 Jul 2014 17:55:06 +0300 Subject: MAINT-4289 FIXED [BEAR] Recent Items "Reset Filters" not working correctly reverted and remade MAINT-4218 --- indra/newview/llfolderviewmodelinventory.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 11d49ff784..7615c12043 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,15 +129,13 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { - bool init_state = getLastFilterGeneration() < 0; LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters || (init_state && before && !mFolderViewItem->getVisible())) + if (before != mPrevPassedAllFilters) { // Need to rearrange the folder if the filtered state of the item changed - // or folder was hidden during update as filter-dirty (MAINT-4218) LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { -- cgit v1.2.3 From 4723375709313d99ec8243179e71a114322f810e Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Thu, 31 Jul 2014 18:14:38 +0300 Subject: MAINT-4290 FIXED [BEAR] Recent Items flashes badly and sometimes blanks out when any change is made to inventory and especially when inventory is fetching from a clean cache --- indra/newview/llinventorypanel.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index adfdfebae7..4491ec8488 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -590,9 +590,20 @@ void LLInventoryPanel::modelChanged(U32 mask) } } - if ("Recent Items" == getName()) + if (mask & (LLInventoryObserver::STRUCTURE | LLInventoryObserver::REMOVE)) { - getFilter().setModified(); + // STRUCTURE and REMOVE model changes usually fail to update (clean) + // mMostFilteredDescendantGeneration of parent folder and dirtyFilter() + // is not sufficient for successful filter update, so we need to check + // all already passed element over again to remove obsolete elements. + // New items or moved items should be sufficiently covered by + // dirtyFilter(). + LLInventoryFilter& filter = getFilter(); + if (filter.getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE + || filter.isNotDefault()) + { + filter.setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE); + } } } -- cgit v1.2.3 From 33178d576647d89199b6017dfedee7d99540179a Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 4 Aug 2014 12:11:48 +0300 Subject: MAINT-4317 FIXED the Joystick Configuration help link does not point to the correct page. --- indra/newview/skins/default/xui/en/floater_joystick.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_joystick.xml b/indra/newview/skins/default/xui/en/floater_joystick.xml index 259acccb68..3dfdf8e1a5 100755 --- a/indra/newview/skins/default/xui/en/floater_joystick.xml +++ b/indra/newview/skins/default/xui/en/floater_joystick.xml @@ -4,7 +4,7 @@ height="500" layout="topleft" name="Joystick" - help_topic="joystick" + help_topic="Viewerhelp:Joystick_Configuration" title="JOYSTICK CONFIGURATION" width="569"> <floater.string -- cgit v1.2.3 From 6dc90470275a6d1b1625a05432e63fa54b889ae6 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 4 Aug 2014 12:39:47 +0300 Subject: MAINT-4293 FIXED [BEAR] Very slow inventory fetch on Bear compared to current release) --- indra/newview/llviewerwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d042bd847e..9dcd0b81e0 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1969,7 +1969,7 @@ void LLViewerWindow::initWorldUI() // Force gFloaterTools to initialize LLFloaterReg::getInstance("build"); - LLFloaterReg::hideInstance("build"); + // Status bar LLPanel* status_bar_container = getRootView()->getChild<LLPanel>("status_bar_container"); -- cgit v1.2.3 From 6fe7dab04434dbb21ef11afbb0ce9afd2cc3a70e Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 4 Aug 2014 17:16:02 +0300 Subject: MAINT-4304 FIXED Avatar stuck running if releasing shift during double-tap strafe --- indra/newview/llviewerkeyboard.cpp | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp index b0f4802e20..a4a05587d3 100755 --- a/indra/newview/llviewerkeyboard.cpp +++ b/indra/newview/llviewerkeyboard.cpp @@ -88,18 +88,25 @@ void agent_push_down( EKeystate s ) gAgent.moveUp(-1); } +static void agent_check_temporary_run(LLAgent::EDoubleTapRunMode mode) +{ + if (gAgent.mDoubleTapRunMode == mode && + gAgent.getRunning() && + !gAgent.getAlwaysRun()) + { + // Turn off temporary running. + gAgent.clearRunning(); + gAgent.sendWalkRun(gAgent.getRunning()); + } +} + static void agent_handle_doubletap_run(EKeystate s, LLAgent::EDoubleTapRunMode mode) { if (KEYSTATE_UP == s) { - if (gAgent.mDoubleTapRunMode == mode && - gAgent.getRunning() && - !gAgent.getAlwaysRun()) - { - // Turn off temporary running. - gAgent.clearRunning(); - gAgent.sendWalkRun(gAgent.getRunning()); - } + // Note: in case shift is already released, slide left/right run + // will be released in agent_turn_left()/agent_turn_right() + agent_check_temporary_run(mode); } else if (gSavedSettings.getBOOL("AllowTapTapHoldRun") && KEYSTATE_DOWN == s && @@ -218,7 +225,12 @@ void agent_turn_left( EKeystate s ) } else { - if (KEYSTATE_UP == s) return; + if (KEYSTATE_UP == s) + { + // Check temporary running. In case user released 'left' key with shift already released. + agent_check_temporary_run(LLAgent::DOUBLETAP_SLIDELEFT); + return; + } F32 time = gKeyboard->getCurKeyElapsedTime(); gAgent.moveYaw( LLFloaterMove::getYawRate( time ) ); } @@ -241,7 +253,12 @@ void agent_turn_right( EKeystate s ) } else { - if (KEYSTATE_UP == s) return; + if (KEYSTATE_UP == s) + { + // Check temporary running. In case user released 'right' key with shift already released. + agent_check_temporary_run(LLAgent::DOUBLETAP_SLIDERIGHT); + return; + } F32 time = gKeyboard->getCurKeyElapsedTime(); gAgent.moveYaw( -LLFloaterMove::getYawRate( time ) ); } -- cgit v1.2.3 From c03e22e420a17e47b597c90978eb2f4d206f2ffe Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 6 Aug 2014 17:50:40 +0300 Subject: MAINT-4325 FIXED [BEAR] Fix to "Reset Filters" causes empty folders to appear in Recent tab of Inventory --- indra/newview/llpanelmaininventory.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 2378e09979..ddf1a63c6e 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -151,7 +151,9 @@ BOOL LLPanelMainInventory::postBuild() recent_items_panel->setSinceLogoff(TRUE); recent_items_panel->setSortOrder(LLInventoryFilter::SO_DATE); recent_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); - recent_items_panel->getFilter().markDefault(); + LLInventoryFilter& recent_filter = recent_items_panel->getFilter(); + recent_filter.setFilterObjectTypes(recent_filter.getFilterObjectTypes() & ~(0x1 << LLInventoryType::IT_CATEGORY)); + recent_filter.markDefault(); recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2)); } @@ -183,13 +185,6 @@ BOOL LLPanelMainInventory::postBuild() } - if (recent_items_panel) - { - U64 types = recent_items_panel->getFilter().getFilterObjectTypes(); - types &= ~(0x1 << LLInventoryType::IT_CATEGORY); - recent_items_panel->getFilter().setFilterObjectTypes(types); - } - mFilterEditor = getChild<LLFilterEditor>("inventory search editor"); if (mFilterEditor) { -- cgit v1.2.3 From 3aa0359b2f11c6b9183cd09ba7cd2ce542a536eb Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Wed, 6 Aug 2014 16:10:30 -0400 Subject: SL-90 FIX - support folder_name option in wear_folder SLURL --- indra/newview/llappearancemgr.cpp | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 29534a4382..e35cf011c7 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -4056,17 +4056,33 @@ public: bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { - LLPointer<LLInventoryCategory> category = new LLInventoryCategory(query_map["folder_id"], - LLUUID::null, - LLFolderType::FT_CLOTHING, - "Quick Appearance"); - LLSD::UUID folder_uuid = query_map["folder_id"].asUUID(); - if ( gInventory.getCategory( folder_uuid ) != NULL ) - { - LLAppearanceMgr::getInstance()->wearInventoryCategory(category, true, false); + LLSD::UUID folder_uuid; - // *TODOw: This may not be necessary if initial outfit is chosen already -- josh - gAgent.setOutfitChosen(TRUE); + if (folder_uuid.isNull() && query_map.has("folder_name")) + { + std::string outfit_folder_name = query_map["folder_name"]; + folder_uuid = findDescendentCategoryIDByName( + gInventory.getLibraryRootFolderID(), + outfit_folder_name); + } + if (folder_uuid.isNull() && query_map.has("folder_id")) + { + folder_uuid = query_map["folder_id"].asUUID(); + } + + if (folder_uuid.notNull()) + { + LLPointer<LLInventoryCategory> category = new LLInventoryCategory(folder_uuid, + LLUUID::null, + LLFolderType::FT_CLOTHING, + "Quick Appearance"); + if ( gInventory.getCategory( folder_uuid ) != NULL ) + { + LLAppearanceMgr::getInstance()->wearInventoryCategory(category, true, false); + + // *TODOw: This may not be necessary if initial outfit is chosen already -- josh + gAgent.setOutfitChosen(TRUE); + } } // release avatar picker keyboard focus -- cgit v1.2.3 From cf159e169573c18b259fdab3ace64c946a0620a1 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Thu, 7 Aug 2014 17:32:25 +0300 Subject: MAINT-4325 FIXED [BEAR] Fix to "Reset Filters" causes empty folders to appear in Recent tab of Inventory Clean up - reverted fragment from MAINT-1192, it is no longer needed. --- indra/newview/llinventorypanel.cpp | 9 --------- 1 file changed, 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 4491ec8488..32e5675f5e 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1492,8 +1492,6 @@ public: getFilter().setFilterCategoryTypes(getFilter().getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); } - /*virtual*/ void onVisibilityChange(BOOL new_visibility); - protected: LLInventoryRecentItemsPanel (const Params&); friend class LLUICtrlFactory; @@ -1506,13 +1504,6 @@ LLInventoryRecentItemsPanel::LLInventoryRecentItemsPanel( const Params& params) mInvFVBridgeBuilder = &RECENT_ITEMS_BUILDER; } -void LLInventoryRecentItemsPanel::onVisibilityChange(BOOL new_visibility) -{ - if(new_visibility) - { - getFilter().setModified(); - } -} namespace LLInitParam { void TypeValues<LLFolderType::EType>::declareValues() -- cgit v1.2.3 From 06b605b8666f2336e77126f8ff47765115c08a27 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Fri, 8 Aug 2014 15:20:28 -0400 Subject: MAINT-4257 WIP - already fixed by MAINT-4286, added some warnings --- indra/newview/llaisapi.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp index 623458cb08..96de15bf75 100755 --- a/indra/newview/llaisapi.cpp +++ b/indra/newview/llaisapi.cpp @@ -385,6 +385,10 @@ void AISUpdate::parseMeta(const LLSD& update) mCatDescendentDeltas[cat->getParentUUID()]--; mObjectsDeletedIds.insert(*it); } + else + { + LL_WARNS("Inventory") << "removed category not found " << *it << LL_ENDL; + } } // parse _categories_items_removed -> mObjectsDeletedIds @@ -400,6 +404,10 @@ void AISUpdate::parseMeta(const LLSD& update) mCatDescendentDeltas[item->getParentUUID()]--; mObjectsDeletedIds.insert(*it); } + else + { + LL_WARNS("Inventory") << "removed item not found " << *it << LL_ENDL; + } } // parse _broken_links_removed -> mObjectsDeletedIds @@ -414,6 +422,10 @@ void AISUpdate::parseMeta(const LLSD& update) mCatDescendentDeltas[item->getParentUUID()]--; mObjectsDeletedIds.insert(*it); } + else + { + LL_WARNS("Inventory") << "broken link not found " << *it << LL_ENDL; + } } // parse _created_items @@ -804,7 +816,7 @@ void AISUpdate::doUpdate() // Since this is a copy of the category *before* the accounting update, above, // we need to transfer back the updated version/descendent count. LLViewerInventoryCategory* curr_cat = gInventory.getCategory(new_category->getUUID()); - if (NULL == curr_cat) + if (!curr_cat) { LL_WARNS("Inventory") << "Failed to update unknown category " << new_category->getUUID() << LL_ENDL; } -- cgit v1.2.3 From c9d24fefc0794bc8828db1deb97aac2308cab067 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 11 Aug 2014 15:36:42 +0300 Subject: MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to Nested folders fix --- indra/newview/llinventorybridge.cpp | 33 +++++++++++++++------------------ indra/newview/lltooldraganddrop.cpp | 31 ++++++++++++++----------------- 2 files changed, 29 insertions(+), 35 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 33e557cddd..8e6ac20eaa 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3779,24 +3779,21 @@ void LLFolderBridge::modifyOutfit(BOOL append) // checking amount of items to wear U32 max_items = gSavedSettings.getU32("WearFolderLimit"); - if (cat->getDescendentCount() > max_items) - { - LLInventoryModel::cat_array_t cats; - LLInventoryModel::item_array_t items; - LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); - gInventory.collectDescendentsIf(cat->getUUID(), - cats, - items, - LLInventoryModel::EXCLUDE_TRASH, - not_worn); - - if (items.size() > max_items) - { - LLSD args; - args["AMOUNT"] = llformat("%d", max_items); - LLNotificationsUtil::add("TooManyWearables", args); - return; - } + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(cat->getUUID(), + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + + if (items.size() > max_items) + { + LLSD args; + args["AMOUNT"] = llformat("%d", max_items); + LLNotificationsUtil::add("TooManyWearables", args); + return; } LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, append ); diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 575e5c5c52..8561d265de 100755 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -2173,23 +2173,20 @@ EAcceptance LLToolDragAndDrop::dad3dWearCategory( } U32 max_items = gSavedSettings.getU32("WearFolderLimit"); - if (category->getDescendentCount()>max_items) - { - LLInventoryModel::cat_array_t cats; - LLInventoryModel::item_array_t items; - LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); - gInventory.collectDescendentsIf(category->getUUID(), - cats, - items, - LLInventoryModel::EXCLUDE_TRASH, - not_worn); - if (items.size() > max_items) - { - LLStringUtil::format_map_t args; - args["AMOUNT"] = llformat("%d", max_items); - mCustomMsg = LLTrans::getString("TooltipTooManyWearables",args); - return ACCEPT_NO_CUSTOM; - } + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(category->getUUID(), + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + if (items.size() > max_items) + { + LLStringUtil::format_map_t args; + args["AMOUNT"] = llformat("%d", max_items); + mCustomMsg = LLTrans::getString("TooltipTooManyWearables",args); + return ACCEPT_NO_CUSTOM; } if(mSource == SOURCE_AGENT) -- cgit v1.2.3 From 55fa4b1c37ced0a3f0b38cb17bd6da5dfbc0b69c Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Mon, 18 Aug 2014 16:06:20 +0300 Subject: MAINT-4334 FIXED Request confirmation from the user when paying another avatar to ensure that the destination avatar and L$ amount is correct and intended before the money is sent --- indra/newview/llfloaterpay.cpp | 75 ++++++-- indra/newview/skins/default/xui/en/floater_pay.xml | 187 ++++++++++++-------- .../skins/default/xui/en/floater_pay_object.xml | 194 +++++++++++++-------- .../newview/skins/default/xui/en/notifications.xml | 13 ++ 4 files changed, 303 insertions(+), 166 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp index f0c010b545..a4d13ce1d5 100755 --- a/indra/newview/llfloaterpay.cpp +++ b/indra/newview/llfloaterpay.cpp @@ -40,8 +40,10 @@ #include "lltextbox.h" #include "lllineeditor.h" #include "llmutelist.h" +#include "llnotificationsutil.h" #include "llfloaterreporter.h" #include "llslurl.h" +#include "llstatusbar.h" #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "llviewerregion.h" @@ -90,6 +92,9 @@ public: static void payDirectly(money_callback callback, const LLUUID& target_id, bool is_group); + static bool payConfirmationCallback(const LLSD& notification, + const LLSD& response, + LLGiveMoneyInfo* info); private: static void onCancel(void* data); @@ -111,14 +116,12 @@ protected: LLGiveMoneyInfo* mQuickPayInfo[MAX_PAY_BUTTONS]; LLSafeHandle<LLObjectSelection> mObjectSelection; - - static S32 sLastAmount; }; -S32 LLFloaterPay::sLastAmount = 0; const S32 MAX_AMOUNT_LENGTH = 10; const S32 FASTPAY_BUTTON_WIDTH = 80; +const S32 PAY_AMOUNT_NOTIFICATION = 200; LLFloaterPay::LLFloaterPay(const LLSD& key) : LLFloater(key), @@ -188,17 +191,9 @@ BOOL LLFloaterPay::postBuild() getChildView("amount text")->setVisible(FALSE); - - std::string last_amount; - if(sLastAmount > 0) - { - last_amount = llformat("%d", sLastAmount); - } - getChildView("amount")->setVisible(FALSE); getChild<LLLineEditor>("amount")->setKeystrokeCallback(&LLFloaterPay::onKeystroke, this); - getChild<LLUICtrl>("amount")->setValue(last_amount); getChild<LLLineEditor>("amount")->setPrevalidate(LLTextValidate::validateNonNegativeS32); info = new LLGiveMoneyInfo(this, 0); @@ -207,7 +202,7 @@ BOOL LLFloaterPay::postBuild() childSetAction("pay btn",&LLFloaterPay::onGive,info); setDefaultBtn("pay btn"); getChildView("pay btn")->setVisible(FALSE); - getChildView("pay btn")->setEnabled((sLastAmount > 0)); + getChildView("pay btn")->setEnabled(FALSE); childSetAction("cancel btn",&LLFloaterPay::onCancel,this); @@ -419,7 +414,24 @@ void LLFloaterPay::payDirectly(money_callback callback, floater->finishPayUI(target_id, is_group); } - + +bool LLFloaterPay::payConfirmationCallback(const LLSD& notification, const LLSD& response, LLGiveMoneyInfo* info) +{ + if (!info || !info->mFloater) + { + return false; + } + + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + if (option == 0) + { + info->mFloater->give(info->mAmount); + info->mFloater->closeFloater(); + } + + return false; +} + void LLFloaterPay::finishPayUI(const LLUUID& target_id, BOOL is_group) { std::string slurl; @@ -470,10 +482,40 @@ void LLFloaterPay::onKeystroke(LLLineEditor*, void* data) void LLFloaterPay::onGive(void* data) { LLGiveMoneyInfo* info = reinterpret_cast<LLGiveMoneyInfo*>(data); - if(info && info->mFloater) + LLFloaterPay* floater = info->mFloater; + if(info && floater) { - info->mFloater->give(info->mAmount); - info->mFloater->closeFloater(); + S32 amount = info->mAmount; + if(amount == 0) + { + amount = atoi(floater->getChild<LLUICtrl>("amount")->getValue().asString().c_str()); + } + if (amount > PAY_AMOUNT_NOTIFICATION && gStatusBar && gStatusBar->getBalance() > amount) + { + LLUUID payee_id; + BOOL is_group; + if (floater->mObjectSelection.notNull()) + { + LLSelectNode* node = floater->mObjectSelection->getFirstRootNode(); + node->mPermissions->getOwnership(payee_id, is_group); + } + else + { + is_group = floater->mTargetIsGroup; + payee_id = floater->mTargetUUID; + } + + LLSD args; + args["TARGET"] = LLSLURL( is_group ? "group" : "agent", payee_id, "completename").getSLURLString(); + args["AMOUNT"] = amount; + + LLNotificationsUtil::add("PayConfirmation", args, LLSD(), boost::bind(&LLFloaterPay::payConfirmationCallback, _1, _2, info)); + } + else + { + floater->give(amount); + floater->closeFloater(); + } } } @@ -487,7 +529,6 @@ void LLFloaterPay::give(S32 amount) { amount = atoi(getChild<LLUICtrl>("amount")->getValue().asString().c_str()); } - sLastAmount = amount; // Try to pay an object. if (mObjectSelection.notNull()) diff --git a/indra/newview/skins/default/xui/en/floater_pay.xml b/indra/newview/skins/default/xui/en/floater_pay.xml index 41a7134b1d..9d91f801a6 100755 --- a/indra/newview/skins/default/xui/en/floater_pay.xml +++ b/indra/newview/skins/default/xui/en/floater_pay.xml @@ -2,12 +2,12 @@ <floater legacy_header_height="18" can_minimize="false" - height="200" + height="186" layout="topleft" name="Give Money" help_topic="give_money" save_rect="true" - width="250"> + width="261"> <string name="payee_group"> Pay Group @@ -21,88 +21,129 @@ type="string" length="1" follows="left|top" - font="SansSerifSmall" height="16" layout="topleft" left="10" - name="payee_name" - top="25" - use_ellipses="true" - width="230"> - Test Name That Is Extremely Long To Check Clipping + top="24" + name="paying_text" + width="180"> + You are paying: </text> - <button - height="23" - label="L$1" - label_selected="L$1" - layout="topleft" - left="35" - name="fastpay 1" - top_pad="8" - width="80" /> - <button - height="23" - label="L$5" - label_selected="L$5" - layout="topleft" - left_pad="15" - name="fastpay 5" - width="80" /> - <button - height="23" - label="L$10" - label_selected="L$10" - layout="topleft" - left="35" - name="fastpay 10" - top_pad="8" - width="80" /> - <button - height="23" - label="L$20" - label_selected="L$20" - layout="topleft" - left_pad="15" - name="fastpay 20" - width="80" /> <text type="string" length="1" follows="left|top" - height="18" + font="SansSerifSmall" + height="16" layout="topleft" - left="35" - name="amount text" - top_pad="8" + left="10" + top_pad="5" + name="payee_name" + use_ellipses="true" width="180"> - Or, choose amount: + Test Name That Is Extremely Long To Check Clipping </text> - <line_editor - border_style="line" - follows="left|top|right" - height="19" - top_pad="0" - layout="topleft" - left="130" - max_length_bytes="9" - name="amount" - width="80" /> - <button - enabled="false" - height="23" - label="Pay" - label_selected="Pay" - layout="topleft" - left="20" - name="pay btn" - top_pad="15" - width="100" /> - <button - height="23" - label="Cancel" - label_selected="Cancel" + <panel + border_thickness="0" + height="104" + label="Search" layout="topleft" + left="0" + top_pad="10" + help_topic="avatarpicker" + name="PatternsPanel" + width="120"> + <button + height="23" + label="Pay L$ 1" + label_selected="Pay L$ 1" + layout="topleft" + left="10" + top="0" + name="fastpay 1" + width="110" /> + <button + height="23" + label="Pay L$ 5" + label_selected="Pay L$ 5" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 5" + width="110" /> + <button + height="23" + label="Pay L$ 10" + label_selected="Pay L$ 10" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 10" + width="110" /> + <button + height="23" + label="Pay L$ 20" + label_selected="Pay L$ 20" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 20" + width="110" /> + </panel> + <view_border + bevel_style="in" + width="1" + height="104" left_pad="10" - name="cancel btn" - width="100" /> + layout="topleft" /> + <panel + border_thickness="0" + height="104" + label="Search" + layout="topleft" + left_pad="0" + name="InputPanel" + width="120"> + <text + type="string" + length="1" + follows="left|top" + height="18" + layout="topleft" + left="10" + top="0" + name="amount text" + width="110"> + Other amount: + </text> + <line_editor + border_style="line" + follows="left|top|right" + height="19" + layout="topleft" + left="10" + top_pad="0" + max_length_bytes="9" + name="amount" + width="90" /> + <button + enabled="false" + height="23" + label="Pay" + label_selected="Pay" + layout="topleft" + left="10" + top_pad="17" + name="pay btn" + width="110" /> + <button + height="23" + label="Cancel" + label_selected="Cancel" + layout="topleft" + left="10" + top_pad="4" + name="cancel btn" + width="110" /> + </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_pay_object.xml b/indra/newview/skins/default/xui/en/floater_pay_object.xml index d3a35c2051..f1e27b918e 100755 --- a/indra/newview/skins/default/xui/en/floater_pay_object.xml +++ b/indra/newview/skins/default/xui/en/floater_pay_object.xml @@ -2,12 +2,12 @@ <floater legacy_header_height="18" can_minimize="false" - height="225" + height="228" layout="topleft" name="Give Money" help_topic="give_money" save_rect="true" - width="250"> + width="261"> <string name="payee_group"> Pay Group @@ -16,12 +16,25 @@ name="payee_resident"> Pay Resident </string> + <text + type="string" + length="1" follows="left|top" height="16" layout="topleft" left="10" - top_pad="24" + top="24" + name="paying_text" + width="180"> + You are paying: + </text> + <text + follows="left|top" + height="16" + layout="topleft" + left="10" + top_pad="5" name="payee_name" use_ellipses="true" width="225"> @@ -40,7 +53,7 @@ width="180"> Via object: </text> - <icon + <icon height="16" width="16" image_name="Inv_Object" @@ -64,78 +77,107 @@ width="188"> My awesome object with a really damn long name </text> - <button - height="23" - label="L$1" - label_selected="L$1" - layout="topleft" - left="25" - name="fastpay 1" - top_pad="8" - width="80" /> - <button - height="23" - label="L$5" - label_selected="L$5" - layout="topleft" - left_pad="15" - name="fastpay 5" - width="80" /> - <button - height="23" - label="L$10" - label_selected="L$10" - layout="topleft" - left="25" - name="fastpay 10" - top_pad="8" - width="80" /> - <button - height="23" - label="L$20" - label_selected="L$20" + <panel + border_thickness="0" + height="104" + label="Search" layout="topleft" - left_pad="15" - name="fastpay 20" - width="80" /> - <text - type="string" - length="1" - follows="left|top" - height="14" - layout="topleft" - left="25" - name="amount text" - top_pad="8" - width="180"> - Or, choose amount: - </text> - <line_editor - border_style="line" - follows="left|top|right" - height="21" - top_pad="0" - layout="topleft" - left="120" - max_length_bytes="9" - name="amount" - width="80" /> - <button - enabled="false" - height="23" - label="Pay" - label_selected="Pay" - layout="topleft" - left="10" - name="pay btn" - top_pad="5" - width="100" /> - <button - height="23" - label="Cancel" - label_selected="Cancel" + left="0" + top_pad="10" + help_topic="avatarpicker" + name="PatternsPanel" + width="120"> + <button + height="23" + label="Pay L$ 1" + label_selected="Pay L$ 1" + layout="topleft" + left="10" + top="0" + name="fastpay 1" + width="110" /> + <button + height="23" + label="Pay L$ 5" + label_selected="Pay L$ 5" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 5" + width="110" /> + <button + height="23" + label="Pay L$ 10" + label_selected="Pay L$ 10" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 10" + width="110" /> + <button + height="23" + label="Pay L$ 20" + label_selected="Pay L$ 20" + layout="topleft" + left="10" + top_pad="4" + name="fastpay 20" + width="110" /> + </panel> + <view_border + bevel_style="in" + width="1" + height="104" + left_pad="10" + layout="topleft" /> + <panel + border_thickness="0" + height="104" + label="Search" layout="topleft" - left_pad="5" - name="cancel btn" - width="100" /> + left_pad="0" + name="InputPanel" + width="120"> + <text + type="string" + length="1" + follows="left|top" + height="18" + layout="topleft" + left="10" + top="0" + name="amount text" + width="180"> + Other amount: + </text> + <line_editor + border_style="line" + follows="left|top|right" + height="19" + layout="topleft" + left="10" + top_pad="0" + max_length_bytes="9" + name="amount" + width="90" /> + <button + enabled="false" + height="23" + label="Pay" + label_selected="Pay" + layout="topleft" + left="10" + top_pad="17" + name="pay btn" + width="110" /> + <button + height="23" + label="Cancel" + label_selected="Cancel" + layout="topleft" + left="10" + top_pad="4" + name="cancel btn" + width="110" /> + </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index d606893fc7..55e421ebe0 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5173,6 +5173,19 @@ Warning: The 'Pay object' click action has been set, but it will only </form> </notification> + <notification + icon="alertmodal.tga" + name="PayConfirmation" + type="alertmodal"> + Confirm that you want to pay L$[AMOUNT] to [TARGET]. + <tag>confirm</tag> + <usetemplate + ignoretext="Confirm before paying" + name="okcancelignore" + notext="Cancel" + yestext="Pay"/> + </notification> + <notification icon="alertmodal.tga" name="OpenObjectCannotCopy" -- cgit v1.2.3 From c64544afe9cfc8204137fc7a68f2d70e4830c056 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 19 Aug 2014 15:02:36 +0300 Subject: MAINT-3391 FIXED Sounds no longer play directly when double clicking in inventory. --- indra/newview/llinventorybridge.cpp | 21 ++++++++++++++++++++- indra/newview/llinventorybridge.h | 1 + .../newview/skins/default/xui/en/menu_inventory.xml | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 8e6ac20eaa..d6f2803fc2 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -87,6 +87,8 @@ void copy_slurl_to_clipboard_callback_inv(const std::string& slurl); typedef std::pair<LLUUID, LLUUID> two_uuids_t; typedef std::list<two_uuids_t> two_uuids_list_t; +const F32 SOUND_GAIN = 1.0f; + struct LLMoveInv { LLUUID mObjectID; @@ -4523,6 +4525,23 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags) hide_context_entries(menu, items, disabled_items); } +void LLSoundBridge::performAction(LLInventoryModel* model, std::string action) +{ + if ("sound_play" == action) + { + LLViewerInventoryItem* item = getItem(); + if(item) + { + send_sound_trigger(item->getAssetUUID(), SOUND_GAIN); + } + } + else if ("open" == action) + { + openSoundPreview((void*)this); + } + else LLItemBridge::performAction(model, action); +} + // +=================================================+ // | LLLandmarkBridge | // +=================================================+ @@ -6135,7 +6154,7 @@ public: LLViewerInventoryItem* item = getItem(); if (item) { - LLFloaterReg::showInstance("preview_sound", LLSD(mUUID), TAKE_FOCUS_YES); + send_sound_trigger(item->getAssetUUID(), SOUND_GAIN); } LLInvFVBridgeAction::doIt(); } diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 833fbbadbb..e8d5db4437 100755 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -389,6 +389,7 @@ public: LLItemBridge(inventory, root, uuid) {} virtual void openItem(); virtual void buildContextMenu(LLMenuGL& menu, U32 flags); + virtual void performAction(LLInventoryModel* model, std::string action); static void openSoundPreview(void*); }; diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml index 6fa45d7d66..7099db63ab 100755 --- a/indra/newview/skins/default/xui/en/menu_inventory.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory.xml @@ -531,7 +531,7 @@ name="Sound Play"> <menu_item_call.on_click function="Inventory.DoToSelected" - parameter="open" /> + parameter="sound_play" /> </menu_item_call> <menu_item_separator layout="topleft" -- cgit v1.2.3 From a14ba78dbbfc925c94f1e8ed94b52bc08e626e3d Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Tue, 12 Aug 2014 19:45:53 +0300 Subject: MAINT-4218 FIXED Adding clothing from inventory closes THAT clothing folder and hides THAT folder --- indra/newview/llfolderviewmodelinventory.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 7615c12043..2eca2a8974 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,13 +129,18 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { + bool generation_skip = mMarkedDirtyGeneration >= 0 + && mPrevPassedAllFilters + && mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration(); LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters) + if (before != mPrevPassedAllFilters || generation_skip) { - // Need to rearrange the folder if the filtered state of the item changed + // Need to rearrange the folder if the filtered state of the item changed, + // previously passed item skipped filter generation changes while being dirty + // or previously passed not yet filtered item was marked dirty LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { -- cgit v1.2.3 From d56958e68934e673195ec2966e0a3c20dac7fb41 Mon Sep 17 00:00:00 2001 From: Oz Linden <oz@lindenlab.com> Date: Wed, 13 Aug 2014 17:57:09 -0400 Subject: MAINT-4356 adjust abuse report category label for gaming --- indra/newview/skins/default/xui/en/floater_report_abuse.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_report_abuse.xml b/indra/newview/skins/default/xui/en/floater_report_abuse.xml index c50c8c02fe..af62c7a9bc 100755 --- a/indra/newview/skins/default/xui/en/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/en/floater_report_abuse.xml @@ -253,7 +253,7 @@ name="Land__Encroachment__Objects_textures" value="63" /> <combo_box.item - label="Wagering or Gambling" + label="Gaming Policy Violation" name="Wagering_gambling" value="67" /> </combo_box> -- cgit v1.2.3 From b740891b1f19c3d0e9ee494ef3bdb8adc3dcb151 Mon Sep 17 00:00:00 2001 From: maksymsproductengine <maksymsproductengine@lindenlab.com> Date: Fri, 15 Aug 2014 19:40:21 +0300 Subject: MAINT-4293 [BEAR] Very slow inventory fetch on Bear compared to current release: this change-set will does this issue not [BEAR] and reverts most part of fix for MAINT-1192. --- indra/newview/llinventorypanel.cpp | 6 ------ indra/newview/llpanelmaininventory.cpp | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 32e5675f5e..ce7d4f50ad 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -337,12 +337,6 @@ void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType { if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT) { - //Don't show folder without recent item in it - if ("Recent Items" == getName()) - { - types &= ~(0x1 << LLInventoryType::IT_CATEGORY); - } - getFilter().setFilterObjectTypes(types); } if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY) diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index ddf1a63c6e..90dfb24377 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -151,9 +151,7 @@ BOOL LLPanelMainInventory::postBuild() recent_items_panel->setSinceLogoff(TRUE); recent_items_panel->setSortOrder(LLInventoryFilter::SO_DATE); recent_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); - LLInventoryFilter& recent_filter = recent_items_panel->getFilter(); - recent_filter.setFilterObjectTypes(recent_filter.getFilterObjectTypes() & ~(0x1 << LLInventoryType::IT_CATEGORY)); - recent_filter.markDefault(); + recent_items_panel->getFilter().markDefault(); recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2)); } -- cgit v1.2.3 From b021c90e7bccdd0f9a916946e7716a00034254c2 Mon Sep 17 00:00:00 2001 From: Oz Linden <oz@lindenlab.com> Date: Mon, 18 Aug 2014 14:36:17 -0400 Subject: increment viewer version to 3.7.15 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 35c6ac5179..03d7b8fb9b 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -3.7.14 +3.7.15 -- cgit v1.2.3 From c0457d18fde5ad6c12a470ba607c2c80d94e7cc3 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Thu, 21 Aug 2014 19:32:16 +0300 Subject: MAINT-4293 FIXED Very slow inventory fetch --- indra/newview/llinventoryfilter.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 370392b2f2..47b14811a8 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -124,13 +124,6 @@ bool LLInventoryFilter::checkFolder(const LLFolderViewModelItem* item) const bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const { - // when applying a filter, matching folders get their contents downloaded first - if (isNotDefault() - && !gInventory.isCategoryComplete(folder_id)) - { - LLInventoryModelBackgroundFetch::instance().start(folder_id); - } - // Always check against the clipboard const BOOL passed_clipboard = checkAgainstClipboard(folder_id); @@ -140,6 +133,13 @@ bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const return passed_clipboard; } + // when applying a filter, matching folders get their contents downloaded first + if (mFilterSubString.size() + && !gInventory.isCategoryComplete(folder_id)) + { + LLInventoryModelBackgroundFetch::instance().start(folder_id); + } + // show folder links LLViewerInventoryItem* item = gInventory.getItem(folder_id); if (item && item->getActualType() == LLAssetType::AT_LINK_FOLDER) -- cgit v1.2.3 From 23e2dcce9d2f4290e1f192d4fbcdc26ff4d4c8c3 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Thu, 21 Aug 2014 20:59:48 +0300 Subject: fixing merge conflicts --- indra/newview/llfolderviewmodelinventory.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 7bac47a317..3271a40ea0 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -129,13 +129,18 @@ void LLFolderViewModelItemInventory::requestSort() void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size) { + bool generation_skip = mMarkedDirtyGeneration >= 0 + && mPrevPassedAllFilters + && mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration(); LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size); bool before = mPrevPassedAllFilters; mPrevPassedAllFilters = passedFilter(filter_generation); - if (before != mPrevPassedAllFilters) + if (before != mPrevPassedAllFilters || generation_skip) { - // Need to rearrange the folder if the filtered state of the item changed + // Need to rearrange the folder if the filtered state of the item changed, + // previously passed item skipped filter generation changes while being dirty + // or previously passed not yet filtered item was marked dirty LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder(); if (parent_folder) { -- cgit v1.2.3 From e7266a31d8c8b8191ea265069f65a4279f7cc188 Mon Sep 17 00:00:00 2001 From: Maestro Linden <maestro@lindenlab.com> Date: Mon, 25 Aug 2014 22:14:12 +0000 Subject: Please restore 'Region Debug Console' to viewer menu, under Develop -> Consoles Added the region debug console menu item to Develop->Consoles. Reviewed by Simon. --- indra/newview/skins/default/xui/en/menu_viewer.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index de441983d0..560f81a6fd 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2104,6 +2104,18 @@ function="Floater.Toggle" parameter="notifications_console" /> </menu_item_call> + <menu_item_check + label="Region Debug Console" + name="Region Debug Console" + shortcut="control|shift|`" + use_mac_ctrl="true"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="region_debug_console" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="region_debug_console" /> + </menu_item_check> <menu_item_check label="Fast Timers" name="Fast Timers" -- cgit v1.2.3 From e8adc1d008fbe704798f3b5820fca38ba9abeb48 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Tue, 26 Aug 2014 11:53:57 +0300 Subject: MAINT-4322 FIXED Re-assert DND tag animation if it was cancelled by script, when DND mode is still active --- indra/newview/llagent.cpp | 4 ++-- indra/newview/llvoavatar.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e5a90e8a28..ef1d528aa2 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4116,8 +4116,8 @@ void LLAgent::stopCurrentAnimations() anim_it != gAgentAvatarp->mPlayingAnimations.end(); anim_it++) { - if (anim_it->first == - ANIM_AGENT_SIT_GROUND_CONSTRAINED) + if ((anim_it->first == ANIM_AGENT_DO_NOT_DISTURB)|| + (anim_it->first == ANIM_AGENT_SIT_GROUND_CONSTRAINED)) { // don't cancel a ground-sit anim, as viewers // use this animation's status in diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 22b979aa09..d6c03b6888 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -4884,6 +4884,12 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL { sitDown(FALSE); } + if ((anim_id == ANIM_AGENT_DO_NOT_DISTURB) && gAgent.isDoNotDisturb()) + { + // re-assert DND tag animation + gAgent.sendAnimationRequest(ANIM_AGENT_DO_NOT_DISTURB, ANIM_REQUEST_START); + return result; + } stopMotion(anim_id); result = TRUE; } -- cgit v1.2.3 From 3656d80cf873a8e2852b262d6b5ed88608fdc49b Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 29 Aug 2014 12:00:11 +0300 Subject: MAINT-4239 FIXED Buttons are added to Object contents floater --- indra/newview/llfloateropenobject.cpp | 23 +++++++++-- indra/newview/llfloateropenobject.h | 7 +++- indra/newview/llinventorybridge.cpp | 10 +++-- .../skins/default/xui/en/floater_openobject.xml | 47 +++++++++++++++++----- 4 files changed, 67 insertions(+), 20 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp index 9986bdbd7f..ef746d308d 100755 --- a/indra/newview/llfloateropenobject.cpp +++ b/indra/newview/llfloateropenobject.cpp @@ -58,6 +58,8 @@ LLFloaterOpenObject::LLFloaterOpenObject(const LLSD& key) { mCommitCallbackRegistrar.add("OpenObject.MoveToInventory", boost::bind(&LLFloaterOpenObject::onClickMoveToInventory, this)); mCommitCallbackRegistrar.add("OpenObject.MoveAndWear", boost::bind(&LLFloaterOpenObject::onClickMoveAndWear, this)); + mCommitCallbackRegistrar.add("OpenObject.ReplaceOutfit", boost::bind(&LLFloaterOpenObject::onClickReplace, this)); + mCommitCallbackRegistrar.add("OpenObject.Cancel", boost::bind(&LLFloaterOpenObject::onClickCancel, this)); } LLFloaterOpenObject::~LLFloaterOpenObject() @@ -115,6 +117,7 @@ void LLFloaterOpenObject::refresh() getChild<LLUICtrl>("object_name")->setTextArg("[DESC]", name); getChildView("copy_to_inventory_button")->setEnabled(enabled); getChildView("copy_and_wear_button")->setEnabled(enabled); + getChildView("copy_and_replace_button")->setEnabled(enabled); } @@ -135,7 +138,7 @@ void LLFloaterOpenObject::dirty() -void LLFloaterOpenObject::moveToInventory(bool wear) +void LLFloaterOpenObject::moveToInventory(bool wear, bool replace) { if (mObjectSelection->getRootObjectCount() != 1) { @@ -163,7 +166,7 @@ void LLFloaterOpenObject::moveToInventory(bool wear) parent_category_id = gInventory.getRootFolderID(); } - inventory_func_type func = boost::bind(LLFloaterOpenObject::callbackCreateInventoryCategory,_1,object_id,wear); + inventory_func_type func = boost::bind(LLFloaterOpenObject::callbackCreateInventoryCategory,_1,object_id,wear,replace); LLUUID category_id = gInventory.createNewCategory(parent_category_id, LLFolderType::FT_NONE, name, @@ -177,6 +180,7 @@ void LLFloaterOpenObject::moveToInventory(bool wear) data->mCatID = category_id; data->mWear = wear; data->mFolderResponded = false; + data->mReplace = replace; // Copy and/or move the items into the newly created folder. // Ignore any "you're going to break this item" messages. @@ -194,13 +198,14 @@ void LLFloaterOpenObject::moveToInventory(bool wear) } // static -void LLFloaterOpenObject::callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear) +void LLFloaterOpenObject::callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear, bool replace) { LLCatAndWear* wear_data = new LLCatAndWear; wear_data->mCatID = category_id; wear_data->mWear = wear; wear_data->mFolderResponded = true; + wear_data->mReplace = replace; // Copy and/or move the items into the newly created folder. // Ignore any "you're going to break this item" messages. @@ -241,7 +246,17 @@ void LLFloaterOpenObject::onClickMoveToInventory() void LLFloaterOpenObject::onClickMoveAndWear() { - moveToInventory(true); + moveToInventory(true, false); closeFloater(); } +void LLFloaterOpenObject::onClickReplace() +{ + moveToInventory(true, true); + closeFloater(); +} + +void LLFloaterOpenObject::onClickCancel() +{ + closeFloater(); +} diff --git a/indra/newview/llfloateropenobject.h b/indra/newview/llfloateropenobject.h index 8e472804a4..2e761f99bf 100755 --- a/indra/newview/llfloateropenobject.h +++ b/indra/newview/llfloateropenobject.h @@ -50,6 +50,7 @@ public: LLUUID mCatID; bool mWear; bool mFolderResponded; + bool mReplace; }; protected: @@ -59,11 +60,13 @@ protected: void draw(); virtual void onOpen(const LLSD& key); - void moveToInventory(bool wear); + void moveToInventory(bool wear, bool replace = false); void onClickMoveToInventory(); void onClickMoveAndWear(); - static void callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear); + void onClickReplace(); + void onClickCancel(); + static void callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear, bool replace = false); static void callbackMoveInventory(S32 result, void* data); private: diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index d6f2803fc2..085986dc68 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2787,8 +2787,8 @@ void LLRightClickInventoryFetchDescendentsObserver::execute(bool clear_observer) class LLInventoryCopyAndWearObserver : public LLInventoryObserver { public: - LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false) : - mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added) {} + LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false, bool replace=false) : + mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added), mReplace(replace){} virtual ~LLInventoryCopyAndWearObserver() {} virtual void changed(U32 mask); @@ -2796,6 +2796,7 @@ protected: LLUUID mCatID; int mContentsCount; bool mFolderAdded; + bool mReplace; }; @@ -2834,7 +2835,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask) mContentsCount) { gInventory.removeObserver(this); - LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, TRUE); + LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, !mReplace); delete this; } } @@ -3815,7 +3816,8 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response LLInventoryObject::object_list_t inventory_objects; object->getInventoryContents(inventory_objects); int contents_count = inventory_objects.size()-1; //subtract one for containing folder - LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count, cat_and_wear->mFolderResponded); + LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count, cat_and_wear->mFolderResponded, + cat_and_wear->mReplace); gInventory.addObserver(inventoryObserver); } diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml index bf6e0c4917..a130439baa 100755 --- a/indra/newview/skins/default/xui/en/floater_openobject.xml +++ b/indra/newview/skins/default/xui/en/floater_openobject.xml @@ -6,7 +6,7 @@ height="350" layout="topleft" min_height="160" - min_width="280" + min_width="285" name="objectcontents" help_topic="objectcontents" save_rect="true" @@ -31,36 +31,63 @@ background_visible="false" draw_border="false" follows="all" - height="276" + height="250" layout="topleft" left="10" name="object_contents" top_pad="0" width="284" /> + + <button + follows="bottom|left" + height="23" + label="Copy and add to outfit" + label_selected="Copy and add to outfit" + layout="topleft" + left="15" + name="copy_and_wear_button" + top_pad="5" + width="135"> + <button.commit_callback + function="OpenObject.MoveAndWear" /> + </button> + <button + follows="bottom|left" + height="23" + label="Replace outfit" + label_selected="Replace outfit" + layout="topleft" + left_pad="5" + name="copy_and_replace_button" + width="120"> + <button.commit_callback + function="OpenObject.ReplaceOutfit" /> + </button> + <button follows="bottom|left" height="23" - label="Copy to inventory" - label_selected="Copy to inventory" + label="Only copy to inventory" + label_selected="Only copy to inventory" layout="topleft" left="15" name="copy_to_inventory_button" tab_group="1" top_pad="5" - width="120"> + width="135"> <button.commit_callback function="OpenObject.MoveToInventory" /> </button> <button follows="bottom|left" height="23" - label="Copy and add to outfit" - label_selected="Copy and add to outfit" + label="Cancel" + label_selected="Cancel" layout="topleft" left_pad="5" - name="copy_and_wear_button" - width="135"> + name="cancel_button" + width="120"> <button.commit_callback - function="OpenObject.MoveAndWear" /> + function="OpenObject.Cancel" /> </button> </floater> -- cgit v1.2.3 From 6efd9d09b91f5bbecfcde68c8a59f8fc56b89ad8 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Mon, 1 Sep 2014 11:33:55 +0300 Subject: MAINT-2699 FIXED Disable voice and release mic button when status is changed to STATUS_VOICE_DISABLED. --- indra/newview/llvoicechannel.cpp | 2 ++ indra/newview/llvoicevivox.cpp | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 9a84cae403..426ca332e4 100755 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -725,6 +725,8 @@ void LLVoiceChannelProximal::handleStatusChange(EStatusType status) // do not notify user when leaving proximal channel return; case STATUS_VOICE_DISABLED: + LLVoiceClient::getInstance()->setUserPTTState(false); + gAgent.setVoiceConnected(false); //skip showing "Voice not available at your current location" when agent voice is disabled (EXT-4749) if(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking()) { diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 54b4119331..2f3cd4d24c 100755 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -3169,7 +3169,7 @@ void LLVivoxVoiceClient::mediaStreamUpdatedEvent( session->mErrorStatusCode = statusCode; break; } - + switch(state) { case streamStateIdle: @@ -5433,7 +5433,8 @@ void LLVivoxVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESta // skipped to avoid speak button blinking if ( status != LLVoiceClientStatusObserver::STATUS_JOINING - && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL) + && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL + && status != LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED) { bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); -- cgit v1.2.3 From 9ffa7471bb9e611440e3c12e654b83dfbead2e83 Mon Sep 17 00:00:00 2001 From: andreykproductengine <akleshchev@productengine.com> Date: Wed, 3 Sep 2014 18:26:04 +0300 Subject: MAINT-4363 FIXED In-use script dialogs and pending inventory offers are forced out of view and into their chiclet every time a new conversation is started by another resident or a new group chat session opens --- indra/newview/llfloaterimsessiontab.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index fbdaca0e6f..2864f018b2 100755 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -47,7 +47,7 @@ const F32 REFRESH_INTERVAL = 1.0f; LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id) -: LLTransientDockableFloater(NULL, true, session_id), +: LLTransientDockableFloater(NULL, false, session_id), mIsP2PChat(false), mExpandCollapseBtn(NULL), mTearOffBtn(NULL), -- cgit v1.2.3 From c053dbe02c301b92c151eb835f6c770b61a46859 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine <mnikolenko@productengine.com> Date: Fri, 5 Sep 2014 15:47:11 +0300 Subject: MAINT-1192 FIXED Empty folders remain in the recent items tab of inventory until relog --- indra/newview/llpanelmaininventory.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 90dfb24377..e8a006d0be 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -151,7 +151,9 @@ BOOL LLPanelMainInventory::postBuild() recent_items_panel->setSinceLogoff(TRUE); recent_items_panel->setSortOrder(LLInventoryFilter::SO_DATE); recent_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); - recent_items_panel->getFilter().markDefault(); + LLInventoryFilter& recent_filter = recent_items_panel->getFilter(); + recent_filter.setFilterObjectTypes(recent_filter.getFilterObjectTypes() & ~(0x1 << LLInventoryType::IT_CATEGORY)); + recent_filter.markDefault(); recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2)); } @@ -825,9 +827,9 @@ void LLFloaterInventoryFinder::draw() filtered_by_all_types = FALSE; } - if (!filtered_by_all_types) + if (!filtered_by_all_types || (mPanelMainInventory->getPanel()->getFilter().getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE)) { - // don't include folders in filter, unless I've selected everything + // don't include folders in filter, unless I've selected everything or filtering by date filter &= ~(0x1 << LLInventoryType::IT_CATEGORY); } -- cgit v1.2.3