summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake1
-rw-r--r--indra/cmake/LLAudio.cmake3
-rw-r--r--indra/llcommon/lleventcoro.h7
-rw-r--r--indra/llrender/llfontgl.cpp4
-rw-r--r--indra/llui/llscrollcontainer.cpp31
-rw-r--r--indra/llui/lltextbase.cpp41
-rw-r--r--indra/llui/lltextbase.h8
-rw-r--r--indra/llui/llui.cpp6
-rw-r--r--indra/llui/lluiimage.cpp36
-rw-r--r--indra/llui/lluiimage.h9
-rw-r--r--indra/llwindow/llwindow.h2
-rw-r--r--indra/llwindow/llwindowheadless.h2
-rw-r--r--indra/llwindow/llwindowmacosx.cpp2
-rw-r--r--indra/llwindow/llwindowmacosx.h5
-rw-r--r--indra/llwindow/llwindowmesaheadless.h2
-rw-r--r--indra/llwindow/llwindowsdl.cpp2
-rw-r--r--indra/llwindow/llwindowsdl.h5
-rw-r--r--indra/llwindow/llwindowwin32.cpp3
-rw-r--r--indra/llwindow/llwindowwin32.h5
-rw-r--r--indra/newview/CMakeLists.txt6
-rw-r--r--indra/newview/app_settings/settings.xml6
-rw-r--r--indra/newview/llappviewer.cpp33
-rw-r--r--indra/newview/llcurrencyuimanager.cpp18
-rw-r--r--indra/newview/llfloaterabout.cpp15
-rw-r--r--indra/newview/llfloateranimpreview.cpp84
-rw-r--r--indra/newview/llfloateranimpreview.h2
-rw-r--r--indra/newview/llfloaterpreference.cpp63
-rw-r--r--indra/newview/llfloaterpreference.h4
-rw-r--r--indra/newview/llfloaterreporter.cpp6
-rw-r--r--indra/newview/llfloatersearch.cpp4
-rw-r--r--indra/newview/llfolderviewitem.cpp24
-rw-r--r--indra/newview/llfolderviewitem.h3
-rw-r--r--indra/newview/lllocationinputctrl.cpp7
-rw-r--r--indra/newview/llloginhandler.cpp29
-rw-r--r--indra/newview/llnavigationbar.cpp46
-rw-r--r--indra/newview/llpanellogin.cpp13
-rw-r--r--indra/newview/llstartup.cpp8
-rw-r--r--indra/newview/llversioninfo.cpp109
-rw-r--r--indra/newview/llversioninfo.h71
-rw-r--r--indra/newview/llviewercontrol.cpp1
-rw-r--r--indra/newview/llviewerhelp.cpp1
-rw-r--r--indra/newview/llviewerhelputil.cpp13
-rw-r--r--indra/newview/llviewerhome.cpp4
-rw-r--r--indra/newview/llviewermedia.cpp4
-rw-r--r--indra/newview/llviewermenu.cpp3
-rw-r--r--indra/newview/llviewerprecompiledheaders.h1
-rw-r--r--indra/newview/llviewertexturelist.cpp2
-rw-r--r--indra/newview/skins/default/colors.xml2
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.pngbin0 -> 516 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.pngbin0 -> 505 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Build_Dark.pngbin0 -> 343 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.pngbin0 -> 457 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.pngbin0 -> 325 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Exp_Color.pngbin0 -> 272 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.pngbin0 -> 424 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.pngbin0 -> 429 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.pngbin0 -> 271 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.pngbin0 -> 561 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Health_Dark.pngbin0 -> 285 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_M_Dark.pngbin0 -> 333 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_M_Light.pngbin0 -> 322 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.pngbin0 -> 620 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_PG_Dark.pngbin0 -> 407 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_PG_Light.pngbin0 -> 387 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.pngbin0 -> 523 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.pngbin0 -> 516 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Push_Dark.pngbin0 -> 430 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_R_Dark.pngbin0 -> 319 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_R_Light.pngbin0 -> 309 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.pngbin0 -> 620 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.pngbin0 -> 471 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.pngbin0 -> 492 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.pngbin0 -> 516 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.pngbin0 -> 380 bytes
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Voice_Light.pngbin0 -> 405 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml89
-rw-r--r--indra/newview/skins/default/xui/en/floater_animation_preview.xml35
-rw-r--r--indra/newview/skins/default/xui/en/floater_lagmeter.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_select_key.xml33
-rw-r--r--indra/newview/skins/default/xui/en/floater_sell_land.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_telehub.xml49
-rw-r--r--indra/newview/skins/default/xui/en/floater_test_text_editor.xml12
-rw-r--r--indra/newview/skins/default/xui/en/floater_top_objects.xml84
-rw-r--r--indra/newview/skins/default/xui/en/floater_water.xml32
-rw-r--r--indra/newview/skins/default/xui/en/floater_world_map.xml4
-rw-r--r--indra/newview/skins/default/xui/en/inspect_remote_object.xml67
-rw-r--r--indra/newview/skins/default/xui/en/main_view.xml3
-rw-r--r--indra/newview/skins/default/xui/en/menu_avatar_icon.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_participant_list.xml61
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml8
-rw-r--r--indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml45
-rw-r--r--indra/newview/skins/default/xui/en/panel_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_friends.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_control_panel.xml42
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_notices.xml15
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_roles.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_landmark_info.xml6
-rw-r--r--indra/newview/skins/default/xui/en/panel_main_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/en/panel_media_settings_security.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_my_profile.xml34
-rw-r--r--indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_inventory.xml123
-rw-r--r--indra/newview/skins/default/xui/en/panel_picks.xml6
-rw-r--r--indra/newview/skins/default/xui/en/panel_place_profile.xml46
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_sound.xml127
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_appearance.xml276
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml4
-rw-r--r--indra/newview/skins/default/xui/en/widgets/filter_editor.xml1
-rw-r--r--indra/newview/skins/default/xui/en/widgets/location_input.xml25
-rw-r--r--indra/newview/skins/default/xui/en/widgets/output_monitor.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/search_combo_box.xml3
-rw-r--r--indra/newview/skins/default/xui/en/widgets/search_editor.xml1
-rw-r--r--indra/newview/skins/default/xui/en/widgets/spinner.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml12
-rw-r--r--indra/newview/tests/llviewerhelputil_test.cpp8
-rw-r--r--indra/viewer_components/login/lllogin.cpp20
121 files changed, 1265 insertions, 816 deletions
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 5a142f23c9..faf9da8b14 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -231,7 +231,6 @@ elseif(LINUX)
libstacktrace.so
libtcmalloc.so
libuuid.so.1
- libz.so
libssl.so.0.9.7
)
diff --git a/indra/cmake/LLAudio.cmake b/indra/cmake/LLAudio.cmake
index 89b790c6b0..7c248dfc72 100644
--- a/indra/cmake/LLAudio.cmake
+++ b/indra/cmake/LLAudio.cmake
@@ -6,4 +6,5 @@ set(LLAUDIO_INCLUDE_DIRS
${LIBS_OPEN_DIR}/llaudio
)
-set(LLAUDIO_LIBRARIES llaudio ${OPENAL_LIBRARIES})
+# be exhaustive here
+set(LLAUDIO_LIBRARIES llaudio ${VORBISFILE_LIBRARIES} ${VORBIS_LIBRARIES} ${VORBISENC_LIBRARIES} ${OGG_LIBRARIES} ${OPENAL_LIBRARIES})
diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h
index c6d9de171d..1981ae7482 100644
--- a/indra/llcommon/lleventcoro.h
+++ b/indra/llcommon/lleventcoro.h
@@ -203,9 +203,12 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req
// request event.
LLSD modevent(event);
LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName());
- LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
+ LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
<< " posting to " << requestPump.getPump().getName()
- << ": " << modevent << LL_ENDL;
+ << LL_ENDL;
+
+ // *NOTE:Mani - Removed because modevent could contain user's hashed passwd.
+ // << ": " << modevent << LL_ENDL;
requestPump.getPump().post(modevent);
}
LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp
index 9ba0cfc6b8..a28ffbfdc0 100644
--- a/indra/llrender/llfontgl.cpp
+++ b/indra/llrender/llfontgl.cpp
@@ -446,7 +446,9 @@ F32 LLFontGL::getWidthF32(const llwchar* wchars, S32 begin_offset, S32 max_chars
// for the last character we want to measure the greater of its width and xadvance values
// so keep track of the difference between these values for the each character we measure
// so we can fix things up at the end
- width_padding = llmax(0.f, (F32)fgi->mWidth - advance);
+ width_padding = llmax( 0.f, // always use positive padding amount
+ width_padding - advance, // previous padding left over after advance of current character
+ (F32)(fgi->mWidth + fgi->mXBearing) - advance); // difference between width of this character and advance to next character
cur_x += advance;
llwchar next_char = wchars[i+1];
diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp
index f6caed4617..a5e47e8547 100644
--- a/indra/llui/llscrollcontainer.cpp
+++ b/indra/llui/llscrollcontainer.cpp
@@ -235,18 +235,37 @@ BOOL LLScrollContainer::handleKeyHere(KEY key, MASK mask)
BOOL LLScrollContainer::handleScrollWheel( S32 x, S32 y, S32 clicks )
{
- if(LLUICtrl::handleScrollWheel(x,y,clicks))
+ // Give event to my child views - they may have scroll bars
+ // (Bad UI design, but technically possible.)
+ if (LLUICtrl::handleScrollWheel(x,y,clicks))
return TRUE;
- for( S32 i = 0; i < SCROLLBAR_COUNT; i++ )
- {
- // Note: tries vertical and then horizontal
+ // When the vertical scrollbar is visible, scroll wheel
+ // only affects vertical scrolling. It's confusing to have
+ // scroll wheel perform both vertical and horizontal in a
+ // single container.
+ LLScrollbar* vertical = mScrollbar[VERTICAL];
+ if (vertical->getVisible()
+ && vertical->getEnabled())
+ {
// Pretend the mouse is over the scrollbar
- if( mScrollbar[i]->handleScrollWheel( 0, 0, clicks ) )
+ if (vertical->handleScrollWheel( 0, 0, clicks ) )
{
updateScroll();
- return TRUE;
}
+ // Always eat the event
+ return TRUE;
+ }
+
+ LLScrollbar* horizontal = mScrollbar[HORIZONTAL];
+ // Test enablement and visibility for consistency with
+ // LLView::childrenHandleScrollWheel().
+ if (horizontal->getVisible()
+ && horizontal->getEnabled()
+ && horizontal->handleScrollWheel( 0, 0, clicks ) )
+ {
+ updateScroll();
+ return TRUE;
}
return FALSE;
}
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 82a3c5cf47..2a9515171a 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -194,7 +194,7 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)
mHAlign(p.font_halign),
mLineSpacingMult(p.line_spacing.multiple),
mLineSpacingPixels(p.line_spacing.pixels),
- mClipPartial(p.clip_partial),
+ mClipPartial(p.clip_partial && !p.allow_scroll),
mTrackEnd( p.track_end ),
mScrollIndex(-1),
mSelectionStart( 0 ),
@@ -529,11 +529,6 @@ void LLTextBase::drawText()
S32 next_line = cur_line + 1;
line_info& line = mLineInfoList[cur_line];
- if ((line.mRect.mTop - scrolled_view_rect.mBottom) < mTextRect.mBottom)
- {
- break;
- }
-
S32 next_start = -1;
S32 line_end = text_len;
@@ -543,17 +538,9 @@ void LLTextBase::drawText()
line_end = next_start;
}
- // A patch for EXT-1944 "Implement ellipses in message well"
- // introduced a regression where text in SansSerif ending in the
- // letter "r" is clipped. This may be due to an off-by-one in
- // font width information out of FreeType with our fractional font
- // sizes. For now, just make an extra pixel of space to resolve
- // EXT-2971 "Letter R doesn't show when it's the last letter in a
- // text block". See James/Richard for details.
- const S32 FIX_CLIPPING_HACK = 1;
LLRect text_rect(line.mRect.mLeft + mTextRect.mLeft - scrolled_view_rect.mLeft,
line.mRect.mTop - scrolled_view_rect.mBottom + mTextRect.mBottom,
- llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft + FIX_CLIPPING_HACK,
+ llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft,
line.mRect.mBottom - scrolled_view_rect.mBottom + mTextRect.mBottom);
// draw a single line of text
@@ -1086,6 +1073,10 @@ void LLTextBase::reflow(S32 start_index)
{
mReflowNeeded = FALSE;
+ // shrink document to minimum size (visible portion of text widget)
+ // to force inlined widgets with follows set to shrink
+ mDocumentView->setShape(mTextRect);
+
bool scrolled_to_bottom = mScroller ? mScroller->isAtBottom() : false;
LLRect old_cursor_rect = getLocalRectFromDocIndex(mCursorPos);
@@ -1348,13 +1339,11 @@ std::pair<S32, S32> LLTextBase::getVisibleLines(bool fully_visible)
if (fully_visible)
{
- // binary search for line that starts before top of visible buffer and starts before end of visible buffer
first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_top());
last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_bottom());
}
else
{
- // binary search for line that starts before top of visible buffer and starts before end of visible buffer
first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_bottom());
last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_top());
}
@@ -2105,7 +2094,7 @@ void LLTextBase::updateRects()
LLRect doc_rect = mContentsRect;
// use old mTextRect constraint document to width of viewable region
doc_rect.mLeft = 0;
- doc_rect.mRight = mTextRect.getWidth();
+ doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);
mDocumentView->setShape(doc_rect);
@@ -2125,7 +2114,7 @@ void LLTextBase::updateRects()
}
// update document container again, using new mTextRect
- doc_rect.mRight = doc_rect.mLeft + mTextRect.getWidth();
+ doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);
mDocumentView->setShape(doc_rect);
}
@@ -2218,6 +2207,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLStyleSP& style, S32 start, S32
mEditor(editor)
{
mFontHeight = llceil(mStyle->getFont()->getLineHeight());
+
+ LLUIImagePtr image = mStyle->getImage();
+ if (image.notNull())
+ {
+ mImageLoadedConnection = image->addLoadedCallback(boost::bind(&LLTextBase::needsReflow, &mEditor));
+ }
}
LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible)
@@ -2230,6 +2225,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32
mFontHeight = llceil(mStyle->getFont()->getLineHeight());
}
+LLNormalTextSegment::~LLNormalTextSegment()
+{
+ mImageLoadedConnection.disconnect();
+}
+
+
F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selection_end, const LLRect& draw_rect)
{
if( end - start > 0 )
@@ -2243,7 +2244,7 @@ F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selec
// Center the image vertically
S32 image_bottom = draw_rect.getCenterY() - (style_image_height/2);
image->draw(draw_rect.mLeft, image_bottom,
- style_image_width, style_image_height);
+ style_image_width, style_image_height, color);
}
return drawClippedSegment( getStart() + start, getStart() + end, selection_start, selection_end, draw_rect);
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index c60b040655..0138ca3704 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -136,7 +136,6 @@ public:
// TODO: move into LLTextSegment?
void createUrlContextMenu(S32 x, S32 y, const std::string &url); // create a popup context menu for the given Url
-
// Text accessors
// TODO: add optional style parameter
virtual void setText(const LLStringExplicit &utf8str , const LLStyle::Params& input_params = LLStyle::Params()); // uses default style
@@ -148,6 +147,8 @@ public:
LLWString getWText() const;
void appendText(const std::string &new_text, bool prepend_newline, const LLStyle::Params& input_params = LLStyle::Params());
+ // force reflow of text
+ void needsReflow() { mReflowNeeded = TRUE; }
S32 getLength() const { return getWText().length(); }
S32 getLineCount() const { return mLineInfoList.size(); }
@@ -162,7 +163,6 @@ public:
S32 getVPad() { return mVPad; }
S32 getHPad() { return mHPad; }
-
S32 getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round ) const;
LLRect getLocalRectFromDocIndex(S32 pos) const;
LLRect getDocRectFromDocIndex(S32 pos) const;
@@ -180,6 +180,7 @@ public:
void changePage( S32 delta );
void changeLine( S32 delta );
+
const LLFontGL* getDefaultFont() const { return mDefaultFont; }
public:
@@ -303,7 +304,6 @@ protected:
// misc
void updateRects();
- void needsReflow() { mReflowNeeded = TRUE; }
void needsScroll() { mScrollNeeded = TRUE; }
void replaceUrlLabel(const std::string &url, const std::string &label);
@@ -426,6 +426,7 @@ class LLNormalTextSegment : public LLTextSegment
public:
LLNormalTextSegment( const LLStyleSP& style, S32 start, S32 end, LLTextBase& editor );
LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible = TRUE);
+ ~LLNormalTextSegment();
/*virtual*/ bool getDimensions(S32 first_char, S32 num_chars, S32& width, S32& height) const;
/*virtual*/ S32 getOffset(S32 segment_local_x_coord, S32 start_offset, S32 num_chars, bool round) const;
@@ -457,6 +458,7 @@ protected:
S32 mFontHeight;
LLKeywordToken* mToken;
std::string mTooltip;
+ boost::signals2::connection mImageLoadedConnection;
};
class LLIndexSegment : public LLTextSegment
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index 4cf503b413..6603887905 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -1847,8 +1847,8 @@ LLControlGroup& LLUI::getControlControlGroup (const std::string& controlname)
// spawn_x and spawn_y are top left corner of view in screen GL coordinates
void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)
{
- const S32 CURSOR_HEIGHT = 18; // Approximate "normal" cursor size
- const S32 CURSOR_WIDTH = 9;
+ const S32 CURSOR_HEIGHT = 16; // Approximate "normal" cursor size
+ const S32 CURSOR_WIDTH = 8;
LLView* parent = view->getParent();
@@ -1866,7 +1866,7 @@ void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)
LLRect virtual_window_rect = parent->getLocalRect();
LLRect mouse_rect;
- const S32 MOUSE_CURSOR_PADDING = 5;
+ const S32 MOUSE_CURSOR_PADDING = 1;
mouse_rect.setLeftTopAndSize(mouse_x - MOUSE_CURSOR_PADDING,
mouse_y + MOUSE_CURSOR_PADDING,
CURSOR_WIDTH + MOUSE_CURSOR_PADDING * 2,
diff --git a/indra/llui/lluiimage.cpp b/indra/llui/lluiimage.cpp
index a8683e55c3..f941f391eb 100644
--- a/indra/llui/lluiimage.cpp
+++ b/indra/llui/lluiimage.cpp
@@ -39,18 +39,20 @@
#include "lluiimage.h"
#include "llui.h"
-LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image) :
- mName(name),
- mImage(image),
- mScaleRegion(0.f, 1.f, 1.f, 0.f),
- mClipRegion(0.f, 1.f, 1.f, 0.f),
- mUniformScaling(TRUE),
- mNoClip(TRUE)
+LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image)
+: mName(name),
+ mImage(image),
+ mScaleRegion(0.f, 1.f, 1.f, 0.f),
+ mClipRegion(0.f, 1.f, 1.f, 0.f),
+ mUniformScaling(TRUE),
+ mNoClip(TRUE),
+ mImageLoaded(NULL)
{
}
LLUIImage::~LLUIImage()
{
+ delete mImageLoaded;
}
void LLUIImage::setClipRegion(const LLRectf& region)
@@ -138,6 +140,25 @@ S32 LLUIImage::getTextureHeight() const
return mImage->getHeight(0);
}
+boost::signals2::connection LLUIImage::addLoadedCallback( const image_loaded_signal_t::slot_type& cb )
+{
+ if (!mImageLoaded)
+ {
+ mImageLoaded = new image_loaded_signal_t();
+ }
+ return mImageLoaded->connect(cb);
+}
+
+
+void LLUIImage::onImageLoaded()
+{
+ if (mImageLoaded)
+ {
+ (*mImageLoaded)();
+ }
+}
+
+
namespace LLInitParam
{
LLUIImage* TypedParam<LLUIImage*>::getValueFromBlock() const
@@ -170,3 +191,4 @@ namespace LLInitParam
return (a == b);
}
}
+
diff --git a/indra/llui/lluiimage.h b/indra/llui/lluiimage.h
index 9d734bcfdf..5fa9610ab2 100644
--- a/indra/llui/lluiimage.h
+++ b/indra/llui/lluiimage.h
@@ -39,6 +39,7 @@
#include "llrefcount.h"
#include "llrect.h"
#include <boost/function.hpp>
+#include <boost/signals2.hpp>
#include "llinitparam.h"
#include "lltexture.h"
@@ -47,6 +48,8 @@ extern const LLColor4 UI_VERTEX_COLOR;
class LLUIImage : public LLRefCount
{
public:
+ typedef boost::signals2::signal<void (void)> image_loaded_signal_t;
+
LLUIImage(const std::string& name, LLPointer<LLTexture> image);
virtual ~LLUIImage();
@@ -77,7 +80,13 @@ public:
S32 getTextureWidth() const;
S32 getTextureHeight() const;
+ boost::signals2::connection addLoadedCallback( const image_loaded_signal_t::slot_type& cb );
+
+ void onImageLoaded();
+
protected:
+ image_loaded_signal_t* mImageLoaded;
+
std::string mName;
LLRectf mScaleRegion;
LLRectf mClipRegion;
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index 8602225108..127dbf45e0 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -70,6 +70,8 @@ public:
virtual BOOL getMinimized() = 0;
virtual BOOL getMaximized() = 0;
virtual BOOL maximize() = 0;
+ virtual void minimize() = 0;
+ virtual void restore() = 0;
BOOL getFullscreen() { return mFullscreen; };
virtual BOOL getPosition(LLCoordScreen *position) = 0;
virtual BOOL getSize(LLCoordScreen *size) = 0;
diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h
index 3cffd2bbf6..59fc2ec657 100644
--- a/indra/llwindow/llwindowheadless.h
+++ b/indra/llwindow/llwindowheadless.h
@@ -45,6 +45,8 @@ public:
/*virtual*/ BOOL getMinimized() {return FALSE;};
/*virtual*/ BOOL getMaximized() {return FALSE;};
/*virtual*/ BOOL maximize() {return FALSE;};
+ /*virtual*/ void minimize() {};
+ /*virtual*/ void restore() {};
/*virtual*/ BOOL getFullscreen() {return FALSE;};
/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 86bbb0bcf8..ed62faece6 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -1033,6 +1033,7 @@ void LLWindowMacOSX::hide()
HideWindow(mWindow);
}
+//virtual
void LLWindowMacOSX::minimize()
{
setMouseClipping(FALSE);
@@ -1040,6 +1041,7 @@ void LLWindowMacOSX::minimize()
CollapseWindow(mWindow, true);
}
+//virtual
void LLWindowMacOSX::restore()
{
show();
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index 17074080eb..fbfa07fab4 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -56,6 +56,8 @@ public:
/*virtual*/ BOOL getMinimized();
/*virtual*/ BOOL getMaximized();
/*virtual*/ BOOL maximize();
+ /*virtual*/ void minimize();
+ /*virtual*/ void restore();
/*virtual*/ BOOL getFullscreen();
/*virtual*/ BOOL getPosition(LLCoordScreen *position);
/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -139,9 +141,6 @@ protected:
// Restore the display resolution to its value before we ran the app.
BOOL resetDisplayResolution();
- void minimize();
- void restore();
-
BOOL shouldPostQuit() { return mPostQuit; }
diff --git a/indra/llwindow/llwindowmesaheadless.h b/indra/llwindow/llwindowmesaheadless.h
index 46b62b914c..06146afde7 100644
--- a/indra/llwindow/llwindowmesaheadless.h
+++ b/indra/llwindow/llwindowmesaheadless.h
@@ -49,6 +49,8 @@ public:
/*virtual*/ BOOL getMinimized() {return FALSE;};
/*virtual*/ BOOL getMaximized() {return FALSE;};
/*virtual*/ BOOL maximize() {return FALSE;};
+ /*virtual*/ void minimize() {};
+ /*virtual*/ void restore() {};
/*virtual*/ BOOL getFullscreen() {return FALSE;};
/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index e671fc8a83..bfdf1147a1 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -839,11 +839,13 @@ void LLWindowSDL::hide()
// *FIX: What to do with SDL?
}
+//virtual
void LLWindowSDL::minimize()
{
// *FIX: What to do with SDL?
}
+//virtual
void LLWindowSDL::restore()
{
// *FIX: What to do with SDL?
diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h
index dcf41291ec..0ba1c861da 100644
--- a/indra/llwindow/llwindowsdl.h
+++ b/indra/llwindow/llwindowsdl.h
@@ -62,6 +62,8 @@ public:
/*virtual*/ BOOL getMinimized();
/*virtual*/ BOOL getMaximized();
/*virtual*/ BOOL maximize();
+ /*virtual*/ void minimize();
+ /*virtual*/ void restore();
/*virtual*/ BOOL getFullscreen();
/*virtual*/ BOOL getPosition(LLCoordScreen *position);
/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -165,9 +167,6 @@ protected:
// Go back to last fullscreen display resolution.
BOOL setFullscreenResolution();
- void minimize();
- void restore();
-
BOOL shouldPostQuit() { return mPostQuit; }
protected:
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index c608c21d05..3b9c840e72 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -643,6 +643,7 @@ void LLWindowWin32::hide()
ShowWindow(mWindowHandle, SW_HIDE);
}
+//virtual
void LLWindowWin32::minimize()
{
setMouseClipping(FALSE);
@@ -650,7 +651,7 @@ void LLWindowWin32::minimize()
ShowWindow(mWindowHandle, SW_MINIMIZE);
}
-
+//virtual
void LLWindowWin32::restore()
{
ShowWindow(mWindowHandle, SW_RESTORE);
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index e14324c9f1..e4e9179db7 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -54,6 +54,8 @@ public:
/*virtual*/ BOOL getMinimized();
/*virtual*/ BOOL getMaximized();
/*virtual*/ BOOL maximize();
+ /*virtual*/ void minimize();
+ /*virtual*/ void restore();
/*virtual*/ BOOL getFullscreen();
/*virtual*/ BOOL getPosition(LLCoordScreen *position);
/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -137,9 +139,6 @@ protected:
// Restore the display resolution to its value before we ran the app.
BOOL resetDisplayResolution();
- void minimize();
- void restore();
-
BOOL shouldPostQuit() { return mPostQuit; }
void fillCompositionForm(const LLRect& bounds, COMPOSITIONFORM *form);
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 9f525d82b9..57d67bd560 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -448,6 +448,7 @@ set(viewer_SOURCE_FILES
llurlsimstring.cpp
llurlwhitelist.cpp
llvectorperfoptions.cpp
+ llversioninfo.cpp
llviewchildren.cpp
llviewerassetstorage.cpp
llviewerassettype.cpp
@@ -497,7 +498,6 @@ set(viewer_SOURCE_FILES
llviewertextureanim.cpp
llviewertexturelist.cpp
llviewerthrottle.cpp
- llviewerversion.cpp
llviewervisualparam.cpp
llviewerwindow.cpp
llviewerwindowlistener.cpp
@@ -953,6 +953,7 @@ set(viewer_HEADER_FILES
llurlsimstring.h
llurlwhitelist.h
llvectorperfoptions.h
+ llversioninfo.h
llviewchildren.h
llviewerassetstorage.h
llviewerassettype.h
@@ -999,7 +1000,6 @@ set(viewer_HEADER_FILES
llviewertextureanim.h
llviewertexturelist.h
llviewerthrottle.h
- llviewerversion.h
llviewervisualparam.h
llviewerwindow.h
llviewerwindowlistener.h
@@ -1523,7 +1523,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${BOOST_REGEX_LIBRARY}
${DBUSGLIB_LIBRARIES}
${OPENGL_LIBRARIES}
- ${FMODWRAPPER_LIBRARY}
+ ${FMODWRAPPER_LIBRARY} # must come after LLAudio
${OPENGL_LIBRARIES}
${SDL_LIBRARY}
${SMARTHEAP_LIBRARY}
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index a647bc09f2..5e2c6554d2 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1044,7 +1044,7 @@
<key>Type</key>
<string>S32</string>
<key>Value</key>
- <integer>10</integer>
+ <integer>4</integer>
</map>
<key>ButtonHeight</key>
<map>
@@ -1055,7 +1055,7 @@
<key>Type</key>
<string>S32</string>
<key>Value</key>
- <integer>20</integer>
+ <integer>23</integer>
</map>
<key>ButtonHeightSmall</key>
<map>
@@ -1066,7 +1066,7 @@
<key>Type</key>
<string>S32</string>
<key>Value</key>
- <integer>16</integer>
+ <integer>23</integer>
</map>
<key>ButtonVPad</key>
<map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 9af25a90f1..9a1b749ba7 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -35,8 +35,7 @@
#include "llappviewer.h"
// Viewer includes
-#include "llversionviewer.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
#include "llfeaturemanager.h"
#include "lluictrlfactory.h"
#include "lltexteditor.h"
@@ -652,7 +651,7 @@ bool LLAppViewer::init()
// Build a string representing the current version number.
gCurrentVersion = llformat("%s %s",
gSavedSettings.getString("VersionChannelName").c_str(),
- llGetViewerVersion().c_str());
+ LLVersionInfo::getVersion().c_str());
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -1873,7 +1872,7 @@ bool LLAppViewer::initConfiguration()
gSavedSettings.setString("ClientSettingsFile",
gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, getSettingsFilename("Default", "Global")));
- gSavedSettings.setString("VersionChannelName", LL_CHANNEL);
+ gSavedSettings.setString("VersionChannelName", LLVersionInfo::getChannel());
#ifndef LL_RELEASE_FOR_DOWNLOAD
// provide developer build only overrides for these control variables that are not
@@ -2484,10 +2483,10 @@ void LLAppViewer::writeSystemInfo()
gDebugInfo["SLLog"] = LLError::logFileName();
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
- gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
- gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
- gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
- gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
+ gDebugInfo["ClientInfo"]["MajorVersion"] = LLVersionInfo::getMajor();
+ gDebugInfo["ClientInfo"]["MinorVersion"] = LLVersionInfo::getMinor();
+ gDebugInfo["ClientInfo"]["PatchVersion"] = LLVersionInfo::getPatch();
+ gDebugInfo["ClientInfo"]["BuildVersion"] = LLVersionInfo::getBuild();
gDebugInfo["CAFilename"] = gDirUtilp->getCAFile();
@@ -2521,7 +2520,7 @@ void LLAppViewer::writeSystemInfo()
// Dump some debugging info
LL_INFOS("SystemInfo") << LLTrans::getString("APP_NAME")
- << " version " << llGetViewerShortVersion() << LL_ENDL;
+ << " version " << LLVersionInfo::getShortVersion() << LL_ENDL;
// Dump the local time and time zone
time_t now;
@@ -2575,10 +2574,10 @@ void LLAppViewer::handleViewerCrash()
//to check against no matter what
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
- gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
- gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
- gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
- gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
+ gDebugInfo["ClientInfo"]["MajorVersion"] = LLVersionInfo::getMajor();
+ gDebugInfo["ClientInfo"]["MinorVersion"] = LLVersionInfo::getMinor();
+ gDebugInfo["ClientInfo"]["PatchVersion"] = LLVersionInfo::getPatch();
+ gDebugInfo["ClientInfo"]["BuildVersion"] = LLVersionInfo::getBuild();
LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if ( parcel && parcel->getMusicURL()[0])
@@ -4161,10 +4160,10 @@ void LLAppViewer::handleLoginComplete()
// Store some data to DebugInfo in case of a freeze.
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
- gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
- gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
- gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
- gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
+ gDebugInfo["ClientInfo"]["MajorVersion"] = LLVersionInfo::getMajor();
+ gDebugInfo["ClientInfo"]["MinorVersion"] = LLVersionInfo::getMinor();
+ gDebugInfo["ClientInfo"]["PatchVersion"] = LLVersionInfo::getPatch();
+ gDebugInfo["ClientInfo"]["BuildVersion"] = LLVersionInfo::getBuild();
LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if ( parcel && parcel->getMusicURL()[0])
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp
index 544711a862..00c05445e1 100644
--- a/indra/newview/llcurrencyuimanager.cpp
+++ b/indra/newview/llcurrencyuimanager.cpp
@@ -36,7 +36,7 @@
#include "lltextbox.h"
#include "lllineeditor.h"
#include "llviewercontrol.h"
-#include "llversionviewer.h"
+#include "llversioninfo.h"
#include "llcurrencyuimanager.h"
@@ -170,10 +170,10 @@ void LLCurrencyUIManager::Impl::updateCurrencyInfo()
gAgent.getSecureSessionID().asString());
keywordArgs.appendInt("currencyBuy", mUserCurrencyBuy);
keywordArgs.appendString("viewerChannel", gSavedSettings.getString("VersionChannelName"));
- keywordArgs.appendInt("viewerMajorVersion", LL_VERSION_MAJOR);
- keywordArgs.appendInt("viewerMinorVersion", LL_VERSION_MINOR);
- keywordArgs.appendInt("viewerPatchVersion", LL_VERSION_PATCH);
- keywordArgs.appendInt("viewerBuildVersion", LL_VERSION_BUILD);
+ keywordArgs.appendInt("viewerMajorVersion", LLVersionInfo::getMajor());
+ keywordArgs.appendInt("viewerMinorVersion", LLVersionInfo::getMinor());
+ keywordArgs.appendInt("viewerPatchVersion", LLVersionInfo::getPatch());
+ keywordArgs.appendInt("viewerBuildVersion", LLVersionInfo::getBuild());
LLXMLRPCValue params = LLXMLRPCValue::createArray();
params.append(keywordArgs);
@@ -244,10 +244,10 @@ void LLCurrencyUIManager::Impl::startCurrencyBuy(const std::string& password)
keywordArgs.appendString("password", password);
}
keywordArgs.appendString("viewerChannel", gSavedSettings.getString("VersionChannelName"));
- keywordArgs.appendInt("viewerMajorVersion", LL_VERSION_MAJOR);
- keywordArgs.appendInt("viewerMinorVersion", LL_VERSION_MINOR);
- keywordArgs.appendInt("viewerPatchVersion", LL_VERSION_PATCH);
- keywordArgs.appendInt("viewerBuildVersion", LL_VERSION_BUILD);
+ keywordArgs.appendInt("viewerMajorVersion", LLVersionInfo::getMajor());
+ keywordArgs.appendInt("viewerMinorVersion", LLVersionInfo::getMinor());
+ keywordArgs.appendInt("viewerPatchVersion", LLVersionInfo::getPatch());
+ keywordArgs.appendInt("viewerBuildVersion", LLVersionInfo::getBuild());
LLXMLRPCValue params = LLXMLRPCValue::createArray();
params.append(keywordArgs);
diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp
index b2588cc01b..e80499688e 100644
--- a/indra/newview/llfloaterabout.cpp
+++ b/indra/newview/llfloaterabout.cpp
@@ -45,8 +45,7 @@
#include "llviewercontrol.h"
#include "llviewerstats.h"
#include "llviewerregion.h"
-#include "llversionviewer.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
#include "llweb.h"
// Linden library includes
@@ -212,12 +211,12 @@ LLSD LLFloaterAbout::getInfo()
// LLFloaterAbout.
LLSD info;
LLSD version;
- version.append(LL_VERSION_MAJOR);
- version.append(LL_VERSION_MINOR);
- version.append(LL_VERSION_PATCH);
- version.append(LL_VERSION_BUILD);
+ version.append(LLVersionInfo::getMajor());
+ version.append(LLVersionInfo::getMinor());
+ version.append(LLVersionInfo::getPatch());
+ version.append(LLVersionInfo::getBuild());
info["VIEWER_VERSION"] = version;
- info["VIEWER_VERSION_STR"] = llGetViewerVersion();
+ info["VIEWER_VERSION_STR"] = LLVersionInfo::getVersion();
info["BUILD_DATE"] = __DATE__;
info["BUILD_TIME"] = __TIME__;
info["CHANNEL"] = gSavedSettings.getString("VersionChannelName");
@@ -285,7 +284,7 @@ static std::string get_viewer_release_notes_url()
{
LLSD query;
query["channel"] = gSavedSettings.getString("VersionChannelName");
- query["version"] = llGetViewerVersion();
+ query["version"] = LLVersionInfo::getVersion();
std::ostringstream url;
url << LLTrans::getString("RELEASE_NOTES_BASE_URL") << LLURI::mapToQueryString(query);
diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp
index eae2747cc9..9e6ef2fc4d 100644
--- a/indra/newview/llfloateranimpreview.cpp
+++ b/indra/newview/llfloateranimpreview.cpp
@@ -208,7 +208,12 @@ BOOL LLFloaterAnimPreview::postBuild()
mPlayButton = getChild<LLButton>( "play_btn");
mPlayButton->setClickedCallback(onBtnPlay, this);
+ mPlayButton->setVisible(true);
+ mPauseButton = getChild<LLButton>( "pause_btn");
+ mPauseButton->setClickedCallback(onBtnPause, this);
+ mPauseButton->setVisible(false);
+
mStopButton = getChild<LLButton>( "stop_btn");
mStopButton->setClickedCallback(onBtnStop, this);
@@ -560,24 +565,60 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)
if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
{
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
-
+
if(!avatarp->isMotionActive(previewp->mMotionID))
{
previewp->resetMotion();
previewp->mPauseRequest = NULL;
+ previewp->mPauseButton->setVisible(TRUE);
+ previewp->mPauseButton->setEnabled(TRUE);
+ previewp->mPlayButton->setVisible(FALSE);
+ previewp->mPlayButton->setEnabled(FALSE);
}
- else
+ else if (avatarp->areAnimationsPaused())
{
- if (avatarp->areAnimationsPaused())
- {
- previewp->mPauseRequest = NULL;
- }
- else
+
+ previewp->mPauseRequest = NULL;
+ previewp->mPauseButton->setVisible(TRUE);
+ previewp->mPauseButton->setEnabled(TRUE);
+ previewp->mPlayButton->setVisible(FALSE);
+ previewp->mPlayButton->setEnabled(FALSE);
+ }
+
+ }
+
+
+
+}
+
+//-----------------------------------------------------------------------------
+// onBtnPause()
+//-----------------------------------------------------------------------------
+void LLFloaterAnimPreview::onBtnPause(void* user_data)
+{
+ LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data;
+ if (!previewp->getEnabled())
+ return;
+
+ if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
+ {
+ LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
+
+ if(avatarp->isMotionActive(previewp->mMotionID))
+ {
+ if (!avatarp->areAnimationsPaused())
{
previewp->mPauseRequest = avatarp->requestPause();
+
+ previewp->mPlayButton->setVisible(TRUE);
+ previewp->mPlayButton->setEnabled(TRUE);
+ previewp->mPauseButton->setVisible(FALSE);
+ previewp->mPauseButton->setEnabled(FALSE);
}
}
}
+
+
}
//-----------------------------------------------------------------------------
@@ -595,6 +636,10 @@ void LLFloaterAnimPreview::onBtnStop(void* user_data)
previewp->resetMotion();
previewp->mPauseRequest = avatarp->requestPause();
}
+ previewp->mPlayButton->setVisible(TRUE);
+ previewp->mPlayButton->setEnabled(TRUE);
+ previewp->mPauseButton->setVisible(FALSE);
+ previewp->mPauseButton->setEnabled(FALSE);
}
//-----------------------------------------------------------------------------
@@ -912,43 +957,38 @@ void LLFloaterAnimPreview::refresh()
{
childShow("bad_animation_text");
mPlayButton->setEnabled(FALSE);
+ mPlayButton->setVisible(TRUE);
+ mPauseButton->setVisible(FALSE);
mStopButton->setEnabled(FALSE);
childDisable("ok_btn");
}
else
{
childHide("bad_animation_text");
- mPlayButton->setEnabled(TRUE);
LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();
if (avatarp->isMotionActive(mMotionID))
{
mStopButton->setEnabled(TRUE);
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);
- if (avatarp->areAnimationsPaused())
- {
-
- mPlayButton->setImages(std::string("button_anim_play.tga"),
- std::string("button_anim_play_selected.tga"));
-
- }
- else
+ if (!avatarp->areAnimationsPaused())
{
if (motionp)
{
F32 fraction_complete = motionp->getLastUpdateTime() / motionp->getDuration();
childSetValue("playback_slider", fraction_complete);
}
- mPlayButton->setImages(std::string("button_anim_pause.tga"),
- std::string("button_anim_pause_selected.tga"));
-
+
+ mPlayButton->setVisible(FALSE);
+ mPauseButton->setVisible(TRUE);
+
}
+
}
else
{
mPauseRequest = avatarp->requestPause();
- mPlayButton->setImages(std::string("button_anim_play.tga"),
- std::string("button_anim_play_selected.tga"));
-
+ //mPlayButton->setVisible(TRUE);
+ //mPlayButton->setEnabled(TRUE);
mStopButton->setEnabled(TRUE); // stop also resets, leave enabled.
}
childEnable("ok_btn");
diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h
index f1c4a6b0d0..09b04f1f42 100644
--- a/indra/newview/llfloateranimpreview.h
+++ b/indra/newview/llfloateranimpreview.h
@@ -87,6 +87,7 @@ public:
void refresh();
static void onBtnPlay(void*);
+ static void onBtnPause(void*);
static void onBtnStop(void*);
static void onSliderMove(LLUICtrl*, void*);
static void onCommitBaseAnim(LLUICtrl*, void*);
@@ -119,6 +120,7 @@ protected:
S32 mLastMouseX;
S32 mLastMouseY;
LLButton* mPlayButton;
+ LLButton* mPauseButton;
LLButton* mStopButton;
LLRect mPreviewRect;
LLRectf mPreviewImageRect;
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 1c1f27a259..ab27375b87 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -251,7 +251,7 @@ bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFlo
{
floater->setAllIgnored();
LLFirstUse::disableFirstUse();
- LLFloaterPreference::buildLists(floater);
+ floater->buildPopupLists();
}
}
return false;
@@ -266,7 +266,7 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl
{
floater->resetAllIgnored();
LLFirstUse::resetFirstUse();
- LLFloaterPreference::buildLists(floater);
+ floater->buildPopupLists();
}
}
return false;
@@ -391,6 +391,7 @@ LLFloaterPreference::~LLFloaterPreference()
ctrl_window_size->setCurrentByIndex(i);
}
}
+
void LLFloaterPreference::draw()
{
BOOL has_first_selected = (getChildRef<LLScrollListCtrl>("disabled_popups").getFirstSelected()!=NULL);
@@ -548,17 +549,17 @@ void LLFloaterPreference::cancel()
void LLFloaterPreference::onOpen(const LLSD& key)
{
gAgent.sendAgentUserInfoRequest();
+
/////////////////////////// From LLPanelGeneral //////////////////////////
// if we have no agent, we can't let them choose anything
// if we have an agent, then we only let them choose if they have a choice
- bool canChoose = gAgent.getID().notNull() &&
- (gAgent.isMature() || gAgent.isGodlike());
+ bool can_choose_maturity =
+ gAgent.getID().notNull() && (gAgent.isMature() || gAgent.isGodlike());
LLComboBox* maturity_combo = getChild<LLComboBox>("maturity_desired_combobox");
- if (canChoose)
- {
-
+ if (can_choose_maturity)
+ {
// if they're not adult or a god, they shouldn't see the adult selection, so delete it
if (!gAgent.isAdult() && !gAgent.isGodlike())
{
@@ -568,8 +569,7 @@ void LLFloaterPreference::onOpen(const LLSD& key)
maturity_combo->remove(0);
}
childSetVisible("maturity_desired_combobox", true);
- childSetVisible("maturity_desired_textbox", false);
-
+ childSetVisible("maturity_desired_textbox", false);
}
else
{
@@ -577,6 +577,10 @@ void LLFloaterPreference::onOpen(const LLSD& key)
childSetVisible("maturity_desired_combobox", false);
}
+ // Enabled/disabled popups, might have been changed by user actions
+ // while preferences floater was closed.
+ buildPopupLists();
+
LLPanelLogin::setAlwaysRefresh(true);
refresh();
@@ -717,14 +721,6 @@ void LLFloaterPreference::updateMeterText(LLUICtrl* ctrl)
m1->setVisible(two_digits);
m2->setVisible(!two_digits);
}
-/*
-void LLFloaterPreference::onClickClearCache()
-{
- // flag client cache for clearing next time the client runs
- gSavedSettings.setBOOL("PurgeCacheOnNextStartup", TRUE);
- LLNotificationsUtil::add("CacheWillClear");
-}
-*/
void LLFloaterPreference::onClickBrowserClearCache()
{
@@ -794,12 +790,13 @@ void LLFloaterPreference::refreshSkin(void* data)
self->getChild<LLRadioGroup>("skin_selection", true)->setValue(sSkin);
}
-// static
-void LLFloaterPreference::buildLists(void* data)
+
+void LLFloaterPreference::buildPopupLists()
{
- LLPanel*self = (LLPanel*)data;
- LLScrollListCtrl& disabled_popups = self->getChildRef<LLScrollListCtrl>("disabled_popups");
- LLScrollListCtrl& enabled_popups = self->getChildRef<LLScrollListCtrl>("enabled_popups");
+ LLScrollListCtrl& disabled_popups =
+ getChildRef<LLScrollListCtrl>("disabled_popups");
+ LLScrollListCtrl& enabled_popups =
+ getChildRef<LLScrollListCtrl>("enabled_popups");
disabled_popups.deleteAllItems();
enabled_popups.deleteAllItems();
@@ -861,8 +858,7 @@ void LLFloaterPreference::buildLists(void* data)
}
void LLFloaterPreference::refreshEnabledState()
-{
-
+{
LLCheckBoxCtrl* ctrl_reflections = getChild<LLCheckBoxCtrl>("Reflections");
LLRadioGroup* radio_reflection_detail = getChild<LLRadioGroup>("ReflectionDetailRadio");
@@ -1111,7 +1107,7 @@ void LLFloaterPreference::onClickEnablePopup()
LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, TRUE);
}
- buildLists(this);
+ buildPopupLists();
}
void LLFloaterPreference::onClickDisablePopup()
@@ -1128,8 +1124,9 @@ void LLFloaterPreference::onClickDisablePopup()
LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, FALSE);
}
- buildLists(this);
+ buildPopupLists();
}
+
void LLFloaterPreference::resetAllIgnored()
{
for (LLNotifications::TemplateMap::const_iterator iter = LLNotifications::instance().templatesBegin();
@@ -1428,17 +1425,11 @@ BOOL LLPanelPreference::postBuild()
}
}
- ////////////////////////Panel Popups/////////////////
- if(hasChild("disabled_popups") && hasChild("enabled_popups"))
- {
- LLFloaterPreference::buildLists(this);
- }
- //////
+
if(hasChild("online_visibility") && hasChild("send_im_to_email"))
{
childSetText("email_address",getString("log_in_to_change") );
-// childSetText("busy_response", getString("log_in_to_change"));
-
+// childSetText("busy_response", getString("log_in_to_change"));
}
@@ -1573,8 +1564,7 @@ void LLPanelPreference::saveSettings()
{
view_stack.push_back(*iter);
}
- }
-
+ }
}
void LLPanelPreference::cancel()
@@ -1607,4 +1597,3 @@ void LLPanelPreference::setControlFalse(const LLSD& user_data)
if (control)
control->set(LLSD(FALSE));
}
-
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index a30422564a..d292f3bb7b 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -85,7 +85,6 @@ protected:
void onBtnCancel();
void onBtnApply();
-// void onClickClearCache();
void onClickBrowserClearCache();
// if the custom settings box is clicked
@@ -141,7 +140,7 @@ public:
static void initWindowSizeControls(LLPanel* panelp);
- static void buildLists(void* data);
+ void buildPopupLists();
static void refreshSkin(void* data);
static void cleanupBadSetting();
static F32 sAspectRatio;
@@ -153,7 +152,6 @@ private:
bool mOriginalHideOnlineStatus;
std::string mDirectoryVisibility;
-
};
class LLPanelPreference : public LLPanel
diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp
index be821ad43b..408303a1e0 100644
--- a/indra/newview/llfloaterreporter.cpp
+++ b/indra/newview/llfloaterreporter.cpp
@@ -75,7 +75,7 @@
#include "llfloateravatarpicker.h"
#include "lldir.h"
#include "llselectmgr.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
#include "lluictrlfactory.h"
#include "llviewernetwork.h"
@@ -608,7 +608,7 @@ LLSD LLFloaterReporter::gatherReport()
std::ostringstream details;
- details << "V" << llGetViewerVersion() << std::endl << std::endl; // client version moved to body of email for abuse reports
+ details << "V" << LLVersionInfo::getVersion() << std::endl << std::endl; // client version moved to body of email for abuse reports
std::string object_name = childGetText("object_name");
if (!object_name.empty() && !mOwnerName.empty())
@@ -626,7 +626,7 @@ LLSD LLFloaterReporter::gatherReport()
std::string version_string;
version_string = llformat(
"%s %s %s %s %s",
- llGetViewerShortVersion().c_str(),
+ LLVersionInfo::getShortVersion().c_str(),
platform,
gSysCPU.getFamily().c_str(),
gGLManager.mGLRenderer.c_str(),
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 4d3724a758..2c618263ec 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -144,6 +144,10 @@ void LLFloaterSearch::search(const LLSD &key)
// add the current localization information
url += "&lang=" + LLUI::getLanguage();
+ // add the user's god status
+ std::string godlike = gAgent.isGodlike() ? "1" : "0";
+ url += "&g=" + godlike;
+
// and load the URL in the web view
mBrowser->navigateTo(url);
}
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 63511301b3..5bef306485 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -62,6 +62,7 @@ const F32 LLFolderViewItem::FOLDER_OPEN_TIME_CONSTANT = 0.03f;
const LLColor4U DEFAULT_WHITE(255, 255, 255);
+
//static
LLFontGL* LLFolderViewItem::getLabelFontForStyle(U8 style)
{
@@ -387,7 +388,9 @@ BOOL LLFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView* roo
// makes sure that this view and it's children are the right size.
S32 LLFolderViewItem::arrange( S32* width, S32* height, S32 filter_generation)
{
- mIndentation = getParentFolder() && getParentFolder()->getParentFolder()
+ mIndentation = (getParentFolder()
+ && getParentFolder()->getParentFolder()
+ && getParentFolder()->getParentFolder()->getParentFolder())
? mParentFolder->getIndentation() + LEFT_INDENTATION
: 0;
if (mLabelWidthDirty)
@@ -735,15 +738,6 @@ BOOL LLFolderViewItem::handleDoubleClick( S32 x, S32 y, MASK mask )
return TRUE;
}
-BOOL LLFolderViewItem::handleScrollWheel(S32 x, S32 y, S32 clicks)
-{
- if (getParent())
- {
- return getParent()->handleScrollWheel(x, y, clicks);
- }
- return FALSE;
-}
-
BOOL LLFolderViewItem::handleMouseUp( S32 x, S32 y, MASK mask )
{
if (LLView::childrenHandleMouseUp(x, y, mask))
@@ -2153,12 +2147,6 @@ BOOL LLFolderViewFolder::handleHover(S32 x, S32 y, MASK mask)
handled = LLFolderViewItem::handleHover(x, y, mask);
}
- //if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD && y > getRect().getHeight() - )
- //{
- // gViewerWindow->setCursor(UI_CURSOR_ARROW);
- // mExpanderHighlighted = TRUE;
- // handled = TRUE;
- //}
return handled;
}
@@ -2171,7 +2159,7 @@ BOOL LLFolderViewFolder::handleMouseDown( S32 x, S32 y, MASK mask )
}
if( !handled )
{
- if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD)
+ if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)
{
toggleOpen();
handled = TRUE;
@@ -2205,7 +2193,7 @@ BOOL LLFolderViewFolder::handleDoubleClick( S32 x, S32 y, MASK mask )
}
if( !handled )
{
- if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD)
+ if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)
{
// don't select when user double-clicks plus sign
// so as not to contradict single-click behavior
diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h
index f6264ec968..0ea031108b 100644
--- a/indra/newview/llfolderviewitem.h
+++ b/indra/newview/llfolderviewitem.h
@@ -110,7 +110,7 @@ public:
// layout constants
static const S32 LEFT_PAD = 5;
- static const S32 LEFT_INDENTATION = 8;
+ static const S32 LEFT_INDENTATION = 2;
static const S32 ICON_PAD = 2;
static const S32 ICON_WIDTH = 16;
static const S32 TEXT_PAD = 1;
@@ -319,7 +319,6 @@ public:
virtual BOOL handleHover( 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 handleScrollWheel(S32 x, S32 y, S32 clicks);
// virtual void handleDropped();
virtual void draw();
diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp
index 758d8ff903..98ca339f0c 100644
--- a/indra/newview/lllocationinputctrl.cpp
+++ b/indra/newview/lllocationinputctrl.cpp
@@ -810,13 +810,8 @@ void LLLocationInputCtrl::updateWidgetlayout()
{
const LLRect& rect = getLocalRect();
const LLRect& hist_btn_rect = mButton->getRect();
- LLRect info_btn_rect = mInfoBtn->getRect();
- // info button
- info_btn_rect.setOriginAndSize(
- 2, (rect.getHeight() - info_btn_rect.getHeight()) / 2,
- info_btn_rect.getWidth(), info_btn_rect.getHeight());
- mInfoBtn->setRect(info_btn_rect);
+ // Info button is set in the XUI XML location_input.xml
// "Add Landmark" button
LLRect al_btn_rect = mAddLandmarkBtn->getRect();
diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp
index 2a1f42c3c4..1be3430e07 100644
--- a/indra/newview/llloginhandler.cpp
+++ b/indra/newview/llloginhandler.cpp
@@ -40,9 +40,12 @@
#include "llurlsimstring.h"
#include "llviewercontrol.h" // gSavedSettings
#include "llviewernetwork.h" // EGridInfo
+#include "llviewerwindow.h" // getWindow()
// library includes
#include "llmd5.h"
+#include "llweb.h"
+#include "llwindow.h"
// Must have instance to auto-register with LLCommandDispatcher
@@ -174,6 +177,32 @@ bool LLLoginHandler::handle(const LLSD& tokens,
return true;
}
+ if (tokens.size() == 1
+ && tokens[0].asString() == "reg")
+ {
+ LLWindow* window = gViewerWindow->getWindow();
+ window->incBusyCount();
+ window->setCursor(UI_CURSOR_ARROW);
+
+ // Do this first, as it may be slow and we want to keep something
+ // on the user's screen as long as possible
+ LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" );
+
+ window->decBusyCount();
+ window->setCursor(UI_CURSOR_ARROW);
+
+ // Then hide the window
+ window->minimize();
+ return true;
+ }
+
+ // Make sure window is visible
+ LLWindow* window = gViewerWindow->getWindow();
+ if (window->getMinimized())
+ {
+ window->restore();
+ }
+
parse(query_map);
//if we haven't initialized stuff yet, this is
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index e65b7d8a0c..9797c01371 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -82,9 +82,24 @@ public:
struct Params : public LLInitParam::Block<Params, LLMenuItemCallGL::Params>
{
- Mandatory<EType> item_type;
-
- Params() {}
+ Mandatory<EType> item_type;
+ Optional<const LLFontGL*> back_item_font,
+ current_item_font,
+ forward_item_font;
+ Optional<std::string> back_item_image,
+ forward_item_image;
+ Optional<S32> image_hpad,
+ image_vpad;
+ Params()
+ : item_type(),
+ back_item_font("back_item_font"),
+ current_item_font("current_item_font"),
+ forward_item_font("forward_item_font"),
+ back_item_image("back_item_image"),
+ forward_item_image("forward_item_image"),
+ image_hpad("image_hpad"),
+ image_vpad("image_vpad")
+ {}
};
/*virtual*/ void draw();
@@ -97,33 +112,38 @@ private:
static const S32 ICON_WIDTH = 16;
static const S32 ICON_HEIGHT = 16;
- static const std::string ICON_IMG_BACKWARD;
- static const std::string ICON_IMG_FORWARD;
LLIconCtrl* mArrowIcon;
};
-const std::string LLTeleportHistoryMenuItem::ICON_IMG_BACKWARD("teleport_history_backward.tga");
-const std::string LLTeleportHistoryMenuItem::ICON_IMG_FORWARD("teleport_history_forward.tga");
+static LLDefaultChildRegistry::Register<LLTeleportHistoryMenuItem> r("teleport_history_menu_item");
+
LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)
: LLMenuItemCallGL(p),
mArrowIcon(NULL)
{
// Set appearance depending on the item type.
- if (p.item_type == TYPE_CURRENT)
+ if (p.item_type == TYPE_BACKWARD)
+ {
+ setFont( p.back_item_font );
+ setLabel(std::string(" ") + std::string(p.label));
+ }
+ else if (p.item_type == TYPE_CURRENT)
{
- setFont(LLFontGL::getFontSansSerifBold());
+ setFont( p.current_item_font );
}
else
{
- setFont(LLFontGL::getFontSansSerif());
+ setFont( p.forward_item_font );
setLabel(std::string(" ") + std::string(p.label));
}
LLIconCtrl::Params icon_params;
icon_params.name("icon");
- icon_params.rect(LLRect(0, ICON_HEIGHT, ICON_WIDTH, 0));
+ LLRect rect(0, ICON_HEIGHT, ICON_WIDTH, 0);
+ rect.translate( p.image_hpad, p.image_vpad );
+ icon_params.rect( rect );
icon_params.mouse_opaque(false);
icon_params.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP);
icon_params.visible(false);
@@ -132,9 +152,9 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)
// no image for the current item
if (p.item_type == TYPE_BACKWARD)
- mArrowIcon->setValue(ICON_IMG_BACKWARD);
+ mArrowIcon->setValue( p.back_item_image() );
else if (p.item_type == TYPE_FORWARD)
- mArrowIcon->setValue(ICON_IMG_FORWARD);
+ mArrowIcon->setValue( p.forward_item_image() );
addChild(mArrowIcon);
}
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index e73c65e252..a729b8c06f 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -39,7 +39,6 @@
#include "llfontgl.h"
#include "llmd5.h"
#include "llsecondlifeurls.h"
-#include "llversionviewer.h"
#include "v4color.h"
#include "llbutton.h"
@@ -57,7 +56,7 @@
#include "llui.h"
#include "lluiconstants.h"
#include "llurlsimstring.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
#include "llviewerhelp.h"
#include "llviewertexturelist.h"
#include "llviewermenu.h" // for handle_preferences()
@@ -247,8 +246,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
getChild<LLPanel>("login_widgets")->setDefaultBtn("connect_btn");
std::string channel = gSavedSettings.getString("VersionChannelName");
- std::string version = llformat("%s (%s)", llGetViewerShortVersion().c_str(),
- llGetViewerBuildVersion().c_str());
+ std::string version = llformat("%s (%d)",
+ LLVersionInfo::getShortVersion().c_str(),
+ LLVersionInfo::getBuild());
LLTextBox* channel_text = getChild<LLTextBox>("channel_text");
channel_text->setTextArg("[CHANNEL]", channel); // though not displayed
channel_text->setTextArg("[VERSION]", version);
@@ -740,8 +740,9 @@ void LLPanelLogin::loadLoginPage()
}
// Channel and Version
- std::string version = llformat("%s (%s)", llGetViewerShortVersion().c_str(),
- llGetViewerBuildVersion().c_str());
+ std::string version = llformat("%s (%d)",
+ LLVersionInfo::getShortVersion().c_str(),
+ LLVersionInfo::getBuild());
char* curl_channel = curl_escape(gSavedSettings.getString("VersionChannelName").c_str(), 0);
char* curl_version = curl_escape(version.c_str(), 0);
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 58df2ffb19..be0c92a76d 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -77,7 +77,7 @@
#include "llsecondlifeurls.h"
#include "llstring.h"
#include "lluserrelations.h"
-#include "llversionviewer.h"
+#include "llversioninfo.h"
#include "llviewercontrol.h"
#include "llvfs.h"
#include "llxorcipher.h" // saved password, MAC address
@@ -542,9 +542,9 @@ bool idle_startup()
if(!start_messaging_system(
message_template_path,
port,
- LL_VERSION_MAJOR,
- LL_VERSION_MINOR,
- LL_VERSION_PATCH,
+ LLVersionInfo::getMajor(),
+ LLVersionInfo::getMinor(),
+ LLVersionInfo::getPatch(),
FALSE,
std::string(),
responder,
diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp
new file mode 100644
index 0000000000..148931d3ad
--- /dev/null
+++ b/indra/newview/llversioninfo.cpp
@@ -0,0 +1,109 @@
+/**
+ * @file llversioninfo.cpp
+ * @brief Routines to access the viewer version and build information
+ * @author Martin Reddy
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ *
+ * Copyright (c) 2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+#include "llversioninfo.h"
+
+#include "llversionviewer.h"
+
+//
+// Set the version numbers in indra/llcommon/llversionviewer.h
+//
+
+//static
+S32 LLVersionInfo::getMajor()
+{
+ return LL_VERSION_MAJOR;
+}
+
+//static
+S32 LLVersionInfo::getMinor()
+{
+ return LL_VERSION_MINOR;
+}
+
+//static
+S32 LLVersionInfo::getPatch()
+{
+ return LL_VERSION_PATCH;
+}
+
+//static
+S32 LLVersionInfo::getBuild()
+{
+ return LL_VERSION_BUILD;
+}
+
+//static
+const std::string &LLVersionInfo::getVersion()
+{
+ static std::string version("");
+
+ if (version.empty())
+ {
+ // cache the version string
+ std::ostringstream stream;
+ stream << LL_VERSION_MAJOR << "."
+ << LL_VERSION_MINOR << "."
+ << LL_VERSION_PATCH << "."
+ << LL_VERSION_BUILD;
+ version = stream.str();
+ }
+
+ return version;
+}
+
+//static
+const std::string &LLVersionInfo::getShortVersion()
+{
+ static std::string version("");
+
+ if (version.empty())
+ {
+ // cache the version string
+ std::ostringstream stream;
+ stream << LL_VERSION_MAJOR << "."
+ << LL_VERSION_MINOR << "."
+ << LL_VERSION_PATCH;
+ version = stream.str();
+ }
+
+ return version;
+}
+
+//static
+const std::string &LLVersionInfo::getChannel()
+{
+ static std::string name(LL_CHANNEL);
+ return name;
+}
diff --git a/indra/newview/llversioninfo.h b/indra/newview/llversioninfo.h
new file mode 100644
index 0000000000..b05109e478
--- /dev/null
+++ b/indra/newview/llversioninfo.h
@@ -0,0 +1,71 @@
+/**
+ * @file llversioninfo.h
+ * @brief Routines to access the viewer version and build information
+ * @author Martin Reddy
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ *
+ * Copyright (c) 2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLVERSIONINFO_H
+#define LL_LLVERSIONINFO_H
+
+#include <string>
+
+///
+/// This API provides version information for the viewer. This
+/// includes access to the major, minor, patch, and build integer
+/// values, as well as human-readable string representations. All
+/// viewer code that wants to query the current version should
+/// use this API.
+///
+class LLVersionInfo
+{
+public:
+ /// return the major verion number as an integer
+ static S32 getMajor();
+
+ /// return the minor verion number as an integer
+ static S32 getMinor();
+
+ /// return the patch verion number as an integer
+ static S32 getPatch();
+
+ /// return the build number as an integer
+ static S32 getBuild();
+
+ /// return the full viewer version as a string like "2.0.0.200030"
+ static const std::string &getVersion();
+
+ /// return the viewer version as a string like "2.0.0"
+ static const std::string &getShortVersion();
+
+ /// return the channel name, e.g. "Second Life"
+ static const std::string &getChannel();
+};
+
+#endif
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 5e23a7e114..6339d23fa7 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -67,7 +67,6 @@
#include "lloverlaybar.h"
#include "llkeyboard.h"
#include "llerrorcontrol.h"
-#include "llversionviewer.h"
#include "llappviewer.h"
#include "llvosurfacepatch.h"
#include "llvowlsky.h"
diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp
index 056260791c..297c0cc111 100644
--- a/indra/newview/llviewerhelp.cpp
+++ b/indra/newview/llviewerhelp.cpp
@@ -37,7 +37,6 @@
#include "llfloaterreg.h"
#include "llfocusmgr.h"
#include "llviewercontrol.h"
-#include "llversionviewer.h"
#include "llappviewer.h"
#include "lllogininstance.h"
diff --git a/indra/newview/llviewerhelputil.cpp b/indra/newview/llviewerhelputil.cpp
index 0a03012af6..df08470518 100644
--- a/indra/newview/llviewerhelputil.cpp
+++ b/indra/newview/llviewerhelputil.cpp
@@ -38,8 +38,7 @@
#include "llstring.h"
#include "llsys.h"
#include "lluri.h"
-#include "llversionviewer.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
//////////////////////////////////////////////
@@ -78,11 +77,11 @@ std::string LLViewerHelpUtil::buildHelpURL( const std::string &topic,
substitution["CHANNEL"] = helpURLEncode(savedSettings.getString("VersionChannelName"));
- substitution["VERSION"] = helpURLEncode(llGetViewerVersion());
- substitution["VERSION_MAJOR"] = buildHelpVersion(LL_VERSION_MAJOR);
- substitution["VERSION_MINOR"] = buildHelpVersion(LL_VERSION_MINOR);
- substitution["VERSION_PATCH"] = buildHelpVersion(LL_VERSION_PATCH);
- substitution["VERSION_BUILD"] = buildHelpVersion(LL_VERSION_BUILD);
+ substitution["VERSION"] = helpURLEncode(LLVersionInfo::getVersion());
+ substitution["VERSION_MAJOR"] = buildHelpVersion(LLVersionInfo::getMajor());
+ substitution["VERSION_MINOR"] = buildHelpVersion(LLVersionInfo::getMinor());
+ substitution["VERSION_PATCH"] = buildHelpVersion(LLVersionInfo::getPatch());
+ substitution["VERSION_BUILD"] = buildHelpVersion(LLVersionInfo::getBuild());
substitution["OS"] = helpURLEncode(osinfo.getOSStringSimple());
diff --git a/indra/newview/llviewerhome.cpp b/indra/newview/llviewerhome.cpp
index 4556c3c5b1..58630978c4 100644
--- a/indra/newview/llviewerhome.cpp
+++ b/indra/newview/llviewerhome.cpp
@@ -38,7 +38,7 @@
#include "llui.h"
#include "lluri.h"
#include "llsd.h"
-#include "llviewerversion.h"
+#include "llversioninfo.h"
#include "llviewercontrol.h"
#include "llviewernetwork.h"
@@ -49,7 +49,7 @@ std::string LLViewerHome::getHomeURL()
// this value from settings.xml and support various substitutions
LLSD substitution;
- substitution["VERSION"] = llGetViewerVersion();
+ substitution["VERSION"] = LLVersionInfo::getVersion();
substitution["CHANNEL"] = LLURI::escape(gSavedSettings.getString("VersionChannelName"));
substitution["LANGUAGE"] = LLUI::getLanguage();
substitution["AUTH_KEY"] = LLURI::escape(getAuthKey());
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index a206768d33..952de00272 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -37,11 +37,11 @@
#include "llviewermediafocus.h"
#include "llmimetypes.h"
#include "llmediaentry.h"
+#include "llversioninfo.h"
#include "llviewercontrol.h"
#include "llviewertexture.h"
#include "llviewerparcelmedia.h"
#include "llviewerparcelmgr.h"
-#include "llviewerversion.h"
#include "llviewertexturelist.h"
#include "llvovolume.h"
#include "llpluginclassmedia.h"
@@ -446,7 +446,7 @@ std::string LLViewerMedia::getCurrentUserAgent()
// http://www.mozilla.org/build/revised-user-agent-strings.html
std::ostringstream codec;
codec << "SecondLife/";
- codec << llGetViewerVersion();
+ codec << LLVersionInfo::getVersion();
codec << " (" << channel << "; " << skin_name << " skin)";
llinfos << codec.str() << llendl;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index bf4d0c78e6..431b4d3c0a 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -45,6 +45,7 @@
#include "llagentwearables.h"
#include "llagentpilot.h"
#include "llcompilequeue.h"
+#include "llconsole.h"
#include "lldebugview.h"
#include "llfilepicker.h"
#include "llfirstuse.h"
@@ -487,7 +488,7 @@ class LLAdvancedToggleConsole : public view_listener_t
}
else if ("debug" == console_type)
{
- toggle_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) );
+ toggle_visibility( (void*)static_cast<LLUICtrl*>(gDebugView->mDebugConsolep));
}
else if (gTextureSizeView && "texture size" == console_type)
{
diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h
index 86f59b6e2f..6a0ad5757f 100644
--- a/indra/newview/llviewerprecompiledheaders.h
+++ b/indra/newview/llviewerprecompiledheaders.h
@@ -109,7 +109,6 @@
#include "llthread.h"
#include "lltimer.h"
#include "lluuidhashmap.h"
-//#include "llversionviewer.h"
//#include "processor.h"
#include "stdenums.h"
#include "stdtypes.h"
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 5be7f2945f..e066546bd8 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1454,6 +1454,8 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v
llclamp((F32)scale_rect.mRight / (F32)imagep->getWidth(), 0.f, 1.f),
llclamp((F32)scale_rect.mBottom / (F32)imagep->getHeight(), 0.f, 1.f)));
}
+
+ imagep->onImageLoaded();
}
}
}
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index acb3262093..cdbeed111e 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -648,7 +648,7 @@
reference="LtGray" />
<color
name="TextFgTentativeColor"
- value="0 0 0 .33" />
+ value="0.4 0.4 0.4 1" />
<color
name="TimeTextColor"
reference="LtGray" />
diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png
new file mode 100644
index 0000000000..fb1f7d3a6d
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png
new file mode 100644
index 0000000000..e6f614b844
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png
new file mode 100644
index 0000000000..84a96a60cb
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png
new file mode 100644
index 0000000000..d55ebd7c67
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png
new file mode 100644
index 0000000000..ae4077488b
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png
new file mode 100644
index 0000000000..4813d37198
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png
Binary files 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
new file mode 100644
index 0000000000..0455a52fdc
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png
Binary files 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
new file mode 100644
index 0000000000..be0c379d84
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png
Binary files 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
new file mode 100644
index 0000000000..ed4a512e04
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png
new file mode 100644
index 0000000000..d28e5357df
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png
new file mode 100644
index 0000000000..d72f02f708
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png
new file mode 100644
index 0000000000..2f5871b8ff
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Light.png b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png
new file mode 100644
index 0000000000..724ac22744
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png
new file mode 100644
index 0000000000..f82354959e
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png
new file mode 100644
index 0000000000..f0565f02dd
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png
new file mode 100644
index 0000000000..f32b0570a1
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png
new file mode 100644
index 0000000000..8f0fe6a04d
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png
new file mode 100644
index 0000000000..eba7070b4d
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png
new file mode 100644
index 0000000000..08c2a18ac3
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png
new file mode 100644
index 0000000000..e0e6e14cca
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Light.png b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png
new file mode 100644
index 0000000000..efca6776da
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png
new file mode 100644
index 0000000000..8f9f37a1bf
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png
new file mode 100644
index 0000000000..8b1d6c5e14
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png
new file mode 100644
index 0000000000..eace54ae79
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png
new file mode 100644
index 0000000000..0d07e552b1
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png
new file mode 100644
index 0000000000..b36a9bd2f0
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png
new file mode 100644
index 0000000000..86ce19474a
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 6f9801491a..607df10048 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -57,6 +57,9 @@ with the same filename but different name
<texture name="Arrow_Small_Left" file_name="widgets/Arrow_Small_Left.png" preload="true" />
<texture name="Arrow_Small_Right" file_name="widgets/Arrow_Small_Right.png" preload="true" />
+ <texture name="Arrow_Down" file_name="widgets/Arrow_Down.png" preload="true" />
+ <texture name="Arrow_Up" file_name="widgets/Arrow_Up.png" preload="true" />
+
<texture name="AudioMute_Off" file_name="icons/AudioMute_Off.png" preload="false" />
<texture name="AudioMute_Over" file_name="icons/AudioMute_Over.png" preload="false" />
<texture name="AudioMute_Press" file_name="icons/AudioMute_Press.png" preload="false" />
@@ -332,49 +335,49 @@ with the same filename but different name
<texture name="Overhead_M" file_name="world/Overhead_M.png" preload="false" />
<texture name="Overhead_S" file_name="world/Overhead_S.png" preload="false" />
- <texture name="parcel_color_EVRY" file_name="icons/parcel_color_EVRY.png" preload="false" />
- <texture name="parcel_color_EXP" file_name="icons/parcel_color_EXP.png" preload="false" />
- <texture name="parcel_color_M" file_name="icons/parcel_color_M.png" preload="false" />
-
- <texture name="parcel_drk_Build" file_name="icons/parcel_drk_Build.png" preload="false" />
- <texture name="parcel_drk_BuildNo" file_name="icons/parcel_drk_BuildNo.png" preload="false" />
- <texture name="parcel_drk_Damage" file_name="icons/parcel_drk_Damage.png" preload="false" />
- <texture name="parcel_drk_DamageNo" file_name="icons/parcel_drk_DamageNo.png" preload="false" />
- <texture name="parcel_drk_EVRY" file_name="icons/parcel_drk_EVRY.png" preload="false" />
- <texture name="parcel_drk_EXP" file_name="icons/parcel_drk_EXP.png" preload="false" />
- <texture name="parcel_drk_Fly" file_name="icons/parcel_drk_Fly.png" preload="false" />
- <texture name="parcel_drk_FlyNo" file_name="icons/parcel_drk_FlyNo.png" preload="false" />
- <texture name="parcel_drk_ForSale" file_name="icons/parcel_drk_ForSale.png" preload="false" />
- <texture name="parcel_drk_ForSaleNo" file_name="icons/parcel_drk_ForSaleNo.png" preload="false" />
- <texture name="parcel_drk_M" file_name="icons/parcel_drk_M.png" preload="false" />
- <texture name="parcel_drk_PG" file_name="icons/parcel_drk_PG.png" preload="false" />
- <texture name="parcel_drk_Push" file_name="icons/parcel_drk_Push.png" preload="false" />
- <texture name="parcel_drk_PushNo" file_name="icons/parcel_drk_PushNo.png" preload="false" />
- <texture name="parcel_drk_R" file_name="icons/parcel_drk_R.png" preload="false" />
- <texture name="parcel_drk_Scripts" file_name="icons/parcel_drk_Scripts.png" preload="false" />
- <texture name="parcel_drk_ScriptsNo" file_name="icons/parcel_drk_ScriptsNo.png" preload="false" />
- <texture name="parcel_drk_Voice" file_name="icons/parcel_drk_Voice.png" preload="false" />
- <texture name="parcel_drk_VoiceNo" file_name="icons/parcel_drk_VoiceNo.png" preload="false" />
-
- <texture name="parcel_lght_Build" file_name="icons/parcel_lght_Build.png" preload="false" />
- <texture name="parcel_lght_BuildNo" file_name="icons/parcel_lght_BuildNo.png" preload="false" />
- <texture name="parcel_lght_Damage" file_name="icons/parcel_lght_Damage.png" preload="false" />
- <texture name="parcel_lght_DamageNo" file_name="icons/parcel_lght_DamageNo.png" preload="false" />
- <texture name="parcel_lght_EVRY" file_name="icons/parcel_lght_EVRY.png" preload="false" />
- <texture name="parcel_lght_EXP" file_name="icons/parcel_lght_EXP.png" preload="false" />
- <texture name="parcel_lght_Fly" file_name="icons/parcel_lght_Fly.png" preload="false" />
- <texture name="parcel_lght_FlyNo" file_name="icons/parcel_lght_FlyNo.png" preload="false" />
- <texture name="parcel_lght_ForSale" file_name="icons/parcel_lght_ForSale.png" preload="false" />
- <texture name="parcel_lght_ForSaleNo" file_name="icons/parcel_lght_ForSaleNo.png" preload="false" />
- <texture name="parcel_lght_M" file_name="icons/parcel_lght_M.png" preload="false" />
- <texture name="parcel_lght_PG" file_name="icons/parcel_lght_PG.png" preload="false" />
- <texture name="parcel_lght_Push" file_name="icons/parcel_lght_Push.png" preload="false" />
- <texture name="parcel_lght_PushNo" file_name="icons/parcel_lght_PushNo.png" preload="false" />
- <texture name="parcel_lght_R" file_name="icons/parcel_lght_R.png" preload="false" />
- <texture name="parcel_lght_Scripts" file_name="icons/parcel_lght_Scripts.png" preload="false" />
- <texture name="parcel_lght_ScriptsNo" file_name="icons/parcel_lght_ScriptsNo.png" preload="false" />
- <texture name="parcel_lght_Voice" file_name="icons/parcel_lght_Voice.png" preload="false" />
- <texture name="parcel_lght_VoiceNo" file_name="icons/parcel_lght_VoiceNo.png" preload="false" />
+ <texture name="Parcel_Evry_Color" file_name="icons/Parcel_Evry_Color.png" preload="false" />
+ <texture name="Parcel_Exp_Color" file_name="icons/Parcel_Exp_Color.png" preload="false" />
+ <texture name="Parcel_M_Color" file_name="icons/Parcel_M_Color.png" preload="false" />
+
+ <texture name="Parcel_Build_Dark" file_name="icons/Parcel_Build_Dark.png" preload="false" />
+ <texture name="Parcel_BuildNo_Dark" file_name="icons/Parcel_BuildNo_Dark.png" preload="false" />
+ <texture name="Parcel_Damage_Dark" file_name="icons/Parcel_Damage_Dark.png" preload="false" />
+ <texture name="Parcel_DamageNo_Dark" file_name="icons/Parcel_DamageNo_Dark.png" preload="false" />
+ <texture name="Parcel_Evry_Dark" file_name="icons/Parcel_Evry_Dark.png" preload="false" />
+ <texture name="Parcel_Exp_Dark" file_name="icons/Parcel_Exp_Dark.png" preload="false" />
+ <texture name="Parcel_Fly_Dark" file_name="icons/Parcel_Fly_Dark.png" preload="false" />
+ <texture name="Parcel_FlyNo_Dark" file_name="icons/Parcel_FlyNo_Dark.png" preload="false" />
+ <texture name="Parcel_ForSale_Dark" file_name="icons/Parcel_ForSale_Dark.png" preload="false" />
+ <texture name="Parcel_ForSaleNo_Dark" file_name="icons/Parcel_ForSaleNo_Dark.png" preload="false" />
+ <texture name="Parcel_M_Dark" file_name="icons/Parcel_M_Dark.png" preload="false" />
+ <texture name="Parcel_PG_Dark" file_name="icons/Parcel_PG_Dark.png" preload="false" />
+ <texture name="Parcel_Push_Dark" file_name="icons/Parcel_Push_Dark.png" preload="false" />
+ <texture name="Parcel_PushNo_Dark" file_name="icons/Parcel_PushNo_Dark.png" preload="false" />
+ <texture name="Parcel_R_Dark" file_name="icons/Parcel_R_Dark.png" preload="false" />
+ <texture name="Parcel_Scripts_Dark" file_name="icons/Parcel_Scripts_Dark.png" preload="false" />
+ <texture name="Parcel_ScriptsNo_Dark" file_name="icons/Parcel_ScriptsNo_Dark.png" preload="false" />
+ <texture name="Parcel_Voice_Dark" file_name="icons/Parcel_Voice_Dark.png" preload="false" />
+ <texture name="Parcel_VoiceNo_Dark" file_name="icons/Parcel_VoiceNo_Dark.png" preload="false" />
+
+ <texture name="Parcel_Build_Light" file_name="icons/Parcel_Build_Light.png" preload="false" />
+ <texture name="Parcel_BuildNo_Light" file_name="icons/Parcel_BuildNo_Light.png" preload="false" />
+ <texture name="Parcel_Damage_Light" file_name="icons/Parcel_Damage_Light.png" preload="false" />
+ <texture name="Parcel_DamageNo_Light" file_name="icons/Parcel_DamageNo_Light.png" preload="false" />
+ <texture name="Parcel_Evry_Light" file_name="icons/Parcel_Evry_Light.png" preload="false" />
+ <texture name="Parcel_Exp_Light" file_name="icons/Parcel_Exp_Light.png" preload="false" />
+ <texture name="Parcel_Fly_Light" file_name="icons/Parcel_Fly_Light.png" preload="false" />
+ <texture name="Parcel_FlyNo_Light" file_name="icons/Parcel_FlyNo_Light.png" preload="false" />
+ <texture name="Parcel_ForSale_Light" file_name="icons/Parcel_ForSale_Light.png" preload="false" />
+ <texture name="Parcel_ForSaleNo_Light" file_name="icons/Parcel_ForSaleNo_Light.png" preload="false" />
+ <texture name="Parcel_M_Light" file_name="icons/Parcel_M_Light.png" preload="false" />
+ <texture name="Parcel_PG_Light" file_name="icons/Parcel_PG_Light.png" preload="false" />
+ <texture name="Parcel_Push_Light" file_name="icons/Parcel_Push_Light.png" preload="false" />
+ <texture name="Parcel_PushNo_Light" file_name="icons/Parcel_PushNo_Light.png" preload="false" />
+ <texture name="Parcel_R_Light" file_name="icons/Parcel_R_Light.png" preload="false" />
+ <texture name="Parcel_Scripts_Light" file_name="icons/Parcel_Scripts_Light.png" preload="false" />
+ <texture name="Parcel_ScriptsNo_Light" file_name="icons/Parcel_ScriptsNo_Light.png" preload="false" />
+ <texture name="Parcel_Voice_Light" file_name="icons/Parcel_Voice_Light.png" preload="false" />
+ <texture name="Parcel_VoiceNo_Light" file_name="icons/Parcel_VoiceNo_Light.png" preload="false" />
<texture name="Pause_Off" file_name="icons/Pause_Off.png" preload="false" />
<texture name="Pause_Over" file_name="icons/Pause_Over.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml
index a8f875754e..4f4288b654 100644
--- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml
@@ -456,26 +456,43 @@ Maximum animation length is [MAX_LENGTH] seconds.
image_overlay="Play_Over"
image_unselected="SegmentedBtn_Left_Off"
image_selected="SegmentedBtn_Left_On_Selected"
- image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
- image_disabled="SegmentedBtn_Left_Disabled"
- image_pressed="SegmentedBtn_Left_Press"
- image_pressed_selected="SegmentedBtn_Left_Selected_Press"
+ image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
+ image_disabled="SegmentedBtn_Left_Disabled"
+ image_pressed="SegmentedBtn_Left_Press"
+ image_pressed_selected="SegmentedBtn_Left_Selected_Press"
layout="topleft"
left="10"
name="play_btn"
- tool_tip="Play/pause your animation"
+ tool_tip="Play your animation"
top_pad="0"
width="23" />
<button
+ visible = "false"
+ follows="top|right"
+ height="23"
+ image_overlay="Pause_Over"
+ image_unselected="SegmentedBtn_Left_Off"
+ image_selected="SegmentedBtn_Left_On_Selected"
+ image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
+ image_disabled="SegmentedBtn_Left_Disabled"
+ image_pressed="SegmentedBtn_Left_Press"
+ image_pressed_selected="SegmentedBtn_Left_Selected_Press"
+ layout="topleft"
+ left="10"
+ name="pause_btn"
+ tool_tip="Pause your animation"
+ top_pad="-23"
+ width="23" />
+ <button
follows="top|right"
height="23"
image_overlay="StopReload_Over"
image_unselected="SegmentedBtn_Right_Off"
image_selected="SegmentedBtn_Right_On_Selected"
- image_disabled_selected="SegmentedBtn_Right_Selected_Disabled"
- image_disabled="SegmentedBtn_Right_Disabled"
- image_pressed="SegmentedBtn_Right_Press"
- image_pressed_selected="SegmentedBtn_Right_Selected_Press"
+ image_disabled_selected="SegmentedBtn_Right_Selected_Disabled"
+ image_disabled="SegmentedBtn_Right_Disabled"
+ image_pressed="SegmentedBtn_Right_Press"
+ image_pressed_selected="SegmentedBtn_Right_Selected_Press"
layout="topleft"
name="stop_btn"
tool_tip="Stop animation playback"
diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
index 19f5155f88..b24c745bdd 100644
--- a/indra/newview/skins/default/xui/en/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
- height="150"
+ height="170"
layout="topleft"
name="floater_lagmeter"
help_topic="floater_lagmeter"
@@ -328,7 +328,7 @@
left="10"
name="minimize"
tool_tip="Toggle floater size"
- top_delta="4"
+ top_delta="24"
width="40">
<button.commit_callback
function="LagMeter.ClickShrink" />
diff --git a/indra/newview/skins/default/xui/en/floater_select_key.xml b/indra/newview/skins/default/xui/en/floater_select_key.xml
index af4fdff044..6050aede79 100644
--- a/indra/newview/skins/default/xui/en/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/en/floater_select_key.xml
@@ -4,30 +4,31 @@
border="false"
can_close="false"
can_minimize="false"
- height="100"
+ height="90"
layout="topleft"
name="modal container"
width="240">
- <button
- height="20"
- label="Cancel"
- label_selected="Cancel"
- layout="topleft"
- left="138"
- name="Cancel"
- top="70"
- width="82" />
<text
type="string"
+ halign="center"
length="1"
follows="left|top"
- font="SansSerif"
- height="16"
+ height="30"
layout="topleft"
- left="20"
+ left="10"
name="Save item as:"
- top="10"
- width="200">
- Press a key to select
+ top="25"
+ word_wrap="true"
+ width="220">
+ Press a key to set your
+Speak button toggle
</text>
+ <button
+ height="23"
+ label="Cancel"
+ label_selected="Cancel"
+ layout="topleft"
+ right="-10"
+ name="Cancel"
+ width="100" />
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_sell_land.xml b/indra/newview/skins/default/xui/en/floater_sell_land.xml
index e6a78563f3..409f46b960 100644
--- a/indra/newview/skins/default/xui/en/floater_sell_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_sell_land.xml
@@ -182,7 +182,7 @@
width="130">
<combo_box.item
enabled="false"
- label="-- select one --"
+ label="- Select one -"
name="--selectone--"
value="select" />
<combo_box.item
diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml
index 374f014908..bb463edd4d 100644
--- a/indra/newview/skins/default/xui/en/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/en/floater_telehub.xml
@@ -6,7 +6,7 @@
name="telehub"
help_topic="telehub"
title="TELEHUB"
- width="280">
+ width="330">
<text
type="string"
length="1"
@@ -16,7 +16,7 @@
left="10"
name="status_text_connected"
top="24"
- width="200">
+ width="315">
Telehub connected to object [OBJECT]
</text>
<text
@@ -28,7 +28,7 @@
left_delta="0"
name="status_text_not_connected"
top_delta="0"
- width="200">
+ width="315">
No telehub connected.
</text>
<text
@@ -40,7 +40,7 @@
left_delta="0"
name="help_text_connected"
top_delta="16"
- width="260">
+ width="315">
To remove, click Disconnect.
</text>
<text
@@ -52,78 +52,73 @@
left_delta="0"
name="help_text_not_connected"
top_delta="0"
- width="260">
+ width="315">
Select object and click Connect Telehub.
</text>
<button
follows="top|left"
- height="20"
+ height="23"
label="Connect Telehub"
layout="topleft"
left_delta="0"
name="connect_btn"
top_delta="20"
- width="110" />
+ width="130" />
<button
follows="top|left"
- height="20"
+ height="23"
label="Disconnect"
layout="topleft"
left_pad="10"
name="disconnect_btn"
top_delta="0"
- width="110" />
+ width="130" />
<text
type="string"
length="1"
follows="left|top"
- height="16"
+ height="14"
layout="topleft"
left="10"
name="spawn_points_text"
top="84"
- width="200">
+ width="315">
Spawn Points (positions, not objects):
</text>
<scroll_list
follows="left|top"
height="60"
layout="topleft"
- left_delta="0"
name="spawn_points_list"
- top_delta="16"
- width="230" />
+ width="315" />
<button
follows="top|left"
- height="20"
+ height="23"
label="Add Spawn"
layout="topleft"
- left_delta="0"
name="add_spawn_point_btn"
- top_pad="5"
- width="110" />
+ width="130" />
<button
follows="top|left"
- height="20"
+ height="23"
label="Remove Spawn"
layout="topleft"
left_pad="10"
name="remove_spawn_point_btn"
- top_delta="0"
- width="110" />
+ width="130" />
<text
type="string"
length="1"
follows="top|left"
- height="80"
+ height="56"
layout="topleft"
left="10"
name="spawn_point_help"
- top="190"
- width="260">
- Select object and click Add to specify position.
-You may then move or delete the object.
+ word_wrap="true"
+ width="317">
+ Select object and click "Add Spawn" to specify position.
+You can then move or delete the object.
Positions are relative to the telehub center.
-Select item in list to show position in world.
+Select an item in list to highlight it inworld.
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
index b0aa5c7c4f..8be0c28c5c 100644
--- a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
+++ b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
@@ -9,7 +9,6 @@
<text_editor
height="50"
follows="top|left|bottom"
- layout="topleft"
left="10"
name="test_text_editor"
tool_tip="text editor"
@@ -17,4 +16,15 @@
width="200">
Text Editor
</text_editor>
+ <text_editor
+ height="50"
+ follows="top|left|bottom"
+ font="SansSerif"
+ left="10"
+ name="test_text_editor"
+ tool_tip="text editor"
+ top_pad="10"
+ width="200">
+ This contains long text and should scroll horizontally to the right
+ </text_editor>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml
index d2db26daec..68bb500c78 100644
--- a/indra/newview/skins/default/xui/en/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml
@@ -8,7 +8,7 @@
min_width="450"
name="top_objects"
help_topic="top_objects"
- title="LOADING..."
+ title="Top Objects"
width="550">
<floater.string
name="top_scripts_title">
@@ -46,24 +46,24 @@
type="string"
length="1"
follows="left|top"
- font="SansSerif"
height="20"
layout="topleft"
left="10"
name="title_text"
- top="30"
+ top="20"
+ text_color="EmphasisColor"
width="400">
Loading...
</text>
<scroll_list
draw_heading="true"
- follows="left|top|bottom|right"
- height="150"
+ follows="all"
+ height="170"
layout="topleft"
left_delta="0"
multi_select="true"
name="objects_list"
- top_delta="20"
+ top_delta="17"
width="530">
<scroll_list.columns
label="Score"
@@ -109,16 +109,16 @@
follows="left|bottom|right"
height="20"
layout="topleft"
- left_delta="70"
+ left_pad="3"
name="id_editor"
top_delta="-3"
- width="350" />
+ width="325" />
<button
follows="bottom|right"
- height="20"
+ height="23"
label="Show Beacon"
layout="topleft"
- left_pad="10"
+ left_pad="5"
name="show_beacon_btn"
top_delta="0"
width="100">
@@ -132,25 +132,25 @@
height="20"
layout="topleft"
left="10"
+ top_pad="5"
name="obj_name_text"
- top="237"
width="100">
- Object Name:
+ Object name:
</text>
<line_editor
follows="left|bottom|right"
height="20"
layout="topleft"
- left_delta="70"
+ left_pad="3"
name="object_name_editor"
top_delta="-3"
- width="350" />
+ width="325" />
<button
follows="bottom|right"
- height="20"
+ height="23"
label="Filter"
layout="topleft"
- left_pad="10"
+ left_pad="5"
name="filter_object_btn"
top_delta="0"
width="100">
@@ -164,25 +164,25 @@
height="20"
layout="topleft"
left="10"
+ top_pad="5"
name="owner_name_text"
- top="264"
width="100">
- Owner Name:
+ Owner:
</text>
<line_editor
follows="left|bottom|right"
height="20"
layout="topleft"
- left_delta="70"
+ left_pad="3"
name="owner_name_editor"
top_delta="-3"
- width="350" />
+ width="325" />
<button
follows="bottom|right"
- height="20"
+ height="23"
label="Filter"
layout="topleft"
- left_pad="10"
+ left_pad="5"
name="filter_owner_btn"
top_delta="0"
width="100">
@@ -190,20 +190,32 @@
function="TopObjects.GetByOwnerName" />
</button>
<button
+ follows="top|left"
+ height="22"
+ image_overlay="Refresh_Off"
+ layout="topleft"
+ name="refresh_btn"
+ right="-8"
+ top_pad="5"
+ width="23">
+ <button.commit_callback
+ function="TopObjects.Refresh" />
+ </button>
+ <button
follows="bottom|left"
- height="20"
+ height="23"
label="Return Selected"
layout="topleft"
- left="10"
+ left="112"
+ top_delta="0"
name="return_selected_btn"
- top="295"
width="130">
<button.commit_callback
function="TopObjects.ReturnSelected" />
</button>
<button
follows="bottom|left"
- height="20"
+ height="23"
label="Return All"
layout="topleft"
left_pad="10"
@@ -215,19 +227,19 @@
</button>
<button
follows="bottom|left"
- height="20"
+ height="23"
label="Disable Selected"
layout="topleft"
- left="10"
+
+ left="112"
name="disable_selected_btn"
- top="320"
width="130">
<button.commit_callback
function="TopObjects.DisableSelected" />
</button>
<button
follows="bottom|left"
- height="20"
+ height="23"
label="Disable All"
layout="topleft"
left_pad="10"
@@ -237,16 +249,4 @@
<button.commit_callback
function="TopObjects.DisableAll" />
</button>
- <button
- bottom="315"
- follows="bottom|right"
- height="20"
- label="Refresh"
- layout="topleft"
- name="refresh_btn"
- right="-10"
- width="100">
- <button.commit_callback
- function="TopObjects.Refresh" />
- </button>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml
index b13a11c05d..89492d8abc 100644
--- a/indra/newview/skins/default/xui/en/floater_water.xml
+++ b/indra/newview/skins/default/xui/en/floater_water.xml
@@ -116,7 +116,7 @@
layout="topleft"
left="10"
name="WaterFogDensText"
- top="74"
+ top="84"
width="200">
Fog Density Exponent
</text>
@@ -130,7 +130,7 @@
left="24"
max_val="10"
name="WaterFogDensity"
- top="110"
+ top="124"
width="200" />
<text
type="string"
@@ -141,7 +141,7 @@
layout="topleft"
left_delta="-14"
name="WaterUnderWaterFogModText"
- top_delta="4"
+ top="124"
width="200">
Underwater Fog Modifier
</text>
@@ -155,7 +155,7 @@
left="24"
max_val="2"
name="WaterUnderWaterFogMod"
- top="150"
+ top="164"
width="200" />
<text
type="string"
@@ -180,7 +180,7 @@
layout="topleft"
max_val="10"
name="WaterNormalScaleX"
- top_pad="20"
+ top_pad="24"
width="200" />
<slider
control_name="WaterNormalScaleY"
@@ -192,7 +192,7 @@
layout="topleft"
max_val="10"
name="WaterNormalScaleY"
- top_pad="0"
+ top_pad="4"
width="200" />
<slider
control_name="WaterNormalScaleZ"
@@ -204,7 +204,7 @@
layout="topleft"
max_val="10"
name="WaterNormalScaleZ"
- top_pad="0"
+ top_pad="4"
width="200" />
<text
type="string"
@@ -214,7 +214,7 @@
height="16"
layout="topleft"
name="HDText"
- top_pad="-10"
+ top="84"
width="200">
Fresnel Scale
</text>
@@ -227,7 +227,7 @@
initial_value="0.7"
layout="topleft"
name="WaterFresnelScale"
- top_pad="20"
+ top="124"
width="200" />
<text
type="string"
@@ -237,7 +237,7 @@
height="16"
layout="topleft"
name="FresnelOffsetText"
- top_pad="-10"
+ top="124"
width="200">
Fresnel Offset
</text>
@@ -250,7 +250,7 @@
initial_value="0.7"
layout="topleft"
name="WaterFresnelOffset"
- top_pad="20"
+ top="164"
width="200" />
<text
type="string"
@@ -275,7 +275,7 @@
layout="topleft"
left="494"
name="WaterScaleAbove"
- top="40"
+ top="44"
width="200" />
<text
type="string"
@@ -286,7 +286,7 @@
layout="topleft"
left_delta="-14"
name="WaterScaleBelowText"
- top_delta="-3"
+ top="44"
width="200">
Refract Scale Below
</text>
@@ -300,7 +300,7 @@
layout="topleft"
left="494"
name="WaterScaleBelow"
- top="73"
+ top="84"
width="200" />
<text
type="string"
@@ -311,7 +311,7 @@
layout="topleft"
left_delta="-14"
name="MaxAltText"
- top_delta="-2"
+ top="84"
width="200">
Blur Multiplier
</text>
@@ -325,7 +325,7 @@
left="494"
max_val="0.16"
name="WaterBlurMult"
- top="107"
+ top="124"
width="200" />
</panel>
<panel
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 9c11a88c34..e632b67d11 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -62,7 +62,7 @@
left="4"
layout="topleft"
name="Show My Location"
- tool_tip="Center map on your avatar&apos;s location"
+ tool_tip="Center map on my avatar&apos;s location"
top="6"
width="24" >
<button.commit_callback
@@ -235,7 +235,7 @@
left="136"
top="6"
name="Go Home"
- tool_tip="Teleport home"
+ tool_tip="Teleport to my home location"
width="24" >
<button.commit_callback
function="WMap.GoHome" />
diff --git a/indra/newview/skins/default/xui/en/inspect_remote_object.xml b/indra/newview/skins/default/xui/en/inspect_remote_object.xml
index b5f2abf52a..ef3dd844cd 100644
--- a/indra/newview/skins/default/xui/en/inspect_remote_object.xml
+++ b/indra/newview/skins/default/xui/en/inspect_remote_object.xml
@@ -6,10 +6,10 @@
<floater
legacy_header_height="18"
bevel_style="in"
- bg_opaque_image="Inspector_Background"
+ bg_opaque_image="Inspector_Background"
can_close="false"
can_minimize="false"
- height="145"
+ height="130"
layout="topleft"
name="inspect_remote_object"
single_instance="true"
@@ -18,79 +18,78 @@
width="300">
<text
follows="all"
- font="SansSerifLargeBold"
- height="16"
+ font="SansSerifLarge"
+ font_style="BOLD"
+ height="30"
left="8"
name="object_name"
text_color="White"
top="5"
use_ellipses="true"
- width="290">
- Test Object Name That Is Really Long
+ word_wrap="true"
+ width="291">
+ Test Object Name That Is Really Long OMG so long I can't believe how long the name of this object is, I mean really.
</text>
<text
- follows="all"
- font="SansSerif"
- height="20"
+ follows="top|left"
+ font="SansSerifSmall"
+ height="16"
left="8"
name="object_owner_label"
width="55"
- top_pad="20">
+ top_pad="12">
Owner:
</text>
<text
follows="top|left"
- font="SansSerif"
- height="20"
- left_pad="10"
+ height="16"
+ left_pad="5"
name="object_owner"
use_ellipses="true"
- width="200"
+ width="230"
word_wrap="false">
Longavatarname Johnsonlongstonnammer
</text>
- <text
+ <!--<text
follows="top|left"
- font="SansSerif"
- height="20"
+ height="16"
left="8"
name="object_slurl_label"
- top_pad="10"
+ top_pad="5"
width="55">
Location:
- </text>
+ </text>-->
<text
follows="top|left"
- height="20"
- left_pad="10"
+ height="16"
+ left="8"
name="object_slurl"
- width="240"
+ width="290"
use_ellipses="true"
word_wrap="false">
http://slurl.com/Ahern/50/50/50
</text>
<button
follows="top|left"
- height="20"
+ height="23"
label="Map"
- left="10"
+ left="8"
+ top_pad="8"
name="map_btn"
- top="114"
- width="75" />
+ width="90" />
<button
follows="top|left"
- height="20"
+ height="23"
label="Block"
- left_pad="5"
+ left_pad="8"
name="block_btn"
- top_delta="0"
- width="75" />
+ width="90" />
<button
follows="top|left"
- height="20"
+ height="23"
label="Close"
- right="-10"
+ right="-8"
name="close_btn"
- top_delta="0"
- width="75" />
+ left_pad="5"
+ width="90" />
</floater>
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index a11ebf5af8..65a545d2ed 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -19,6 +19,7 @@
mouse_opaque="false"
name="nav_bar_container"
width="1024"
+ user_resize="false"
visible="false">
</layout_panel>
<layout_panel auto_resize="true"
@@ -43,7 +44,7 @@
layout="topleft"
mouse_opaque="false"
name="non_side_tray_view"
- user_resize="true"
+ user_resize="false"
width="500">
<view bottom="500"
follows="all"
diff --git a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
index df510d68eb..50910dff32 100644
--- a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
@@ -9,7 +9,7 @@
visible="false"
width="128">
<menu_item_call
- label="Show Profile..."
+ label="View Profile"
layout="topleft"
name="Show Profile">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
index 6891aaca32..038b8328cb 100644
--- a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
+++ b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
@@ -9,7 +9,7 @@
visible="false"
width="128">
<menu_item_call
- label="Show Profile"
+ label="View Profile"
layout="topleft"
name="Show Profile">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml
index c3283c6014..5ab327a182 100644
--- a/indra/newview/skins/default/xui/en/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml
@@ -2,6 +2,67 @@
<context_menu
layout="topleft"
name="Participant List Context Menu">
+ <menu_item_call
+ label="View Profile"
+ layout="topleft"
+ name="View Profile">
+ <menu_item_call.on_click
+ function="Avatar.Profile" />
+ </menu_item_call>
+ <menu_item_call
+ label="Add Friend"
+ layout="topleft"
+ name="Add Friend">
+ <menu_item_call.on_click
+ function="Avatar.AddFriend" />
+ <menu_item_call.on_enable
+ function="Avatar.EnableItem"
+ parameter="can_add" />
+ </menu_item_call>
+ <menu_item_call
+ label="IM"
+ layout="topleft"
+ name="IM">
+ <menu_item_call.on_click
+ function="Avatar.IM" />
+ </menu_item_call>
+ <menu_item_call
+ label="Call"
+ layout="topleft"
+ name="Call">
+ <menu_item_call.on_click
+ function="Avatar.Call" />
+ </menu_item_call>
+ <menu_item_call
+ enabled="false"
+ label="Share"
+ layout="topleft"
+ name="Share">
+ <menu_item_call.on_click
+ function="Avatar.Share" />
+ </menu_item_call>
+ <menu_item_call
+ label="Pay"
+ layout="topleft"
+ name="Pay">
+ <menu_item_call.on_click
+ function="Avatar.Pay" />
+ </menu_item_call>
+ <menu_item_check
+ label="Block/Unblock"
+ layout="topleft"
+ name="Block/Unblock">
+ <menu_item_check.on_click
+ function="Avatar.BlockUnblock" />
+ <menu_item_check.on_check
+ function="Avatar.CheckItem"
+ parameter="is_blocked" />
+ <menu_item_check.on_enable
+ function="Avatar.EnableItem"
+ parameter="can_block" />
+ </menu_item_check>
+ <menu_item_separator
+ layout="topleft" />
<menu_item_check
label="Mute Text"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 2b3f3c79e0..861b0de2cf 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -68,7 +68,7 @@
parameter="inventory" />
</menu_item_check>
<menu_item_call
- label="Show Sidetray Inventory"
+ label="Show Inventory in Side Tray"
name="ShowSidetrayInventory"
shortcut="control|I"
visible="false">
@@ -433,6 +433,8 @@
</menu_item_check>
<menu_item_separator
layout="topleft" />-->
+ <menu_item_separator
+ layout="topleft" />
<menu_item_call
label="Snapshot"
layout="topleft"
@@ -442,6 +444,8 @@
function="Floater.Show"
parameter="snapshot" />
</menu_item_call>
+ <menu_item_separator
+ layout="topleft" />
<menu
create_jump_keys="true"
label="Sun"
@@ -3422,7 +3426,7 @@
name="Parcel"
tear_off="true">
<menu_item_call
- label="Owner To Me"
+ label="Force Owner To Me"
layout="topleft"
name="Owner To Me">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
index 3842c2a8db..970a2e6a8a 100644
--- a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
+++ b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
@@ -8,31 +8,31 @@
min_height="350"
min_width="240"
width="280">
- <text
+ <button
+ follows="top|left"
+ height="25"
+ image_overlay="BackArrow_Off"
+ layout="topleft"
+ name="back"
+ left="10"
+ tab_stop="false"
+ top="0"
+ width="25"/>
+ <text
follows="top|left|right"
- font="SansSerifHugeBold"
+ font="SansSerifLargeBold"
height="20"
layout="topleft"
- left="10"
+ left_pad="10"
name="title_text"
text_color="white"
- top="0"
+ top="5"
width="250">
Blocked List
</text>
- <button
- follows="top|right"
- height="25"
- image_overlay="BackArrow_Off"
- layout="topleft"
- name="back"
- right="-9"
- tab_stop="false"
- top="0"
- width="25"/>
<scroll_list
- follows="left|top|right|bottom"
- height="200"
+ follows="all"
+ height="190"
layout="topleft"
left="5"
name="blocked"
@@ -41,9 +41,8 @@
width="270" />
<button
follows="left|bottom"
- height="20"
- label="Block Resident..."
- label_selected="Block Resident..."
+ height="23"
+ label="Block person"
layout="topleft"
left_delta="0"
name="Block resident..."
@@ -55,9 +54,8 @@
</button>
<button
follows="left|bottom"
- height="20"
- label="Block object by name..."
- label_selected="Block object by name..."
+ height="23"
+ label="Block object by name"
layout="topleft"
left_delta="0"
name="Block object by name..."
@@ -70,9 +68,8 @@
<button
enabled="false"
follows="left|bottom"
- height="20"
+ height="23"
label="Unblock"
- label_selected="Unblock"
layout="topleft"
left_delta="0"
name="Unblock"
diff --git a/indra/newview/skins/default/xui/en/panel_classified.xml b/indra/newview/skins/default/xui/en/panel_classified.xml
index 9622313786..c8293d3663 100644
--- a/indra/newview/skins/default/xui/en/panel_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_classified.xml
@@ -107,7 +107,7 @@
top="48"
width="130">
<combo_box.item
- label="- Select Mature -"
+ label="- Select one -"
name="select_mature"
value="Select" />
<combo_box.item
diff --git a/indra/newview/skins/default/xui/en/panel_friends.xml b/indra/newview/skins/default/xui/en/panel_friends.xml
index 3a35465df2..ac731bcdf0 100644
--- a/indra/newview/skins/default/xui/en/panel_friends.xml
+++ b/indra/newview/skins/default/xui/en/panel_friends.xml
@@ -8,7 +8,7 @@
width="100">
<panel.string
name="Multiple">
- Multiple friends...
+ Multiple friends
</panel.string>
<scroll_list
bottom="337"
@@ -84,7 +84,7 @@
<button
follows="top|right"
height="22"
- label="Teleport..."
+ label="Teleport"
layout="topleft"
left_delta="0"
name="offer_teleport_btn"
@@ -94,7 +94,7 @@
<button
follows="top|right"
height="22"
- label="Pay..."
+ label="Pay"
layout="topleft"
left_delta="0"
name="pay_btn"
@@ -104,7 +104,7 @@
<button
follows="top|right"
height="22"
- label="Remove..."
+ label="Remove"
layout="topleft"
left_delta="0"
name="remove_btn"
@@ -114,7 +114,7 @@
<button
follows="top|right"
height="22"
- label="Add..."
+ label="Add"
layout="topleft"
left_delta="0"
name="add_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
index 889f29fc53..a5445a5783 100644
--- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
border="false"
- follows="left|top|right|bottom"
+ follows="all"
height="238"
name="panel_im_control_panel"
width="180">
-
<avatar_list
color="DkGray2"
- follows="left|top|right|bottom"
+ follows="all"
height="100"
ignore_online_status="true"
layout="topleft"
@@ -19,20 +18,18 @@
show_profile_btn="false"
show_speaking_indicator="false"
top="10"
- width="180"/>
-
+ width="180" />
<button
bottom_pad="0"
- follows="left|right|bottom"
- height="20"
- label="Group Info"
+ follows="left|right|bottom"
+ height="23"
+ label="Group Profile"
left_delta="28"
name="group_info_btn"
- width="125"/>
-
+ width="125" />
<panel
background_visible="true"
- bg_alpha_color="0.2 0.2 0.2 1"
+ bg_alpha_color="DkGray2"
border="false"
follows="left|right|bottom"
height="70"
@@ -41,34 +38,29 @@
name="panel_call_buttons"
top_pad="0"
width="180">
-
<button
bottom="10"
- follows="all"
- height="20"
+ follows="all"
+ height="23"
label="Call Group"
left_delta="28"
name="call_btn"
- width="125"/>
-
+ width="125" />
<button
bottom="40"
- follows="all"
- height="20"
+ follows="all"
+ height="23"
label="Leave Call"
name="end_call_btn"
visible="false"
- width="125"/>
-
+ width="125" />
<button
bottom="10"
- follows="all"
- height="20"
+ follows="all"
+ height="23"
label="Open Voice Controls"
name="voice_ctrls_btn"
visible="false"
- width="125"/>
-
+ width="125" />
</panel>
-
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml
index 043edd10e1..e5dc4df0f8 100644
--- a/indra/newview/skins/default/xui/en/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_general.xml
@@ -145,7 +145,7 @@ Hover your mouse over the options for more help.
layout="topleft"
left="10"
name="group_mature_check"
- tool_tip="Sets whether your group information is considered moderate"
+ tool_tip="Sets whether your group contains information rated as Moderate"
top_pad="0"
width="190">
<combo_box.item
diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml
index 0dea81eefe..1b70b95a93 100644
--- a/indra/newview/skins/default/xui/en/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml
@@ -10,11 +10,9 @@
width="310">
<panel.string
name="help_text">
- Notices let you send a message and
-an optionally attached item. Notices only go to
-group members in Roles with the ability to
-receive Notices. You can turn off Notices on
-the General tab.
+ Notices let you send a message and an optionally attached item.
+Notices only go to group members in Roles with the ability to receive Notices.
+You can turn off Notices on the General tab.
</panel.string>
<panel.string
name="no_notices_text">
@@ -31,7 +29,7 @@ the General tab.
name="lbl2"
top="5"
width="300">
- Notices are kept for 14 days
+ Notices are kept for 14 days.
Maximum 200 per group daily
</text>
<scroll_list
@@ -93,6 +91,7 @@ Maximum 200 per group daily
layout="topleft"
name="refresh_notices"
right="-5"
+ tool_tip="Refresh list of notices"
top_delta="0"
width="23" />
<panel
@@ -192,7 +191,7 @@ Maximum 200 per group daily
top_pad="15"
word_wrap="true"
width="150">
- Drag here to attach something -- >
+ Drag and drop item here to attach it:
</text>
<icon
height="72"
@@ -228,7 +227,7 @@ Maximum 200 per group daily
left="10"
layout="topleft"
name="drop_target"
- tool_tip="Drag an inventory item onto the message box to send it with the notice. You must have permission to copy and transfer the object to send it with the notice."
+ tool_tip="Drag an inventory item onto this target box to send it with this notice. You must have permission to copy and transfer the item in order to attach it."
width="280" />
</panel>
<panel
diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml
index a5bab3232c..9548119d58 100644
--- a/indra/newview/skins/default/xui/en/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml
@@ -258,7 +258,7 @@ things in this group. There&apos;s a broad variety of Abilities.
name="static"
top_pad="5"
width="300">
- Assigned Roles
+ Assigned Members
</text>
<scroll_list
draw_stripes="true"
diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
index a219e30b8b..68e58b27ec 100644
--- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
@@ -46,13 +46,13 @@
<!-- Texture names for rating icons -->
<string
name="icon_PG"
- value="parcel_drk_PG" />
+ value="Parcel_PG_Dark" />
<string
name="icon_M"
- value="parcel_drk_M" />
+ value="Parcel_M_Dark" />
<string
name="icon_R"
- value="parcel_drk_R" />
+ value="Parcel_R_Dark" />
<button
follows="top|right"
height="23"
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 37d59de66f..aeb28e4c60 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -30,13 +30,16 @@
layout="topleft"
left_delta="-4"
name="inventory filter tabs"
+ tab_min_width="70"
+ tab_height="30"
tab_position="top"
- top_pad="4"
+ top_pad="10"
+ halign="center"
width="305">
<inventory_panel
follows="left|top|right|bottom"
height="295"
- label="All Items"
+ label="ALL ITEMS"
layout="topleft"
left="1"
name="All Items"
@@ -45,7 +48,7 @@
<inventory_panel
follows="left|top|right|bottom"
height="295"
- label="Recent Items"
+ label="RECENT ITEMS"
layout="topleft"
left_delta="0"
name="Recent Items"
diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
index 7d9350b45f..6e82713f06 100644
--- a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
+++ b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
@@ -35,10 +35,10 @@
right="-35"
width="16"
height="16"
- image_name="parcel_color_EXP"
+ image_name="Parcel_Exp_Color"
mouse_opaque="true"
follows="top|left"
- name="parcel_color_EXP"
+ name="Parcel_Exp_Color"
/>
<text
visible="true"
diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml
index 3c87331199..d51893793c 100644
--- a/indra/newview/skins/default/xui/en/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml
@@ -27,7 +27,7 @@
<string
name="no_partner_text"
value="None" />
- <string
+ <string
name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
@@ -156,8 +156,8 @@
Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
</expandable_text>
</panel>
-
-
+
+
<!-- <panel
name="lifes_images_panel"
follows="left|top|right"
@@ -207,10 +207,10 @@
top="25"
width="18" />
</panel> -->
-
-
-
-
+
+
+
+
<text
type="string"
follows="left|top"
@@ -254,7 +254,7 @@
layout="topleft"
left="10"
name="register_date"
- value="05/31/1976"
+ value="05/31/2376"
width="280"
word_wrap="true" />
<text
@@ -351,11 +351,11 @@
name="profile_buttons_panel"
top_pad="2"
bottom="10"
- height="19"
+ height="23"
width="303">
<button
follows="bottom|left"
- height="19"
+ height="23"
label="Add Friend"
layout="topleft"
left="0"
@@ -365,7 +365,7 @@
width="75" />
<button
follows="bottom|left"
- height="19"
+ height="23"
label="IM"
layout="topleft"
name="im"
@@ -374,7 +374,7 @@
width="45" />
<button
follows="bottom|left"
- height="19"
+ height="23"
label="Call"
layout="topleft"
name="call"
@@ -384,7 +384,7 @@
<button
enabled="false"
follows="bottom|left"
- height="19"
+ height="23"
label="Map"
layout="topleft"
name="show_on_map_btn"
@@ -393,7 +393,7 @@
width="45" />
<button
follows="bottom|left"
- height="19"
+ height="23"
label="Teleport"
layout="topleft"
name="teleport"
@@ -408,11 +408,11 @@
top_pad="-17"
name="profile_me_buttons_panel"
visible="false"
- height="19"
+ height="23"
width="303">
<button
follows="bottom|right"
- height="19"
+ height="23"
left="10"
label="Edit Profile"
name="edit_profile_btn"
@@ -420,7 +420,7 @@
width="130" />
<button
follows="bottom|right"
- height="19"
+ height="23"
label="Edit Appearance"
left_pad="10"
name="edit_appearance_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
index de612fbbc3..2543656a8b 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
@@ -22,6 +22,7 @@
label="Click here to chat."
layout="topleft"
left_delta="7"
+ text_pad_right="25"
left="0"
max_length="512"
name="chat_box"
@@ -37,7 +38,7 @@
left_pad="-24"
mouse_opaque="true"
name="chat_zone_indicator"
- top="1"
+ top="6"
visible="true"
width="20" />
<button
diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
index 51997a2813..0567d722d5 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
@@ -1,56 +1,52 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel name="Outfits"
- bottom="0"
- height="326"
- left="0"
- width="310"
- border="true"
- follows="left|top|right|bottom">
+<panel name="Outfits"
+ follows="all"
+border="false">
<accordion
- follows="left|top|right|bottom"
- height="315"
- layout="topleft"
+ single_expansion="true"
+ follows="top|left|bottom"
+ height="460"
+ layout="topleft"
left="0"
name="outfits_accordion"
- top="2"
- width="310">
- <accordion_tab
+ top="0"
+ width="333">
+ <accordion_tab
layout="topleft"
- name="tab_outfits"
- title="Outfits">
- <inventory_panel
- allow_multi_select="true"
- border="true"
+ name="tab_cof"
+ title="Current Outfit">
+ <inventory_panel
+ allow_multi_select="true"
+ border="false"
bottom="0"
- follows="left|top|right|bottom"
- height="326"
- left="0"
+ follows="all"
+ height="416"
+ left="0"
mouse_opaque="true"
- name="outfitslist_accordionpanel"
- width="310"
- start_folder="My Outfits"/>
+ name="cof_accordionpanel"
+ width="333"
+ start_folder="Current Outfit" />
</accordion_tab>
<accordion_tab
layout="topleft"
- name="tab_cof"
- title="Current Outfit">
- <inventory_panel
- allow_multi_select="true"
- border="true"
+ name="tab_outfits"
+ title="My Outfits">
+ <inventory_panel
+ allow_multi_select="true"
+ border="false"
bottom="0"
- follows="left|top|right|bottom"
- height="326"
- left="0"
+ follows="all"
+ height="415"
+ left="0"
mouse_opaque="true"
- name="cof_accordionpanel"
- width="310"
- start_folder="Current Outfit"/>
+ name="outfitslist_accordionpanel"
+ width="333"
+ start_folder="My Outfits" />
</accordion_tab>
</accordion>
-
- <button bottom="0"
+ <!--<button bottom="0"
halign="center"
- height="16"
+ height="23"
label=">"
enabled="false"
mouse_opaque="false"
@@ -59,54 +55,5 @@
left="0"
visible="false"
follows="right|bottom"
- tool_tip="View outfit properties"/>
- <panel
- background_visible="true"
- bevel_style="none"
- bottom="0"
- follows="left|right|bottom"
- height="30"
- layout="bottomleft"
- left="0"
- visible="true"
- name="bottom_panel"
- width="310">
- <button
- follows="bottom|left"
- tool_tip="Show additional options"
- height="18"
- image_disabled="OptionsMenu_Disabled"
- image_selected="OptionsMenu_Press"
- image_unselected="OptionsMenu_Off"
- layout="topleft"
- left="10"
- name="options_gear_btn"
- picture_style="true"
- top="6"
- width="18" />
- <button
- follows="bottom|left"
- height="18"
- image_selected="AddItem_Press"
- image_unselected="AddItem_Off"
- image_disabled="AddItem_Disabled"
- layout="topleft"
- left_pad="5"
- name="add_btn"
- picture_style="true"
- tool_tip="Add new item"
- width="18" />
- <dnd_button
- follows="bottom|right"
- height="18"
- image_selected="TrashItem_Press"
- image_unselected="TrashItem_Off"
- layout="topleft"
- right="-5"
- name="trash_btn"
- picture_style="true"
- tool_tip="Remove selected item"
- top="6"
- width="18" />
- </panel>
+ tool_tip="View outfit properties" />-->
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml
index 52bc72fe86..4facedc7ea 100644
--- a/indra/newview/skins/default/xui/en/panel_picks.xml
+++ b/indra/newview/skins/default/xui/en/panel_picks.xml
@@ -106,7 +106,7 @@
layout="topleft"
left_pad="15"
name="new_btn"
- tool_tip="Create new pick or classified at current location"
+ tool_tip="Create a new pick or classified at the current location"
top="5"
width="18" />
<button
@@ -138,7 +138,7 @@
left="5"
name="info_btn"
tab_stop="false"
- tool_tip="Show pic information"
+ tool_tip="Show pick information"
top="0"
width="55" />
<button
@@ -162,7 +162,7 @@
left_pad="5"
name="show_on_map_btn"
tab_stop="false"
- tool_tip="Show corresponding area on the world map"
+ tool_tip="Show the corresponding area on the World Map"
top="0"
width="50" />
</panel>
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 3f5da66dce..b25d9a7dfc 100644
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -95,49 +95,49 @@
<!-- Texture names for parcel permissions icons -->
<string
name="icon_PG"
- value="parcel_drk_PG" />
+ value="Parcel_PG_Dark" />
<string
name="icon_M"
- value="parcel_drk_M" />
+ value="Parcel_M_Dark" />
<string
name="icon_R"
- value="parcel_drk_R" />
+ value="Parcel_R_Dark" />
<string
name="icon_Voice"
- value="parcel_drk_Voice" />
+ value="Parcel_Voice_Dark" />
<string
name="icon_VoiceNo"
- value="parcel_drk_VoiceNo" />
+ value="Parcel_VoiceNo_Dark" />
<string
name="icon_Fly"
- value="parcel_drk_Fly" />
+ value="Parcel_Fly_Dark" />
<string
name="icon_FlyNo"
- value="parcel_drk_FlyNo" />
+ value="Parcel_FlyNo_Dark" />
<string
name="icon_Push"
- value="parcel_drk_Push" />
+ value="Parcel_Push_Dark" />
<string
name="icon_PushNo"
- value="parcel_drk_PushNo" />
+ value="Parcel_PushNo_Dark" />
<string
name="icon_Build"
- value="parcel_drk_Build" />
+ value="Parcel_Build_Dark" />
<string
name="icon_BuildNo"
- value="parcel_drk_BuildNo" />
+ value="Parcel_BuildNo_Dark" />
<string
name="icon_Scripts"
- value="parcel_drk_Scripts" />
+ value="Parcel_Scripts_Dark" />
<string
name="icon_ScriptsNo"
- value="parcel_drk_ScriptsNo" />
+ value="Parcel_ScriptsNo_Dark" />
<string
name="icon_Damage"
- value="parcel_drk_Damage" />
+ value="Parcel_Damage_Dark" />
<string
name="icon_DamageNo"
- value="parcel_drk_DamageNo" />
+ value="Parcel_DamageNo_Dark" />
<button
follows="top|right"
height="23"
@@ -335,7 +335,7 @@
<icon
follows="top|left"
height="16"
- image_name="parcel_drk_PG"
+ image_name="Parcel_PG_Dark"
layout="topleft"
left="10"
name="rating_icon"
@@ -361,7 +361,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Voice"
+ image_name="Parcel_Voice_Dark"
layout="topleft"
left="10"
name="voice_icon"
@@ -388,7 +388,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Fly"
+ image_name="Parcel_Fly_Dark"
layout="topleft"
left="10"
name="fly_icon"
@@ -414,7 +414,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Push"
+ image_name="Parcel_Push_Dark"
layout="topleft"
left="10"
name="push_icon"
@@ -440,7 +440,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Build"
+ image_name="Parcel_Build_Dark"
layout="topleft"
left="10"
name="build_icon"
@@ -466,7 +466,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Scripts"
+ image_name="Parcel_Scripts_Dark"
layout="topleft"
left="10"
name="scripts_icon"
@@ -492,7 +492,7 @@
<icon
follows="top|left"
height="18"
- image_name="parcel_drk_Damage"
+ image_name="Parcel_Damage_Dark"
layout="topleft"
left="10"
name="damage_icon"
@@ -591,7 +591,7 @@
<icon
follows="top|left"
height="16"
- image_name="parcel_drk_PG"
+ image_name="Parcel_PG_Dark"
layout="topleft"
left_pad="0"
name="region_rating_icon"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index 3aa5d3fae4..fff53c1de2 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -332,7 +332,7 @@
control_name="ChatWindow"
name="chat_window"
top_pad="10"
- tool_tip="Show chat in multiple windows(by default) or in one multi-tabbed window (requires restart)"
+ tool_tip="Show your Instant Messages in separate windows, or in one window with many tabs (Requires restart)"
width="331">
<radio_item
height="16"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
index 8ef2cdfc37..854227619b 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
@@ -23,7 +23,7 @@
name="System Volume"
show_text="false"
slider_label.halign="right"
- top_pad="5"
+ top="10"
volume="true"
width="350">
<slider.commit_callback
@@ -34,8 +34,8 @@
control_name="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -79,8 +79,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -114,8 +114,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -149,8 +149,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -184,8 +184,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -219,8 +219,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -230,12 +230,13 @@
width="22" />
<check_box
label_text.halign="left"
- follows="right|top"
- height="16"
- control_name ="EnableVoiceChat"
- disabled_control="CmdLineDisableVoice"
- label="Voice"
- left="50"
+ follows="left|top"
+ height="16"
+ control_name ="EnableVoiceChat"
+ disabled_control="CmdLineDisableVoice"
+ label="Enable voice"
+ layout="topleft"
+ left="28"
name="enable_voice_check"
top_pad="5"
width="110"
@@ -249,15 +250,16 @@
height="15"
increment="0.05"
initial_value="0.5"
- label_width="0"
+ label="Voice"
+ label_width="160"
layout="topleft"
- left="165"
- top_delta="0"
+ left="0"
+ top_delta="20"
name="Voice Volume"
show_text="false"
slider_label.halign="right"
volume="true"
- width="185">
+ width="350">
<slider.commit_callback
function="Pref.setControlFalse"
parameter="MuteVoice" />
@@ -268,8 +270,8 @@
disabled_control="MuteAudio"
follows="top|right"
height="18"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
layout="topleft"
left_pad="16"
@@ -283,63 +285,70 @@
follows="left|top"
height="13"
layout="topleft"
- left="170"
+ left="30"
name="Listen from"
- width="200">
+ width="200"
+ top="205">
Listen from:
</text>
<icon
- follows="left"
+ follows="left|top"
height="18"
image_name="Cam_FreeCam_Off"
+ layout="topleft"
name="camera_icon"
mouse_opaque="false"
visible="true"
- width="18" />
+ width="18"
+ left="80"
+ top="219"/>
<icon
- follows="left"
+ follows="left|top"
height="18"
image_name="Move_Walk_Off"
+ layout="topleft"
name="avatar_icon"
mouse_opaque="false"
visible="true"
- width="18" />
+ width="18"
+ top="239"
+ left="80"
+ />
<radio_group
enabled_control="EnableVoiceChat"
control_name="VoiceEarLocation"
draw_border="false"
- follows="left"
- left_delta="20"
- top = "210"
- width="221"
- height="38"
- name="ear_location">
- <radio_item
- height="16"
- label="Camera position"
- left_pad="1"
- follows="topleft"
- name="0"
- top_delta="-30"
- width="200" />
- <radio_item
- height="16"
- follows="topleft"
- label="Avatar position"
- left_delta="0"
- name="1"
- top_delta="19"
- width="200" />
- </radio_group>
+ follows="left|top"
+ layout="topleft"
+ left="100"
+ width="221"
+ height="38"
+ name="ear_location"
+ top="218">
+ <radio_item
+ height="16"
+ label="Camera position"
+ follows="left|top"
+ layout="topleft"
+ name="0"
+ width="200"/>
+ <radio_item
+ height="16"
+ follows="left|top"
+ label="Avatar position"
+ layout="topleft"
+ name="1"
+ width="200" />
+ </radio_group>
<button
control_name="ShowDeviceSettings"
- follows="left|bottom"
+ follows="left|top"
height="19"
is_toggle="true"
- label="Input/Output Devices"
+ label="Input/Output devices"
layout="topleft"
- left="165"
- top_pad="12"
+ left="30"
+ top="270"
name="device_settings_btn"
width="190">
</button>
@@ -475,7 +484,7 @@
</text>-->
<icon
height="18"
- image_name="parcel_lght_Voice"
+ image_name="Parcel_Voice_Light"
left="80"
name="speaker_icon"
mouse_opaque="false"
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index 5dcee9e965..57b090e5b4 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -72,8 +72,8 @@
<button
follows="right|bottom"
height="16"
- image_selected="parcel_drk_VoiceNo"
- image_unselected="parcel_drk_Voice"
+ image_selected="Parcel_VoiceNo_Dark"
+ image_unselected="Parcel_Voice_Dark"
is_toggle="true"
left_pad="18"
top="1"
diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml
index 6479fc91ca..707b24c92c 100644
--- a/indra/newview/skins/default/xui/en/panel_toast.xml
+++ b/indra/newview/skins/default/xui/en/panel_toast.xml
@@ -46,7 +46,7 @@
</text>
<button
layout="topleft"
- top="-6"
+ top="-14"
left="293"
width="17"
height="17"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
index 4dae8e48a0..886887c2b5 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
@@ -1,111 +1,177 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
- background_visible="true"
- follows="all"
- height="400"
- label="Appearance"
- layout="topleft"
- min_height="350"
- min_width="240"
- name="appearance panel"
- width="333">
- <string
- name="No Outfit"
- value="No Outfit" />
- <panel
- left="5" width="320" height="55"
- background_visible="true"
- background_opaque="false"
- bg_alpha_color="0.2 0.2 0.2 1.0"
- name="panel_currentlook"
- follows="left|top|right">
- <button
- follows="left|right|top"
- font="SansSerif"
- top="28" right="-10" width="60" height="20"
- layout="topleft"
- label="Edit"
- name="editappearance_btn"/>
- <button
- follows="left|right|top"
- top="28" left="5" width="25" height="22"
- image_overlay="Inv_LookFolderOpen"
- layout="topleft"
- name="openoutfit_btn"
- picture_style="true" />
- <text
- top="10" width="150" left="5" height="15" follows="left|right|top"
- layout="topleft"
- font="SansSerif" text_color="LtGray" word_wrap="true"
- mouse_opaque="false" name="currentlook_title">
- Current Outfit:
- </text>
- <text
- top="32" width="150" left="32" height="15" follows="left|right|top"
- layout="topleft"
- font="SansSerifBold" text_color="white" word_wrap="true"
- mouse_opaque="false" name="currentlook_name" >
- MyOutfit
- </text>
- </panel>
-
+background_visible="true"
+ follows="all"
+ height="570"
+ label="My Appearance"
+ layout="topleft"
+ min_height="350"
+ name="appearance panel"
+ width="333">
+ <string
+name="No Outfit"
+value="No Outfit" />
+<panel
+ left="0"
+ top="0"
+ follows="top|left"
+layout="topleft"
+ width="333"
+ height="45"
+ background_visible="true"
+ background_opaque="false"
+ bg_alpha_color="MouseGray"
+ name="panel_currentlook"
+ >
+<button
+ follows="left|top"
+ top="0" width="1" height="1"
+ layout="topleft"
+ left="0"
+ name="editappearance_btn" />
+ <button
+ follows="left|top"
+ top="0" width="1" height="1"
+ layout="topleft"
+ left="3"
+ name="openoutfit_btn" />
+<icon
+ follows="top|left"
+ height="30"
+ image_name="TabIcon_Appearance_Off"
+ name="outfit_icon"
+ mouse_opaque="false"
+ visible="true"
+ left="5"
+ top="0"
+ width="30" />
+<text
+ width="292"
+ height="22"
+follows="top|left"
+ layout="topleft"
+ left_pad="5"
+font="SansSerifLarge"
+font.style="BOLD"
+word_wrap="false"
+use_ellipses="true"
+mouse_opaque="false"
+ text_color="white"
+ name="currentlook_name">
+MyOutfit With a really Long Name like MOOSE
+ </text>
+ <text
+width="290"
+left="40"
+height="1"
+follows="top|left"
+ layout="topleft"
+ top_pad="-2"
+mouse_opaque="false"
+ name="currentlook_title" >
+(now wearing)
+ </text>
+</panel>
<filter_editor
- follows="left|top|right"
- font="SansSerif"
- label="Filter"
- layout="topleft"
- left="15"
- width="313"
- height="20"
- name="Filter" />
+ follows="top|left"
+ height="23"
+ layout="topleft"
+ left="15"
+ label="Filter"
+ max_length="300"
+ name="Filter"
+ top_pad="7"
+ width="303" />
<panel
- class="panel_outfits_inventory"
- filename="panel_outfits_inventory.xml"
- name="panel_outfits_inventory"
- follows="all"
- height="271"
- halign="center"
- layout="topleft"
- left="10"
- top_pad="19"
- width="313" />
- <button
- follows="bottom|left"
- height="25"
- label="Wear"
- layout="topleft"
- left="10"
- name="wear_btn"
- top_pad="0"
- width="80" />
+ follows="top|left"
+ halign="center"
+ height="500"
+ layout="topleft"
+ class="panel_outfits_inventory"
+ filename="panel_outfits_inventory.xml"
+ name="panel_outfits_inventory"
+ min_height="300"
+ left="0"
+ top_pad="3"
+ width="333"
+ />
+ <panel
+ background_visible="true"
+ follows="top|left"
+ height="19"
+ layout="topleft"
+ left="0"
+ visible="true"
+ name="bottom_panel"
+ width="333">
+ <button
+ follows="bottom|left"
+ tool_tip="Show additional options"
+ height="18"
+ image_disabled="OptionsMenu_Disabled"
+ image_selected="OptionsMenu_Press"
+ image_unselected="OptionsMenu_Off"
+ layout="topleft"
+ left="10"
+ name="options_gear_btn"
+ top="6"
+ width="18" />
+ <button
+ follows="bottom|left"
+ height="18"
+ image_selected="AddItem_Press"
+ image_unselected="AddItem_Off"
+ image_disabled="AddItem_Disabled"
+ layout="topleft"
+ left_pad="5"
+ name="add_btn"
+ tool_tip="Add new item"
+ width="18" />
+ <dnd_button
+ follows="bottom|left"
+ height="18"
+ image_selected="TrashItem_Press"
+ image_unselected="TrashItem_Off"
+ layout="topleft"
+ right="-5"
+ name="trash_btn"
+ tool_tip="Remove selected item"
+ top="6"
+ width="18" />
<button
- follows="bottom|left"
- height="25"
- label="New Outfit"
- layout="topleft"
- left_pad="0"
- name="newlook_btn"
- top_delta="0"
- width="90" />
-
- <panel
- class="panel_look_info"
- filename="panel_look_info.xml"
- follows="all"
- layout="topleft"
- left="0"
- name="panel_look_info"
- top="-200"
- visible="false" />
-
- <panel
- class="panel_edit_wearable"
- filename="panel_edit_wearable.xml"
- follows="all"
- layout="topleft"
- left="0"
- name="panel_edit_wearable"
- top="-200"
- visible="false"
- width="333" />
+ follows="top|left"
+ height="23"
+ label="Wear"
+ layout="topleft"
+ name="wear_btn"
+ right="-5"
+ top_pad="0"
+ width="90" />
+ </panel>
+ <!-- <button
+ follows="bottom|left"
+ height="23"
+ label="New outfit"
+ layout="topleft"
+ left_pad="5"
+ right="-10"
+ name="newlook_btn"
+ width="100" />-->
+<panel
+ class="panel_look_info"
+ filename="panel_look_info.xml"
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="panel_look_info"
+ visible="false" />
+<panel
+ class="panel_edit_wearable"
+ filename="panel_edit_wearable.xml"
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="panel_edit_wearable"
+ visible="false"
+ width="333" />
</panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 75af881e93..9703373c7f 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1770,7 +1770,8 @@ Clears (deletes) the media and all params from the given face.
<string name="tattoo">Tattoo</string>
<string name="invalid">invalid</string>
- <!-- notify -->
+ <!-- LLGroupNotify -->
+ <!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
<string name="next">Next</string>
<string name="ok">OK</string>
<string name="GroupNotifyGroupNotice">Group Notice</string>
@@ -1780,6 +1781,7 @@ Clears (deletes) the media and all params from the given face.
<string name="GroupNotifyViewPastNotices">View past notices or opt-out of receiving these messages here.</string>
<string name="GroupNotifyOpenAttachment">Open Attachment</string>
<string name="GroupNotifySaveAttachment">Save Attachment</string>
+
<string name="TeleportOffer">Teleport offering</string>
<!-- start-up toast's string-->
<string name="StartUpNotifications">New notifications arrived while you were away.</string>
diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
index 0e34243349..48baa2812d 100644
--- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
@@ -4,6 +4,7 @@
search_button_visible="true"
text_pad_left="7"
select_on_focus="true"
+ text_tentative_color="TextFgTentativeColor"
background_image="TextField_Search_Off"
background_image_disabled="TextField_Search_Disabled"
background_image_focused="TextField_Search_Active">
diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml
index 0e2700cb80..7ac44b412d 100644
--- a/indra/newview/skins/default/xui/en/widgets/location_input.xml
+++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml
@@ -22,9 +22,12 @@
>
<!-- *NOTE: Tooltips are in strings.xml so they can be localized.
See LocationCtrlAddLandmarkTooltip etc. -->
- <info_button name="Place Information"
- width="16"
- height="16"
+ <info_button
+ name="Place Information"
+ width="16"
+ height="16"
+ left="4"
+ top="20"
follows="left|top"
hover_glow_amount="0.15"
image_unselected="Info_Off"
@@ -43,8 +46,8 @@
left="-3" />
<for_sale_button
name="for_sale_btn"
- image_unselected="parcel_lght_ForSale"
- image_selected="parcel_lght_ForSale"
+ image_unselected="Parcel_ForSale_Light"
+ image_selected="Parcel_ForSale_Light"
width="22"
height="18"
follows="right|top"
@@ -58,7 +61,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_VoiceNo"
+ image_name="Parcel_VoiceNo_Light"
/>
<fly_icon
name="fly_icon"
@@ -66,7 +69,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_FlyNo"
+ image_name="Parcel_FlyNo_Light"
/>
<push_icon
name="push_icon"
@@ -74,7 +77,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_PushNo"
+ image_name="Parcel_PushNo_Light"
/>
<build_icon
name="build_icon"
@@ -82,7 +85,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_BuildNo"
+ image_name="Parcel_BuildNo_Light"
/>
<scripts_icon
name="scripts_icon"
@@ -90,7 +93,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_ScriptsNo"
+ image_name="Parcel_ScriptsNo_Light"
/>
<!-- NOTE: Placeholder icon, there is no dark grayscale version -->
<damage_icon
@@ -99,7 +102,7 @@
height="18"
top="21"
follows="right|top"
- image_name="parcel_lght_Damage"
+ image_name="Parcel_Damage_Light"
/>
<!-- Default text color is invisible on top of nav bar background -->
<damage_text
diff --git a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
index 98b3e2faaa..21b957d089 100644
--- a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<output_monitor
- image_mute="parcel_lght_VoiceNo"
+ image_mute="Parcel_VoiceNo_Light"
image_off="VoicePTT_Off"
image_on="VoicePTT_On"
image_level_1="VoicePTT_Lvl1"
diff --git a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
index c2a70d4b39..5d429d5b5b 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
@@ -13,7 +13,8 @@
<combo_editor
name="child1"
select_on_focus="true"
- text_pad_left="30"
+ text_pad_left="30"
+ text_tentative_color="TextFgTentativeColor"
background_image="TextField_Search_Off"
background_image_disabled="TextField_Search_Disabled"
background_image_focused="TextField_Search_Active"/>
diff --git a/indra/newview/skins/default/xui/en/widgets/search_editor.xml b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
index f644a710b2..1616e4c3f7 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
@@ -4,6 +4,7 @@
search_button_visible="true"
text_pad_left="6"
select_on_focus="true"
+ text_tentative_color="TextFgTentativeColor"
background_image="TextField_Search_Off"
background_image_disabled="TextField_Search_Disabled"
background_image_focused="TextField_Search_Active" >
diff --git a/indra/newview/skins/default/xui/en/widgets/spinner.xml b/indra/newview/skins/default/xui/en/widgets/spinner.xml
index ab3f8df5f8..d7af6077e5 100644
--- a/indra/newview/skins/default/xui/en/widgets/spinner.xml
+++ b/indra/newview/skins/default/xui/en/widgets/spinner.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<spinner text_enabled_color="LabelTextColor"
text_disabled_color="LabelDisabledColor"
- font="SansSerif"
+ font="SansSerifSmall"
decimal_digits="3"
label_width="40" >
<spinner.up_button name="SpinCtrl Up"
diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml
new file mode 100644
index 0000000000..eaa68f5690
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!-- Menu items for the back button drop-down menu of locations.
+ Based on menu_item_call.xml -->
+<teleport_history_menu_item
+ back_item_font="SansSerif"
+ current_item_font="SansSerifBold"
+ forward_item_font="SansSerif"
+ back_item_image="teleport_history_backward.tga"
+ forward_item_image="teleport_history_forward.tga"
+ image_hpad="1"
+ image_vpad="0"
+ />
diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp
index 90e3e7a7e0..68743357a6 100644
--- a/indra/newview/tests/llviewerhelputil_test.cpp
+++ b/indra/newview/tests/llviewerhelputil_test.cpp
@@ -36,7 +36,7 @@
#include "../test/lltut.h"
#include "../llviewerhelputil.h"
-#include "../llviewerversion.h"
+#include "../llversioninfo.h"
#include "llcontrol.h"
#include "llsys.h"
@@ -76,7 +76,11 @@ std::string LLControlGroup::getString(const std::string& name)
return test_stringvec[name];
}
-const std::string &llGetViewerVersion()
+S32 LLVersionInfo::getMajor() { return 2; }
+S32 LLVersionInfo::getMinor() { return 0; }
+S32 LLVersionInfo::getPatch() { return 0; }
+S32 LLVersionInfo::getBuild() { return 200099; }
+const std::string &LLVersionInfo::getVersion()
{
static std::string version = "2.0.0.200099";
return version;
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index b14c59ab9a..02c13716ed 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -133,9 +133,16 @@ void LLLogin::Impl::connect(const std::string& uri, const LLSD& credentials)
void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credentials)
{
- LL_INFOS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
- << " with uri '" << uri << "', credentials " << credentials << LL_ENDL;
- // Arriving in SRVRequest state
+ LLSD printable_credentials = credentials;
+ if(printable_credentials.has("params")
+ && printable_credentials["params"].has("passwd"))
+ {
+ printable_credentials["params"]["passwd"] = "*******";
+ }
+ LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
+ << " with uri '" << uri << "', credentials " << printable_credentials << LL_ENDL;
+
+ // Arriving in SRVRequest state
LLEventStream replyPump("reply", true);
// Should be an array of one or more uri strings.
LLSD rewrittenURIs;
@@ -144,7 +151,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
sendProgressEvent("offline", "srvrequest");
// Request SRV record.
- LL_INFOS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
+ LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
// *NOTE:Mani - Completely arbitrary default timeout value for SRV request.
F32 seconds_to_timeout = 5.0f;
@@ -193,6 +200,11 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
LLSD progress_data;
progress_data["attempt"] = attempts;
progress_data["request"] = request;
+ if(progress_data["request"].has("params")
+ && progress_data["request"]["params"].has("passwd"))
+ {
+ progress_data["request"]["params"]["passwd"] = "*******";
+ }
sendProgressEvent("offline", "authenticating", progress_data);
// We expect zero or more "Downloading" status events, followed by