summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llplugin/llpluginprocesschild.cpp10
-rw-r--r--indra/llui/lllineeditor.cpp3
-rw-r--r--indra/llwindow/llkeyboardwin32.cpp2
-rw-r--r--indra/llwindow/llwindowwin32.cpp24
-rw-r--r--indra/newview/app_settings/settings.xml13
-rw-r--r--indra/newview/llagentwearables.cpp2
-rw-r--r--indra/newview/llappearancemgr.cpp78
-rw-r--r--indra/newview/llappearancemgr.h11
-rw-r--r--indra/newview/llappviewer.cpp1
-rw-r--r--indra/newview/llfolderview.cpp11
-rw-r--r--indra/newview/llfolderview.h2
-rw-r--r--indra/newview/llfoldervieweventlistener.h1
-rw-r--r--indra/newview/llfolderviewitem.h6
-rw-r--r--indra/newview/llinventorybridge.cpp27
-rw-r--r--indra/newview/llinventorybridge.h1
-rw-r--r--indra/newview/llinventorypanel.cpp49
-rw-r--r--indra/newview/llinventorypanel.h2
-rw-r--r--indra/newview/llpaneloutfitsinventory.cpp6
-rw-r--r--indra/newview/llsidepanelappearance.cpp5
-rw-r--r--indra/newview/llsidepanelappearance.h1
-rw-r--r--indra/newview/lltoolpie.cpp6
-rw-r--r--indra/newview/llviewermedia.h13
-rw-r--r--indra/newview/llviewermenu.cpp14
-rw-r--r--indra/newview/llvovolume.cpp16
-rw-r--r--indra/newview/skins/default/colors.xml10
-rw-r--r--indra/newview/skins/default/textures/navbar/NavBar_BG.pngbin210 -> 195 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml16
-rw-r--r--indra/newview/skins/default/textures/windows/Inspector_I.pngbin0 -> 548 bytes
-rw-r--r--indra/newview/skins/default/xui/en/favorites_bar_button.xml8
-rw-r--r--indra/newview/skins/default/xui/en/floater_about.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_help_browser.xml32
-rw-r--r--indra/newview/skins/default/xui/en/floater_map.xml1
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_my_profile.xml453
-rw-r--r--indra/newview/skins/default/xui/en/panel_navigation_bar.xml30
-rw-r--r--indra/newview/skins/default/xui/en/panel_notes.xml168
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_inventory.xml39
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile.xml427
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml22
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_appearance.xml25
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml1
-rw-r--r--indra/newview/skins/default/xui/en/widgets/location_input.xml20
43 files changed, 835 insertions, 728 deletions
diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp
index ccf6dab942..07fc82c770 100644
--- a/indra/llplugin/llpluginprocesschild.cpp
+++ b/indra/llplugin/llpluginprocesschild.cpp
@@ -54,8 +54,14 @@ LLPluginProcessChild::~LLPluginProcessChild()
if(mInstance != NULL)
{
sendMessageToPlugin(LLPluginMessage("base", "cleanup"));
- delete mInstance;
- mInstance = NULL;
+
+ // IMPORTANT: under some (unknown) circumstances the apr_dso_unload() triggered when mInstance is deleted
+ // appears to fail and lock up which means that a given instance of the slplugin process never exits.
+ // This is bad, especially when users try to update their version of SL - it fails because the slplugin
+ // process as well as a bunch of plugin specific files are locked and cannot be overwritten.
+ exit( 0 );
+ //delete mInstance;
+ //mInstance = NULL;
}
}
diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp
index 8a21155cc3..73e4d126f3 100644
--- a/indra/llui/lllineeditor.cpp
+++ b/indra/llui/lllineeditor.cpp
@@ -1583,7 +1583,6 @@ void LLLineEditor::draw()
F32 alpha = getDrawContext().mAlpha;
S32 text_len = mText.length();
static LLUICachedControl<S32> lineeditor_cursor_thickness ("UILineEditorCursorThickness", 0);
- static LLUICachedControl<S32> lineeditor_v_pad ("UILineEditorVPad", 0);
static LLUICachedControl<F32> preedit_marker_brightness ("UIPreeditMarkerBrightness", 0);
static LLUICachedControl<S32> preedit_marker_gap ("UIPreeditMarkerGap", 0);
static LLUICachedControl<S32> preedit_marker_position ("UIPreeditMarkerPosition", 0);
@@ -1609,6 +1608,8 @@ void LLLineEditor::draw()
LLRect background( 0, getRect().getHeight(), getRect().getWidth(), 0 );
background.stretch( -mBorderThickness );
+ S32 lineeditor_v_pad = llround((background.getHeight() - mGLFont->getLineHeight())/2);
+
drawBackground();
// draw text
diff --git a/indra/llwindow/llkeyboardwin32.cpp b/indra/llwindow/llkeyboardwin32.cpp
index 35a3e7621a..ab5ecb4e63 100644
--- a/indra/llwindow/llkeyboardwin32.cpp
+++ b/indra/llwindow/llkeyboardwin32.cpp
@@ -80,7 +80,7 @@ LLKeyboardWin32::LLKeyboardWin32()
mTranslateKeyMap[VK_OEM_COMMA] = ',';
mTranslateKeyMap[VK_OEM_MINUS] = '-';
mTranslateKeyMap[VK_OEM_PERIOD] = '.';
- mTranslateKeyMap[VK_OEM_2] = KEY_PAD_DIVIDE;
+ mTranslateKeyMap[VK_OEM_2] = '/';//This used to be KEY_PAD_DIVIDE, but that breaks typing into text fields in media prims
mTranslateKeyMap[VK_OEM_3] = '`';
mTranslateKeyMap[VK_OEM_4] = '[';
mTranslateKeyMap[VK_OEM_5] = '\\';
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 7bc0056d8f..439c10c95c 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -2198,7 +2198,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
{
window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_MBUTTONUP");
LLFastTimer t2(FTM_MOUSEHANDLER);
- // Because we move the cursor position in tllviewerhe app, we need to query
+ // Because we move the cursor position in the llviewer app, we need to query
// to find out where the cursor at the time the event is handled.
// If we don't do this, many clicks could get buffered up, and if the
// first click changes the cursor position, all subsequent clicks
@@ -2228,7 +2228,27 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_MOUSEWHEEL");
static short z_delta = 0;
- z_delta += HIWORD(w_param);
+ RECT client_rect;
+
+ // eat scroll events that occur outside our window, since we use mouse position to direct scroll
+ // instead of keyboard focus
+ // NOTE: mouse_coord is in *window* coordinates for scroll events
+ POINT mouse_coord = {(S32)(S16)LOWORD(l_param), (S32)(S16)HIWORD(l_param)};
+
+ if (ScreenToClient(window_imp->mWindowHandle, &mouse_coord)
+ && GetClientRect(window_imp->mWindowHandle, &client_rect))
+ {
+ // we have a valid mouse point and client rect
+ if (mouse_coord.x < client_rect.left || client_rect.right < mouse_coord.x
+ || mouse_coord.y < client_rect.top || client_rect.bottom < mouse_coord.y)
+ {
+ // mouse is outside of client rect, so don't do anything
+ return 0;
+ }
+ }
+
+ S16 incoming_z_delta = HIWORD(w_param);
+ z_delta += incoming_z_delta;
// cout << "z_delta " << z_delta << endl;
// current mouse wheels report changes in increments of zDelta (+120, -120)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index a0b02bf3df..64140cd478 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9353,18 +9353,7 @@
<string>S32</string>
<key>Value</key>
<integer>2</integer>
- </map>
- <key>UILineEditorVPad</key>
- <map>
- <key>Comment</key>
- <string>UI Line Editor Vertical Pad</string>
- <key>Persist</key>
- <integer>1</integer>
- <key>Type</key>
- <string>S32</string>
- <key>Value</key>
- <integer>5</integer>
- </map>
+ </map>
<key>UIMaxComboWidth</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 29530c9c05..f49f862045 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -2274,6 +2274,8 @@ void LLInitialWearablesFetch::processContents()
}
else
{
+ // if we're constructing the COF from the wearables message, we don't have a proper outfit link
+ LLAppearanceManager::instance().setOutfitDirty(true);
processWearablesMessage();
}
delete this;
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 1150d84feb..4d4a89bcd4 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -674,6 +674,10 @@ void LLAppearanceManager::updateAgentWearables(LLWearableHoldingPattern* holder,
void LLAppearanceManager::updateAppearanceFromCOF()
{
+ // update dirty flag to see if the state of the COF matches
+ // the saved outfit stored as a folder link
+ updateIsDirty();
+
dumpCat(getCOF(),"COF, start");
bool follow_folder_links = true;
@@ -1005,7 +1009,9 @@ void LLAppearanceManager::addCOFItemLink(const LLInventoryItem *item, bool do_up
if (linked_already)
{
if (do_update)
+ {
LLAppearanceManager::updateAppearanceFromCOF();
+ }
return;
}
else
@@ -1059,6 +1065,75 @@ void LLAppearanceManager::removeCOFItemLinks(const LLUUID& item_id, bool do_upda
}
}
+void LLAppearanceManager::updateIsDirty()
+{
+ LLUUID cof = getCOF();
+ LLUUID base_outfit;
+
+ // find base outfit link
+ const LLViewerInventoryItem* base_outfit_item = getBaseOutfitLink();
+ LLViewerInventoryCategory* catp = NULL;
+ if (base_outfit_item && base_outfit_item->getIsLinkType())
+ {
+ catp = base_outfit_item->getLinkedCategory();
+ }
+ if(catp && catp->getPreferredType() == LLFolderType::FT_OUTFIT)
+ {
+ base_outfit = catp->getUUID();
+ }
+
+ if(base_outfit.isNull())
+ {
+ // no outfit link found, display "unsaved outfit"
+ mOutfitIsDirty = true;
+ }
+ else
+ {
+ LLInventoryModel::cat_array_t cof_cats;
+ LLInventoryModel::item_array_t cof_items;
+ gInventory.collectDescendents(cof, cof_cats, cof_items,
+ LLInventoryModel::EXCLUDE_TRASH);
+
+ LLInventoryModel::cat_array_t outfit_cats;
+ LLInventoryModel::item_array_t outfit_items;
+ gInventory.collectDescendents(base_outfit, outfit_cats, outfit_items,
+ LLInventoryModel::EXCLUDE_TRASH);
+
+ if(outfit_items.count() != cof_items.count() -1)
+ {
+ // Current outfit folder should have one more item than the outfit folder.
+ // this one item is the link back to the outfit folder itself.
+ mOutfitIsDirty = true;
+ }
+ else
+ {
+ typedef std::set<LLUUID> item_set_t;
+ item_set_t cof_set;
+ item_set_t outfit_set;
+
+ // sort COF items by UUID
+ for (S32 i = 0; i < cof_items.count(); ++i)
+ {
+ LLViewerInventoryItem *item = cof_items.get(i);
+ // don't add the base outfit link to the list of objects we're comparing
+ if(item != base_outfit_item)
+ {
+ cof_set.insert(item->getLinkedUUID());
+ }
+ }
+
+ // sort outfit folder by UUID
+ for (S32 i = 0; i < outfit_items.count(); ++i)
+ {
+ LLViewerInventoryItem *item = outfit_items.get(i);
+ outfit_set.insert(item->getLinkedUUID());
+ }
+
+ mOutfitIsDirty = (outfit_set != cof_set);
+ }
+ }
+}
+
//#define DUMP_CAT_VERBOSE
void LLAppearanceManager::dumpCat(const LLUUID& cat_id, const std::string& msg)
@@ -1095,7 +1170,8 @@ void LLAppearanceManager::dumpItemArray(const LLInventoryModel::item_array_t& it
}
LLAppearanceManager::LLAppearanceManager():
- mAttachmentInvLinkEnabled(false)
+ mAttachmentInvLinkEnabled(false),
+ mOutfitIsDirty(false)
{
}
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 11b910ee11..b954968998 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -96,6 +96,16 @@ public:
// Add COF link to ensemble folder.
void addEnsembleLink(LLInventoryCategory* item, bool do_update = true);
+ //has the current outfit changed since it was loaded?
+ bool isOutfitDirty() { return mOutfitIsDirty; }
+
+ // set false if you just loaded the outfit, true otherwise
+ void setOutfitDirty(bool isDirty) { mOutfitIsDirty = isDirty; }
+
+ // manually compare ouftit folder link to COF to see if outfit has changed.
+ // should only be necessary to do on initial login.
+ void updateIsDirty();
+
protected:
LLAppearanceManager();
~LLAppearanceManager();
@@ -120,6 +130,7 @@ private:
std::set<LLUUID> mRegisteredAttachments;
bool mAttachmentInvLinkEnabled;
+ bool mOutfitIsDirty;
};
#define SUPPORT_ENSEMBLES 0
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index e0356bc091..fb1bded795 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -313,6 +313,7 @@ void init_default_trans_args()
{
default_trans_args.insert("SECOND_LIFE"); // World
default_trans_args.insert("APP_NAME");
+ default_trans_args.insert("CAPITALIZED_APP_NAME");
default_trans_args.insert("SECOND_LIFE_GRID");
default_trans_args.insert("SUPPORT_SITE");
}
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 112b23d2df..1ea5868491 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -569,6 +569,8 @@ LLFolderViewItem* LLFolderView::getCurSelectedItem( void )
BOOL LLFolderView::setSelection(LLFolderViewItem* selection, BOOL openitem,
BOOL take_keyboard_focus)
{
+ mSignalSelectCallback = take_keyboard_focus ? SIGNAL_KEYBOARD_FOCUS : SIGNAL_NO_KEYBOARD_FOCUS;
+
if( selection == this )
{
return FALSE;
@@ -596,8 +598,6 @@ BOOL LLFolderView::setSelection(LLFolderViewItem* selection, BOOL openitem,
llassert(mSelectedItems.size() <= 1);
- mSignalSelectCallback = take_keyboard_focus ? SIGNAL_KEYBOARD_FOCUS : SIGNAL_NO_KEYBOARD_FOCUS;
-
return rv;
}
@@ -820,10 +820,11 @@ void LLFolderView::clearSelection()
mSelectThisID.setNull();
}
-BOOL LLFolderView::getSelectionList(std::set<LLUUID> &selection)
+BOOL LLFolderView::getSelectionList(std::set<LLUUID> &selection) const
{
- selected_items_t::iterator item_it;
- for (item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)
+ for (selected_items_t::const_iterator item_it = mSelectedItems.begin();
+ item_it != mSelectedItems.end();
+ ++item_it)
{
selection.insert((*item_it)->getListener()->getUUID());
}
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index 2598af4df4..89e1865e35 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -162,7 +162,7 @@ public:
virtual S32 extendSelection(LLFolderViewItem* selection, LLFolderViewItem* last_selected, LLDynamicArray<LLFolderViewItem*>& items);
- virtual BOOL getSelectionList(std::set<LLUUID> &selection);
+ virtual BOOL getSelectionList(std::set<LLUUID> &selection) const;
// make sure if ancestor is selected, descendents are not
void sanitizeSelection();
diff --git a/indra/newview/llfoldervieweventlistener.h b/indra/newview/llfoldervieweventlistener.h
index 473d0be912..d6c4459e6f 100644
--- a/indra/newview/llfoldervieweventlistener.h
+++ b/indra/newview/llfoldervieweventlistener.h
@@ -62,6 +62,7 @@ public:
virtual PermissionMask getPermissionMask() const = 0;
virtual LLFolderType::EType getPreferredType() const = 0;
virtual LLPointer<LLUIImage> getIcon() const = 0;
+ virtual LLPointer<LLUIImage> getOpenIcon() const { return getIcon(); }
virtual LLFontGL::StyleFlags getLabelStyle() const = 0;
virtual std::string getLabelSuffix() const = 0;
virtual void openItem( void ) = 0;
diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h
index 6f8c738a59..03bb296d29 100644
--- a/indra/newview/llfolderviewitem.h
+++ b/indra/newview/llfolderviewitem.h
@@ -237,7 +237,7 @@ public:
virtual void recursiveDeselect(BOOL deselect_self);
// gets multiple-element selection
- virtual BOOL getSelectionList(std::set<LLUUID> &selection){return TRUE;}
+ virtual BOOL getSelectionList(std::set<LLUUID> &selection) const {return TRUE;}
// Returns true is this object and all of its children can be removed (deleted by user)
virtual BOOL isRemovable();
@@ -304,7 +304,7 @@ public:
// Show children (unfortunate that this is called "open")
virtual void setOpen(BOOL open = TRUE) {};
- virtual BOOL isOpen() { return FALSE; }
+ virtual BOOL isOpen() const { return FALSE; }
virtual LLFolderView* getRoot();
BOOL isDescendantOf( const LLFolderViewFolder* potential_ancestor );
@@ -499,7 +499,7 @@ public:
virtual void setOpenArrangeRecursively(BOOL openitem, ERecurseType recurse = RECURSE_NO);
// Get the current state of the folder.
- virtual BOOL isOpen() { return mIsOpen; }
+ virtual BOOL isOpen() const { return mIsOpen; }
// special case if an object is dropped on the child.
BOOL handleDragAndDropFromChild(MASK mask,
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index d70221b22a..20d7f5214b 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -2074,7 +2074,12 @@ void LLFolderBridge::performAction(LLFolderView* folder, LLInventoryModel* model
{
if ("open" == action)
{
- openItem();
+ LLFolderViewFolder *f = dynamic_cast<LLFolderViewFolder *>(folder->getItemByID(mUUID));
+ if (f)
+ {
+ f->setOpen(TRUE);
+ }
+
return;
}
else if ("paste" == action)
@@ -2228,9 +2233,22 @@ LLUIImagePtr LLFolderBridge::getIcon() const
LLUIImagePtr LLFolderBridge::getIcon(LLFolderType::EType preferred_type)
{
// we only have one folder image now
+ if (preferred_type == LLFolderType::FT_OUTFIT)
+ {
+ return LLUI::getUIImage("Inv_LookFolderClosed");
+ }
return LLUI::getUIImage("Inv_FolderClosed");
}
+LLUIImagePtr LLFolderBridge::getOpenIcon() const
+{
+ if (getPreferredType() == LLFolderType::FT_OUTFIT)
+ {
+ return LLUI::getUIImage("Inv_LookFolderOpen");
+ }
+ return LLUI::getUIImage("Inv_FolderOpen");
+}
+
BOOL LLFolderBridge::renameItem(const std::string& new_name)
{
if(!isItemRenameable())
@@ -2614,6 +2632,13 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
mItems.push_back(std::string("Rename"));
mItems.push_back(std::string("Delete"));
+
+ // EXT-4030: disallow deletion of currently worn outfit
+ const LLViewerInventoryItem *base_outfit_link = LLAppearanceManager::instance().getBaseOutfitLink();
+ if (base_outfit_link && (cat == base_outfit_link->getLinkedCategory()))
+ {
+ mDisabledItems.push_back(std::string("Delete"));
+ }
}
}
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index cc1fa45b26..fced0047e8 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -289,6 +289,7 @@ public:
virtual LLFolderType::EType getPreferredType() const;
virtual LLUIImagePtr getIcon() const;
+ virtual LLUIImagePtr getOpenIcon() const;
static LLUIImagePtr getIcon(LLFolderType::EType preferred_type);
virtual BOOL renameItem(const std::string& new_name);
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 164e72e621..498a29728c 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -433,11 +433,10 @@ void LLInventoryPanel::initializeViews()
{
mStartFolderID = (preferred_type != LLFolderType::FT_NONE ? gInventory.findCategoryUUIDForType(preferred_type) : LLUUID::null);
}
- llinfos << this << " Generating views for start folder " << mStartFolderString << llendl;
rebuildViewsFor(mStartFolderID);
mViewsInitialized = true;
- defaultOpenInventory();
+ openStartFolderOrMyInventory();
}
void LLInventoryPanel::rebuildViewsFor(const LLUUID& id)
@@ -491,13 +490,14 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
if (new_listener)
{
- LLFolderViewFolder::Params p;
- p.name = new_listener->getDisplayName();
- p.icon = new_listener->getIcon();
- p.root = mFolders;
- p.listener = new_listener;
- p.tool_tip = p.name;
- LLFolderViewFolder* folderp = LLUICtrlFactory::create<LLFolderViewFolder>(p);
+ LLFolderViewFolder::Params params;
+ params.name = new_listener->getDisplayName();
+ params.icon = new_listener->getIcon();
+ params.icon_open = new_listener->getOpenIcon();
+ params.root = mFolders;
+ params.listener = new_listener;
+ params.tool_tip = params.name;
+ LLFolderViewFolder* folderp = LLUICtrlFactory::create<LLFolderViewFolder>(params);
folderp->setItemSortOrder(mFolders->getSortOrder());
itemp = folderp;
@@ -523,12 +523,13 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
if (new_listener)
{
LLFolderViewItem::Params params;
- params.name(new_listener->getDisplayName());
- params.icon(new_listener->getIcon());
- params.creation_date(new_listener->getCreationDate());
- params.root(mFolders);
- params.listener(new_listener);
- params.rect(LLRect (0, 0, 0, 0));
+ params.name = new_listener->getDisplayName();
+ params.icon = new_listener->getIcon();
+ params.icon_open = new_listener->getOpenIcon();
+ params.creation_date = new_listener->getCreationDate();
+ params.root = mFolders;
+ params.listener = new_listener;
+ params.rect = LLRect (0, 0, 0, 0);
params.tool_tip = params.name;
itemp = LLUICtrlFactory::create<LLFolderViewItem> (params);
}
@@ -575,7 +576,7 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
}
// bit of a hack to make sure the inventory is open.
-void LLInventoryPanel::defaultOpenInventory()
+void LLInventoryPanel::openStartFolderOrMyInventory()
{
if (mStartFolderString != "")
{
@@ -583,13 +584,17 @@ void LLInventoryPanel::defaultOpenInventory()
}
else
{
- // Get the first child (it should be "My Inventory") and
- // open it up by name (just to make sure the first child is actually a folder).
- LLView* first_child = mFolders->getFirstChild();
- if (first_child)
+ // Find My Inventory folder and open it up by name
+ for (LLView *child = mFolders->getFirstChild(); child; child = mFolders->findNextSibling(child))
{
- const std::string& first_child_name = first_child->getName();
- mFolders->openFolder(first_child_name);
+ LLFolderViewFolder *fchild = dynamic_cast<LLFolderViewFolder*>(child);
+ if (fchild && fchild->getListener() &&
+ (fchild->getListener()->getUUID() == gInventory.getRootFolderID()))
+ {
+ const std::string& child_name = child->getName();
+ mFolders->openFolder(child_name);
+ break;
+ }
}
}
}
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index 4f7f0a79f6..09533b52f1 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -167,7 +167,7 @@ public:
static LLInventoryPanel *getActiveInventoryPanel(BOOL auto_open = TRUE);
protected:
- void defaultOpenInventory(); // open the first level of inventory
+ void openStartFolderOrMyInventory(); // open the first level of inventory
LLInventoryModel* mInventory;
LLInventoryObserver* mInventoryObserver;
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index 29fa4b319c..a1c12412b5 100644
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -415,7 +415,7 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
if (command_name == "wear" ||
command_name == "make_outfit")
{
- const BOOL is_my_outfits = (mActivePanel->getName() == "outfitslist_accordionpanel");
+ const BOOL is_my_outfits = (mActivePanel->getName() == "outfitslist_tab");
if (!is_my_outfits)
{
return FALSE;
@@ -468,11 +468,11 @@ void LLPanelOutfitsInventory::initTabPanels()
{
mTabPanels.resize(2);
- LLInventoryPanel *cof_panel = getChild<LLInventoryPanel>("cof_accordionpanel");
+ LLInventoryPanel *cof_panel = getChild<LLInventoryPanel>("cof_tab");
cof_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
mTabPanels[0] = cof_panel;
- LLInventoryPanel *myoutfits_panel = getChild<LLInventoryPanel>("outfitslist_accordionpanel");
+ LLInventoryPanel *myoutfits_panel = getChild<LLInventoryPanel>("outfitslist_tab");
myoutfits_panel->setFilterTypes(1LL << LLFolderType::FT_OUTFIT, LLInventoryFilter::FILTERTYPE_CATEGORY);
myoutfits_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
mTabPanels[1] = myoutfits_panel;
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index 0aefebce10..0ae62843ac 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -151,6 +151,8 @@ BOOL LLSidepanelAppearance::postBuild()
}
mCurrentLookName = getChild<LLTextBox>("currentlook_name");
+
+ mOutfitDirtyTag = getChild<LLTextBox>("currentlook_title");
mCurrOutfitPanel = getChild<LLPanel>("panel_currentlook");
@@ -213,7 +215,7 @@ void LLSidepanelAppearance::onOpenOutfitButtonClicked()
if (tab_outfits)
{
tab_outfits->changeOpenClose(FALSE);
- LLInventoryPanel *inventory_panel = tab_outfits->findChild<LLInventoryPanel>("outfitslist_accordionpanel");
+ LLInventoryPanel *inventory_panel = tab_outfits->findChild<LLInventoryPanel>("outfitslist_tab");
if (inventory_panel)
{
LLFolderView *folder = inventory_panel->getRootFolder();
@@ -316,6 +318,7 @@ void LLSidepanelAppearance::updateVerbs()
void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name)
{
+ mOutfitDirtyTag->setVisible(LLAppearanceManager::getInstance()->isOutfitDirty());
if (name == "")
{
const LLViewerInventoryItem *outfit_link = LLAppearanceManager::getInstance()->getBaseOutfitLink();
diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h
index 8ef2088eda..9524b0ece9 100644
--- a/indra/newview/llsidepanelappearance.h
+++ b/indra/newview/llsidepanelappearance.h
@@ -86,6 +86,7 @@ private:
LLPanel* mCurrOutfitPanel;
LLTextBox* mCurrentLookName;
+ LLTextBox* mOutfitDirtyTag;
// Used to make sure the user's inventory is in memory.
LLCurrentlyWornFetchObserver* mFetchWorn;
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 9ee848e30f..412878eef5 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -731,10 +731,11 @@ BOOL LLToolPie::handleToolTip(S32 local_x, S32 local_y, MASK mask)
LLInspector::Params p;
p.fillFrom(LLUICtrlFactory::instance().getDefaultParams<LLInspector>());
p.message(avatar_name);
- p.image(LLUI::getUIImage("Info"));
+ p.image.name("Inspector_I");
p.click_callback(boost::bind(showAvatarInspector, hover_object->getID()));
p.visible_time_near(6.f);
p.visible_time_far(3.f);
+ p.delay_time(0.35f);
p.wrap(false);
LLToolTipMgr::instance().show(p);
@@ -821,7 +822,7 @@ BOOL LLToolPie::handleToolTip(S32 local_x, S32 local_y, MASK mask)
LLInspector::Params p;
p.fillFrom(LLUICtrlFactory::instance().getDefaultParams<LLInspector>());
p.message(tooltip_msg);
- p.image(LLUI::getUIImage("Info_Off"));
+ p.image.name("Inspector_I");
p.click_callback(boost::bind(showObjectInspector, hover_object->getID(), mHoverPick.mObjectFace));
p.time_based_media(is_time_based_media);
p.web_based_media(is_web_based_media);
@@ -830,6 +831,7 @@ BOOL LLToolPie::handleToolTip(S32 local_x, S32 local_y, MASK mask)
p.click_homepage_callback(boost::bind(VisitHomePage, mHoverPick));
p.visible_time_near(6.f);
p.visible_time_far(3.f);
+ p.delay_time(0.35f);
p.wrap(false);
LLToolTipMgr::instance().show(p);
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index 5e4dd8ff30..b103c48bd8 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -123,7 +123,10 @@ class LLViewerMediaImpl
{
LOG_CLASS(LLViewerMediaImpl);
public:
-
+
+ friend class LLViewerMedia;
+ friend class LLMimeDiscoveryResponder;
+
LLViewerMediaImpl(
const LLUUID& texture_id,
S32 media_width,
@@ -202,11 +205,15 @@ public:
bool isMediaPaused();
bool hasMedia() const;
bool isMediaFailed() const { return mMediaSourceFailed; };
+ void setMediaFailed(bool val) { mMediaSourceFailed = val; }
void resetPreviousMediaState();
void setDisabled(bool disabled);
bool isMediaDisabled() const { return mIsDisabled; };
-
+
+ void setInNearbyMediaList(bool in_list) { mInNearbyMediaList = in_list; }
+ bool getInNearbyMediaList() { return mInNearbyMediaList; }
+
// returns true if this instance should not be loaded (disabled, muted object, crashed, etc.)
bool isForcedUnloaded() const;
@@ -311,7 +318,7 @@ public:
void setNavState(EMediaNavState state);
void cancelMimeTypeProbe();
-public:
+private:
// a single media url with some data and an impl.
LLPluginClassMedia* mMediaSource;
LLUUID mTextureId;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 5a9d219fac..1bff04352c 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -437,19 +437,7 @@ void init_menus()
gMenuBarView->setBackgroundColor( color );
gMenuHolder->addChild(gMenuBarView);
-
- // menu holder appears on top of menu bar so you can see the menu title
- // flash when an item is triggered (the flash occurs in the holder)
- gViewerWindow->getRootView()->addChild(gMenuHolder);
-
- // This removes tool tip view from main view and adds it
- // to root view in front of menu holder.
- // Otherwise tool tips for menu items would be overlapped by menu, since
- // main view is behind of menu holder now.
- gViewerWindow->getRootView()->addChild(gToolTipView);
-
- gViewerWindow->getRootView()->addChild(gSnapshotFloaterView);
-
+
gViewerWindow->setMenuBackgroundColor(false,
LLViewerLogin::getInstance()->isInProductionGrid());
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 55609621b3..d23bcf9006 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1852,12 +1852,22 @@ void LLVOVolume::mediaNavigateBounceBack(U8 texture_index)
if (mep && impl)
{
std::string url = mep->getCurrentURL();
- if (url.empty())
+ // If the url we're trying to "bounce back" to is either empty or not
+ // allowed by the whitelist, try the home url. If *that* doesn't work,
+ // set the media as failed and unload it
+ if (url.empty() || !mep->checkCandidateUrl(url))
{
url = mep->getHomeURL();
}
- if (! url.empty())
- {
+ if (url.empty() || !mep->checkCandidateUrl(url))
+ {
+ // The url to navigate back to is not good, and we have nowhere else
+ // to go.
+ LL_WARNS("MediaOnAPrim") << "FAILED to bounce back URL \"" << url << "\" -- unloading impl" << LL_ENDL;
+ impl->setMediaFailed(true);
+ }
+ else {
+ // Okay, navigate now
LL_INFOS("MediaOnAPrim") << "bouncing back to URL: " << url << LL_ENDL;
impl->navigateTo(url, "", false, true);
}
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 67816a6a87..887cff56f6 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -67,11 +67,11 @@
value="1 1 0 1" />
<color
name="Green"
- value="0 .39 .10 1" />
+ value="0 1 0 1" />
<color
name="Transparent"
value="0 0 0 0" />
- <!-- Make potentially unused colors show up bright purple.
+ <!-- This color name makes potentially unused colors show up bright purple.
Leave this here until all Unused? are removed below, otherwise
the viewer generates many warnings on startup. -->
<color
@@ -232,7 +232,7 @@
value="1 0 0 1" />
<color
name="ColorPaletteEntry20"
- reference="Unused?" />
+ reference=".5 .5 1 0" />
<color
name="ColorPaletteEntry21"
value="0 1 0 1" />
@@ -370,7 +370,7 @@
reference="Unused?" />
<color
name="HighlightChildColor"
- reference="Unused?" />
+ reference="Yellow" />
<color
name="HighlightInspectColor"
value="1 0.5 0 1" />
@@ -622,7 +622,7 @@
value="0.13 0.42 0.77 1" />
<color
name="SilhouetteParentColor"
- reference="Unused?" />
+ reference="Yellow" />
<color
name="SliderDisabledThumbColor"
reference="White_25" />
diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG.png b/indra/newview/skins/default/textures/navbar/NavBar_BG.png
index 1df61751a8..38eea783e6 100644
--- a/indra/newview/skins/default/textures/navbar/NavBar_BG.png
+++ b/indra/newview/skins/default/textures/navbar/NavBar_BG.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index ad598f25f3..75424e71f5 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -71,7 +71,7 @@ with the same filename but different name
<texture name="Audio_Press" file_name="icons/Audio_Press.png" preload="false" />
<texture name="Avaline_Icon" file_name="icons/avaline_default_icon.jpg" preload="true" />
-
+
<texture name="BackArrow_Disabled" file_name="icons/BackArrow_Disabled.png" preload="false" />
<texture name="BackArrow_Off" file_name="icons/BackArrow_Off.png" preload="false" />
<texture name="BackArrow_Press" file_name="icons/BackArrow_Press.png" preload="false" />
@@ -222,7 +222,8 @@ with the same filename but different name
<texture name="Inspector_Background" file_name="windows/Inspector_Background.png" preload="false"
scale.left="4" scale.top="28" scale.right="60" scale.bottom="4" />
<texture name="Inspector_Hover" file_name="windows/Inspector_Hover.png" preload="false" />
-
+ <texture name="Inspector_I" file_name="windows/Inspector_I.png" preload="false" />
+
<texture name="Inv_Acessories" file_name="icons/Inv_Accessories.png" preload="false" />
<texture name="Inv_Alpha" file_name="icons/Inv_Alpha.png" preload="false" />
<texture name="Inv_Animation" file_name="icons/Inv_Animation.png" preload="false" />
@@ -305,8 +306,8 @@ with the same filename but different name
<texture name="Movement_Up_Off" file_name="bottomtray/Movement_Up_Off.png" preload="false" />
<texture name="Movement_Up_On" file_name="bottomtray/Movement_Up_On.png" preload="false" />
- <texture name="NavBar_BG_NoFav" file_name="navbar/NavBar_BG_NoFav.png" preload="false" />
- <texture name="NavBar_BG" file_name="navbar/NavBar_BG.png" preload="false" />
+ <texture name="NavBar_BG_NoFav" file_name="navbar/NavBar_BG_NoFav.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
+ <texture name="NavBar_BG" file_name="navbar/NavBar_BG.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="NearbyVoice_Lvl1" file_name="bottomtray/NearbyVoice_Lvl1.png" preload="false" />
<texture name="NearbyVoice_Lvl2" file_name="bottomtray/NearbyVoice_Lvl2.png" preload="false" />
@@ -351,7 +352,7 @@ with the same filename but different name
<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_Damage_Dark" file_name="icons/Parcel_Health_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" />
@@ -552,9 +553,9 @@ with the same filename but different name
<texture name="TabTop_Divider" file_name="containers/TabTop_Divider.png" preload="false" />
<texture name="TabTop_Left_Press" file_name="containers/TabTop_Left_Press.png" preload="false" />
<texture name="TabTop_Middle_Press" file_name="containers/TabTop_Middle_Press.png" preload="false" />
- <texture name="TabTop_Right_Off" file_name="containers/TabTop_Right_Off.png" preload="false" />
+ <texture name="TabTop_Right_Off" file_name="containers/TabTop_Right_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="62" scale.bottom="9" />
<texture name="TabTop_Right_Press" file_name="containers/TabTop_Right_Press.png" preload="false" />
- <texture name="TabTop_Right_Selected" file_name="containers/TabTop_Right_Selected.png" preload="false" />
+ <texture name="TabTop_Right_Selected" file_name="containers/TabTop_Right_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="62" scale.bottom="9" />
<texture name="TabTop_Middle_Off" file_name="containers/TabTop_Middle_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
<texture name="TabTop_Middle_Selected" file_name="containers/TabTop_Middle_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />
<texture name="TabTop_Left_Off" file_name="containers/TabTop_Left_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
@@ -574,7 +575,6 @@ with the same filename but different name
<texture name="TimeBasedMediaBackground" file_name="windows/TimeBasedMediaBackground.png" preload="false" />
-
<texture name="Toast_CloseBtn" file_name="windows/Toast_CloseBtn.png" preload="true" />
<texture name="Toast_Background" file_name="windows/Toast_Background.png" preload="true"
scale.left="4" scale.top="28" scale.right="60" scale.bottom="4" />
diff --git a/indra/newview/skins/default/textures/windows/Inspector_I.png b/indra/newview/skins/default/textures/windows/Inspector_I.png
new file mode 100644
index 0000000000..b4875fd638
--- /dev/null
+++ b/indra/newview/skins/default/textures/windows/Inspector_I.png
Binary files differ
diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml
index dcf9847adb..dfb0695ec3 100644
--- a/indra/newview/skins/default/xui/en/favorites_bar_button.xml
+++ b/indra/newview/skins/default/xui/en/favorites_bar_button.xml
@@ -10,18 +10,16 @@
image_disabled_selected="transparent.j2c"
image_selected="transparent.j2c"
image_unselected="transparent.j2c"
- image_hover_selected="Favorite_Link_Over"
- image_hover_unselected="Favorite_Link_Over"
image_pressed="Favorite_Link_Over"
- image_pressed_selected="Favorite_Link_Over"
hover_glow_amount="0.15"
label_shadow="false"
layout="topleft"
left="0"
name="favorites_bar_btn"
- pad_bottom="-1"
+ pad_bottom="1"
pad_left="11"
- pad_right="7"
+ pad_right="9"
+ scale_image="true"
tab_stop="false"
top="0"
use_ellipses="true"
diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml
index 2ff99dcf5a..fac7aef690 100644
--- a/indra/newview/skins/default/xui/en/floater_about.xml
+++ b/indra/newview/skins/default/xui/en/floater_about.xml
@@ -6,7 +6,7 @@
name="floater_about"
help_topic="floater_about"
save_rect="true"
- title="ABOUT [APP_NAME]"
+ title="ABOUT [CAPITALIZED_APP_NAME]"
width="470">
<floater.string
name="AboutHeader">
diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml
index 55a6179afb..446b7138c4 100644
--- a/indra/newview/skins/default/xui/en/floater_help_browser.xml
+++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml
@@ -2,7 +2,7 @@
<floater
legacy_header_height="18"
can_resize="true"
- height="400"
+ height="480"
layout="topleft"
min_height="140"
min_width="467"
@@ -21,7 +21,7 @@
http://support.secondlife.com
</floater.string>
<layout_stack
- bottom="400"
+ bottom="480"
follows="left|right|top|bottom"
layout="topleft"
left="10"
@@ -29,42 +29,22 @@
top="20"
width="600">
<layout_panel
- height="20"
+ height="1"
layout="topleft"
left_delta="0"
name="external_controls"
top_delta="0"
user_resize="false"
- width="570">
+ width="590">
<web_browser
- bottom="-10"
+ bottom="-4"
follows="left|right|top|bottom"
layout="topleft"
left="0"
name="browser"
top="0"
start_url="data:text/html,%3Chtml%3E%3Cbody bgcolor=%22#2A2A2A%22%3E%3C/body%3E%3C/html%3E"
- width="570" />
- <button
- follows="bottom|left"
- height="20"
- label="Open in My Web Browser"
- layout="topleft"
- left_delta="0"
- name="open_browser"
- top_pad="5"
- width="185" />
-<!--
- <button
- follows="bottom|right"
- height="20"
- label="Close"
- layout="topleft"
- left_pad="290"
- name="close"
- top_delta="0"
- width="70" />
--->
+ width="590" />
</layout_panel>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml
index 7b4c5f38a1..3a5ceed5fb 100644
--- a/indra/newview/skins/default/xui/en/floater_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_map.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
+ can_minimize="false"
can_resize="true"
follows="top|right"
height="225"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 58e9d39807..fa7e3e86a3 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -2816,8 +2816,7 @@
<menu_item_call
label="Dump Focus Holder"
layout="topleft"
- name="Dump Focus Holder"
- shortcut="control|alt|F">
+ name="Dump Focus Holder">
<menu_item_call.on_click
function="Advanced.DumpFocusHolder" />
</menu_item_call>
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 12a0a9155d..8327edfdd0 100644
--- a/indra/newview/skins/default/xui/en/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml
@@ -41,7 +41,7 @@
height="535"
width="313"
border_size="0">
- <panel
+ <layout_panel
name="profile_stack"
follows="all"
layout="topleft"
@@ -49,176 +49,176 @@
left="0"
height="505"
width="313">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="505"
- width="313"
- top="0">
- <panel
+ <scroll_container
+ color="DkGray2"
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="profile_scroll"
+ opaque="true"
+ height="505"
+ width="313"
+ top="0">
+ <panel
+ layout="topleft"
+ follows="left|top|right"
+ name="scroll_content_panel"
+ top="0"
+ left="0"
+ width="303">
+ <panel
+ follows="left|top|right"
+ height="117"
+ layout="topleft"
+ left="10"
+ name="second_life_image_panel"
+ top="0"
+ width="300">
+ <texture_picker
+ allow_no_texture="true"
+ default_image_name="None"
+ enabled="false"
+ follows="top|left"
+ height="117"
layout="topleft"
- follows="left|top|right"
- name="scroll_content_panel"
- top="0"
left="0"
- width="303">
- <panel
- follows="left|top|right"
- height="117"
- layout="topleft"
- left="10"
- name="second_life_image_panel"
- top="0"
- width="300">
- <texture_picker
- allow_no_texture="true"
- default_image_name="None"
- enabled="false"
- follows="top|left"
+ name="2nd_life_pic"
+ top="10"
+ width="102" />
+ <icon
+ height="102"
+ image_name="Blank"
+ layout="topleft"
+ name="2nd_life_edit_icon"
+ label=""
+ left="0"
+ tool_tip="Click the Edit Profile button below to change image"
+ top="10"
+ width="102" />
+ <text
+ follows="left|top|right"
+ font.style="BOLD"
+ height="15"
+ layout="topleft"
+ left_pad="10"
+ name="title_sl_descr_text"
+ text_color="white"
+ top_delta="0"
+ value="[SECOND_LIFE]:"
+ width="180" />
+ <expandable_text
+ follows="left|top|right"
+ height="95"
+ layout="topleft"
+ left="107"
+ textbox.max_length="512"
+ name="sl_description_edit"
+ top_pad="-3"
+ width="188"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
+ </expandable_text>
+ </panel>
+ <panel
+ follows="left|top|right"
height="117"
layout="topleft"
- left="0"
- name="2nd_life_pic"
- top="10"
- width="102" />
- <icon
- height="102"
- image_name="Blank"
- layout="topleft"
- name="2nd_life_edit_icon"
- label=""
- left="0"
- tool_tip="Click the Edit Profile button below to change image"
- top="10"
- width="102" />
+ top_pad="10"
+ left="10"
+ name="first_life_image_panel"
+ width="300">
+ <texture_picker
+ allow_no_texture="true"
+ default_image_name="None"
+ enabled="false"
+ follows="top|left"
+ height="117"
+ layout="topleft"
+ left="0"
+ name="real_world_pic"
+ width="102" />
+ <icon
+ height="102"
+ image_name="Blank"
+ layout="topleft"
+ name="real_world_edit_icon"
+ label=""
+ left="0"
+ tool_tip="Click the Edit Profile button below to change image"
+ top="4"
+ width="102" />
+ <text
+ follows="left|top|right"
+ font.style="BOLD"
+ height="15"
+ layout="topleft"
+ left_pad="10"
+ name="title_rw_descr_text"
+ text_color="white"
+ top_delta="0"
+ value="Real World:"
+ width="180" />
+ <expandable_text
+ follows="left|top|right"
+ height="95"
+ layout="topleft"
+ left="107"
+ textbox.max_length="512"
+ name="fl_description_edit"
+ top_pad="-3"
+ width="188"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ 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>
<text
- follows="left|top|right"
- font.style="BOLD"
+ follows="left|top"
height="15"
+ font.style="BOLD"
+ font="SansSerifMedium"
layout="topleft"
- left_pad="10"
- name="title_sl_descr_text"
- text_color="white"
- top_delta="0"
- value="[SECOND_LIFE]:"
- width="180" />
- <expandable_text
- follows="left|top|right"
- height="95"
+ left="10"
+ name="homepage_edit"
+ top_pad="0"
+ value="http://librarianavengers.org"
+ width="300"
+ word_wrap="false"
+ use_ellipses="true"
+ />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
layout="topleft"
- left="107"
- textbox.max_length="512"
- name="sl_description_edit"
- top_pad="-3"
- width="188"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
- </expandable_text>
- </panel>
- <panel
- follows="left|top|right"
- height="117"
- layout="topleft"
- top_pad="10"
- left="10"
- name="first_life_image_panel"
- width="300">
- <texture_picker
- allow_no_texture="true"
- default_image_name="None"
- enabled="false"
- follows="top|left"
- height="117"
+ left="10"
+ name="title_member_text"
+ text_color="white"
+ top_pad="10"
+ value="Resident Since:"
+ width="300" />
+ <text
+ follows="left|top"
+ height="15"
layout="topleft"
- left="0"
- name="real_world_pic"
- width="102" />
- <icon
- height="102"
- image_name="Blank"
- layout="topleft"
- name="real_world_edit_icon"
- label=""
- left="0"
- tool_tip="Click the Edit Profile button below to change image"
- top="4"
- width="102" />
+ left="10"
+ name="register_date"
+ value="05/31/2376"
+ width="300"
+ word_wrap="true" />
<text
- follows="left|top|right"
- font.style="BOLD"
+ follows="left|top"
+ font.style="BOLD"
height="15"
layout="topleft"
- left_pad="10"
- name="title_rw_descr_text"
+ left="10"
+ name="title_acc_status_text"
text_color="white"
- top_delta="0"
- value="Real World:"
- width="180" />
- <expandable_text
- follows="left|top|right"
- height="95"
- layout="topleft"
- left="107"
- textbox.max_length="512"
- name="fl_description_edit"
- top_pad="-3"
- width="188"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- 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>
- <text
- follows="left|top"
- height="15"
- font.style="BOLD"
- font="SansSerifMedium"
- layout="topleft"
- left="10"
- name="homepage_edit"
- top_pad="0"
- value="http://librarianavengers.org"
- width="300"
- word_wrap="false"
- use_ellipses="true"
- />
- <text
- follows="left|top"
- font.style="BOLD"
- height="10"
- layout="topleft"
- left="10"
- name="title_member_text"
- text_color="white"
- top_pad="10"
- value="Resident Since:"
- width="300" />
- <text
- follows="left|top"
- height="15"
- layout="topleft"
- left="10"
- name="register_date"
- value="05/31/2376"
- width="300"
- word_wrap="true" />
- <text
- follows="left|top"
- font.style="BOLD"
- height="15"
- layout="topleft"
- left="10"
- name="title_acc_status_text"
- text_color="white"
- top_pad="5"
- value="Account Status:"
- width="300" />
- <!-- <text
+ top_pad="5"
+ value="Account Status:"
+ width="300" />
+ <!-- <text
type="string"
follows="left|top"
font="SansSerifSmall"
@@ -229,75 +229,75 @@
top_delta="0"
value="Go to Dashboard"
width="100"/> -->
- <text
- follows="left|top"
- height="28"
- layout="topleft"
- left="10"
- name="acc_status_text"
- top_pad="0"
- width="300"
- word_wrap="true">
- Resident. No payment info on file.
-Linden.
- </text>
- <text
- follows="left|top"
- font.style="BOLD"
- height="15"
- layout="topleft"
- left="10"
- name="title_partner_text"
- text_color="white"
- top_pad="3"
- value="Partner:"
- width="300" />
- <panel
- follows="left|top"
- height="15"
- layout="topleft"
- left="10"
- name="partner_data_panel"
- top_pad="0"
- width="300">
+ <text
+ follows="left|top"
+ height="28"
+ layout="topleft"
+ left="10"
+ name="acc_status_text"
+ top_pad="0"
+ width="300"
+ word_wrap="true">
+ Resident. No payment info on file.
+ Linden.
+ </text>
<text
follows="left|top"
- height="10"
+ font.style="BOLD"
+ height="15"
layout="topleft"
- left="0"
- name="partner_text"
- top="0"
- value="[FIRST] [LAST]"
- width="300"
- word_wrap="true" />
- </panel>
- <text
- follows="left|top"
- font.style="BOLD"
- height="13"
- layout="topleft"
- left="10"
- name="title_groups_text"
- text_color="white"
- top_pad="3"
- value="Groups:"
- width="300" />
- <expandable_text
- follows="all"
- height="113"
- layout="topleft"
- left="7"
- name="sl_groups"
- top_pad="0"
- width="298"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- 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. Aenean viverra tulip moosetop. Slan de heelish marfnik tooplod. Sum sum to whop de wompam booster copm.
- </expandable_text>
- </panel>
- </scroll_container>
- </panel>
-<!-- <panel
+ left="10"
+ name="title_partner_text"
+ text_color="white"
+ top_pad="3"
+ value="Partner:"
+ width="300" />
+ <panel
+ follows="left|top"
+ height="15"
+ layout="topleft"
+ left="10"
+ name="partner_data_panel"
+ top_pad="0"
+ width="300">
+ <text
+ follows="left|top"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="partner_text"
+ top="0"
+ value="[FIRST] [LAST]"
+ width="300"
+ word_wrap="true" />
+ </panel>
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="13"
+ layout="topleft"
+ left="10"
+ name="title_groups_text"
+ text_color="white"
+ top_pad="3"
+ value="Groups:"
+ width="300" />
+ <expandable_text
+ follows="all"
+ height="113"
+ layout="topleft"
+ left="7"
+ name="sl_groups"
+ top_pad="0"
+ width="298"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ 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. Aenean viverra tulip moosetop. Slan de heelish marfnik tooplod. Sum sum to whop de wompam booster copm.
+ </expandable_text>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <!-- <layout_panel
follows="bottom|left"
layout="topleft"
left="0"
@@ -353,13 +353,14 @@ Linden.
top="5"
width="85" />
</panel>-->
- <panel
+ <layout_panel
follows="bottom|left"
layout="topleft"
left="0"
top_pad="0"
name="profile_me_buttons_panel"
visible="false"
+ auto_resize="false"
height="28"
width="313">
<button
@@ -379,6 +380,6 @@ Linden.
name="edit_appearance_btn"
tool_tip="Create/edit your appearance: physical data, clothes and etc."
width="130" />
- </panel>
+ </layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index 0f9b095d8c..e2884dbedc 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -29,12 +29,12 @@
visible="false"
left="0"
top="0"
- height="60"
+ height="50"
width="600"/>
<panel
background_visible="false"
follows="left|top|right"
- top="5"
+ top="3"
height="23"
layout="topleft"
name="navigation_panel"
@@ -42,28 +42,17 @@
<button
follows="left|top"
height="23"
- image_disabled="PushButton_Disabled"
- image_disabled_selected="PushButton_Disabled"
image_overlay="Arrow_Left_Off"
- image_selected="PushButton_Selected"
- image_unselected="PushButton_Off"
- hover_glow_amount="0.15"
layout="topleft"
left="10"
name="back_btn"
tool_tip="Go back to previous location"
top="3"
width="31" />
-
<button
follows="left|top"
height="23"
- image_disabled="PushButton_Disabled"
- image_disabled_selected="PushButton_Disabled"
image_overlay="Arrow_Right_Off"
- image_selected="PushButton_Selected"
- image_unselected="PushButton_Off"
- hover_glow_amount="0.15"
layout="topleft"
left_pad="0"
name="forward_btn"
@@ -73,12 +62,7 @@
<button
follows="left|top"
height="23"
- image_disabled="PushButton_Disabled"
- image_disabled_selected="PushButton_Disabled"
image_overlay="Home_Off"
- image_selected="PushButton_Selected"
- image_unselected="PushButton_Off"
- hover_glow_amount="0.15"
layout="topleft"
left_pad="7"
name="home_btn"
@@ -146,7 +130,6 @@
name="search_combo_editor"/>
</search_combo_box>
</panel>
-
<favorites_bar
follows="left|right|top"
font="SansSerifSmall"
@@ -154,16 +137,17 @@
layout="topleft"
left="0"
name="favorite"
- image_drag_indication="arrow_down.tga"
- bottom="57"
+ image_drag_indication="Accordion_ArrowOpened_Off"
+ bottom="55"
width="590">
<chevron_button name=">>"
image_unselected="TabIcon_Close_Off"
image_selected="TabIcon_Close_Off"
tab_stop="false"
- follows="left|bottom"
- tool_tip="Show more of My Favorites"
+ follows="left|bottom"
+ tool_tip="Show more of My Favorites"
width="15"
+ top="15"
height="15"/>
</favorites_bar>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_notes.xml b/indra/newview/skins/default/xui/en/panel_notes.xml
index 9335db0623..73528b28ad 100644
--- a/indra/newview/skins/default/xui/en/panel_notes.xml
+++ b/indra/newview/skins/default/xui/en/panel_notes.xml
@@ -19,94 +19,94 @@
height="517"
width="313"
border_size="0">
- <panel
- name="notes_stack"
+ <layout_panel
+ name="notes_stack"
+ follows="all"
+ layout="topleft"
+ top="0"
+ left="0"
+ height="475"
+ width="313">
+ <scroll_container
+ color="DkGray2"
follows="all"
layout="topleft"
- top="0"
left="0"
+ name="profile_scroll"
+ opaque="true"
height="475"
- width="313">
- <scroll_container
- color="DkGray2"
- follows="all"
+ width="313"
+ top="0">
+ <panel
+ height="450"
+ layout="topleft"
+ name="profile_scroll_panel"
+ top="0"
+ left="0"
+ width="303">
+ <text
+ follows="left|top"
+ font="SansSerifBold"
+ height="16"
layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="475"
- width="313"
- top="0">
- <panel
- height="450"
- layout="topleft"
- name="profile_scroll_panel"
- top="0"
- left="0"
- width="303">
- <text
- follows="left|top"
- font="SansSerifBold"
- height="16"
- layout="topleft"
- left="10"
- name="status_message"
- text_color="white"
- top="20"
- value="My private notes:"
- width="293" />
- <text_editor
- follows="left|top"
- height="120"
- layout="topleft"
- left="10"
- max_length="1000"
- name="notes_edit"
- text_color="DkGray"
- top_pad="10"
- width="280"
- word_wrap="true" />
- <text
- follows="left|top"
- font="SansSerifBold"
- height="16"
- layout="topleft"
- left="10"
- name="status_message2"
- text_color="white"
- top_pad="30"
- value="Allow this person to:"
- width="293" />
- <check_box
- enabled="false"
- height="16"
- label="See my online status"
- layout="topleft"
- left="20"
- name="status_check"
- width="293" />
- <check_box
- enabled="false"
- height="16"
- label="See me on the map"
- layout="topleft"
- left="20"
- name="map_check"
- width="293" />
- <check_box
- enabled="false"
- height="16"
- label="Edit, delete or take my objects"
- layout="topleft"
- left="20"
- name="objects_check"
- width="293" />
- </panel>
- </scroll_container>
- </panel>
- <panel
- follows="bottom|left"
- height="30"
+ left="10"
+ name="status_message"
+ text_color="white"
+ top="20"
+ value="My private notes:"
+ width="293" />
+ <text_editor
+ follows="left|top"
+ height="120"
+ layout="topleft"
+ left="10"
+ max_length="1000"
+ name="notes_edit"
+ text_color="DkGray"
+ top_pad="10"
+ width="280"
+ word_wrap="true" />
+ <text
+ follows="left|top"
+ font="SansSerifBold"
+ height="16"
+ layout="topleft"
+ left="10"
+ name="status_message2"
+ text_color="white"
+ top_pad="30"
+ value="Allow this person to:"
+ width="293" />
+ <check_box
+ enabled="false"
+ height="16"
+ label="See my online status"
+ layout="topleft"
+ left="20"
+ name="status_check"
+ width="293" />
+ <check_box
+ enabled="false"
+ height="16"
+ label="See me on the map"
+ layout="topleft"
+ left="20"
+ name="map_check"
+ width="293" />
+ <check_box
+ enabled="false"
+ height="16"
+ label="Edit, delete or take my objects"
+ layout="topleft"
+ left="20"
+ name="objects_check"
+ width="293" />
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel
+ follows="bottom|left"
+ height="30"
layout="topleft"
left="0"
name="notes_buttons_panel"
@@ -164,6 +164,6 @@
left_pad="3"
top="5"
width="80" />
- </panel>
+ </layout_panel>
</layout_stack>
</panel>
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 7e512f9594..fd540bdc7e 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-
<panel name="Outfits"
background_visible="true"
follows="all"
@@ -8,7 +7,7 @@
layout="topleft"
min_height="350"
min_width="240"
- width="330"
+ width="320"
border="false">
<tab_container
follows="all"
@@ -16,24 +15,28 @@
layout="topleft"
left="10"
name="appearance_tabs"
- tab_min_width="100"
+ tab_min_width="140"
tab_height="30"
tab_position="top"
halign="center"
width="313">
<inventory_panel
+ follows="all"
+ background_visible="true"
+ background_opaque="true"
label="WEARING"
help_topic="now_wearing_tab"
allow_multi_select="true"
border="false"
- height="500"
- width="290"
left="0"
top="0"
mouse_opaque="true"
name="cof_accordionpanel"
- start_folder="Current Outfit" />
+ start_folder="Current Outfit"
+ width="313" />
<inventory_panel
+ background_visible="true"
+ background_opaque="true"
label="MY OUTFITS"
help_topic="my_outfits_tab"
allow_multi_select="true"
@@ -41,10 +44,9 @@
border="false"
left="0"
top="0"
- height="500"
- width="290"
+ width="314"
mouse_opaque="true"
- name="outfitslist_accordionpanel"
+ name="outfitslist_tab"
start_folder="My Outfits" />
</tab_container>
<panel
@@ -83,23 +85,13 @@
<button
follows="bottom|left"
height="23"
- label="Edit Look"
- layout="topleft"
- left="10"
- name="look_edit_btn"
- top="26"
- visible="false"
- width="90" />
- <button
- follows="bottom|left"
- height="23"
- label="Make Outfit"
+ label="Save Outfit"
layout="topleft"
name="make_outfit_btn"
tool_tip="Save appearance as an outfit"
top="26"
- right="-110"
- width="90" />
+ left='10'
+ width="120" />
<button
follows="bottom|right"
height="23"
@@ -107,8 +99,9 @@
layout="topleft"
name="wear_btn"
right="-10"
+ left_pad="10"
top="26"
tool_tip="Wear selected outfit"
- width="90" />
+ width="120" />
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml
index 5ccc964c9a..43947262ec 100644
--- a/indra/newview/skins/default/xui/en/panel_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile.xml
@@ -38,10 +38,10 @@
layout="topleft"
left="0"
top="0"
- height="535"
+ height="517"
width="313"
border_size="0">
- <panel
+ <layout_panel
name="profile_stack"
follows="all"
layout="topleft"
@@ -49,156 +49,156 @@
left="0"
height="505"
width="313">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="505"
- width="313"
- top="0">
- <panel
+ <scroll_container
+ color="DkGray2"
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="profile_scroll"
+ opaque="true"
+ height="505"
+ width="313"
+ top="0">
+ <panel
+ layout="topleft"
+ follows="left|top|right"
+ name="profile_scroll_panel"
+ top="0"
+ left="0"
+ width="303">
+ <panel
+ follows="left|top|right"
+ height="117"
+ layout="topleft"
+ left="10"
+ name="second_life_image_panel"
+ top="0"
+ width="303">
+ <texture_picker
+ allow_no_texture="true"
+ default_image_name="None"
+ enabled="false"
+ follows="top|left"
+ height="117"
layout="topleft"
- follows="left|top|right"
- name="profile_scroll_panel"
- top="0"
left="0"
- width="303">
- <panel
- follows="left|top|right"
- height="117"
- layout="topleft"
- left="10"
- name="second_life_image_panel"
- top="0"
- width="303">
- <texture_picker
- allow_no_texture="true"
- default_image_name="None"
- enabled="false"
- follows="top|left"
+ name="2nd_life_pic"
+ top="10"
+ width="102" />
+ <text
+ follows="left|top|right"
+ font.style="BOLD"
+ height="15"
+ layout="topleft"
+ left_pad="10"
+ name="title_sl_descr_text"
+ text_color="white"
+ top_delta="0"
+ value="[SECOND_LIFE]:"
+ width="180" />
+ <expandable_text
+ follows="left|top|right"
+ height="95"
+ layout="topleft"
+ left="107"
+ textbox.max_length="512"
+ name="sl_description_edit"
+ top_pad="-3"
+ width="185"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
+ </expandable_text>
+ </panel>
+ <panel
+ follows="left|top|right"
height="117"
layout="topleft"
- left="0"
- name="2nd_life_pic"
- top="10"
- width="102" />
+ top_pad="10"
+ left="10"
+ name="first_life_image_panel"
+ width="303">
+ <texture_picker
+ allow_no_texture="true"
+ default_image_name="None"
+ enabled="false"
+ follows="top|left"
+ height="117"
+ layout="topleft"
+ left="0"
+ name="real_world_pic"
+ width="102" />
+ <text
+ follows="left|top|right"
+ font.style="BOLD"
+ height="15"
+ layout="topleft"
+ left_pad="10"
+ name="title_rw_descr_text"
+ text_color="white"
+ top_delta="0"
+ value="Real World:"
+ width="180" />
+ <expandable_text
+ follows="left|top|right"
+ height="95"
+ layout="topleft"
+ left="107"
+ textbox.max_length="512"
+ name="fl_description_edit"
+ top_pad="-3"
+ width="185"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ 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>
<text
- follows="left|top|right"
- font.style="BOLD"
- height="15"
+ follows="left|top"
+ height="15"
+ font.style="BOLD"
+ font="SansSerifMedium"
+ layout="topleft"
+ left="10"
+ name="homepage_edit"
+ top_pad="0"
+ value="http://librarianavengers.org"
+ width="300"
+ word_wrap="false"
+ use_ellipses="true"
+ />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
layout="topleft"
- left_pad="10"
- name="title_sl_descr_text"
+ left="10"
+ name="title_member_text"
text_color="white"
- top_delta="0"
- value="[SECOND_LIFE]:"
- width="180" />
- <expandable_text
- follows="left|top|right"
- height="95"
- layout="topleft"
- left="107"
- textbox.max_length="512"
- name="sl_description_edit"
- top_pad="-3"
- width="185"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
- </expandable_text>
- </panel>
- <panel
- follows="left|top|right"
- height="117"
- layout="topleft"
- top_pad="10"
- left="10"
- name="first_life_image_panel"
- width="303">
- <texture_picker
- allow_no_texture="true"
- default_image_name="None"
- enabled="false"
- follows="top|left"
- height="117"
+ top_pad="10"
+ value="Resident Since:"
+ width="300" />
+ <text
+ follows="left|top"
+ height="15"
layout="topleft"
- left="0"
- name="real_world_pic"
- width="102" />
+ left="10"
+ name="register_date"
+ value="05/31/2376"
+ width="300"
+ word_wrap="true" />
<text
- follows="left|top|right"
- font.style="BOLD"
+ follows="left|top"
+ font.style="BOLD"
height="15"
layout="topleft"
- left_pad="10"
- name="title_rw_descr_text"
+ left="10"
+ name="title_acc_status_text"
text_color="white"
- top_delta="0"
- value="Real World:"
- width="180" />
- <expandable_text
- follows="left|top|right"
- height="95"
- layout="topleft"
- left="107"
- textbox.max_length="512"
- name="fl_description_edit"
- top_pad="-3"
- width="185"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- 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>
- <text
- follows="left|top"
- height="15"
- font.style="BOLD"
- font="SansSerifMedium"
- layout="topleft"
- left="10"
- name="homepage_edit"
- top_pad="0"
- value="http://librarianavengers.org"
- width="300"
- word_wrap="false"
- use_ellipses="true"
- />
- <text
- follows="left|top"
- font.style="BOLD"
- height="10"
- layout="topleft"
- left="10"
- name="title_member_text"
- text_color="white"
- top_pad="10"
- value="Resident Since:"
- width="300" />
- <text
- follows="left|top"
- height="15"
- layout="topleft"
- left="10"
- name="register_date"
- value="05/31/2376"
- width="300"
- word_wrap="true" />
- <text
- follows="left|top"
- font.style="BOLD"
- height="15"
- layout="topleft"
- left="10"
- name="title_acc_status_text"
- text_color="white"
- top_pad="5"
- value="Account Status:"
- width="300" />
- <!-- <text
+ top_pad="5"
+ value="Account Status:"
+ width="300" />
+ <!-- <text
type="string"
follows="left|top"
font="SansSerifSmall"
@@ -209,79 +209,80 @@
top_delta="0"
value="Go to Dashboard"
width="100"/> -->
- <text
- follows="left|top"
- height="28"
- layout="topleft"
- left="10"
- name="acc_status_text"
- top_pad="0"
- width="300"
- word_wrap="true">
- Resident. No payment info on file.
-Linden.
- </text>
- <text
- follows="left|top"
- font.style="BOLD"
- height="15"
- layout="topleft"
- left="10"
- name="title_partner_text"
- text_color="white"
- top_pad="3"
- value="Partner:"
- width="300" />
- <panel
- follows="left|top"
- height="15"
- layout="topleft"
- left="10"
- name="partner_data_panel"
- top_pad="0"
- width="300">
<text
follows="left|top"
- height="10"
+ height="28"
layout="topleft"
- left="0"
- name="partner_text"
- top="0"
- value="[FIRST] [LAST]"
- width="300"
- word_wrap="true" />
- </panel>
- <text
- follows="left|top"
- font.style="BOLD"
- height="13"
- layout="topleft"
- left="10"
- name="title_groups_text"
- text_color="white"
- top_pad="3"
- value="Groups:"
- width="300" />
- <expandable_text
- follows="all"
- height="113"
- layout="topleft"
- left="7"
- name="sl_groups"
- top_pad="0"
- width="298"
- expanded_bg_visible="true"
- expanded_bg_color="DkGray">
- 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. Aenean viverra tulip moosetop. Slan de heelish marfnik tooplod. Sum sum to whop de wompam booster copm.
- </expandable_text>
- </panel>
- </scroll_container>
-</panel>
- <panel
- follows="bottom|left"
+ left="10"
+ name="acc_status_text"
+ top_pad="0"
+ width="300"
+ word_wrap="true">
+ Resident. No payment info on file.
+ Linden.
+ </text>
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="15"
+ layout="topleft"
+ left="10"
+ name="title_partner_text"
+ text_color="white"
+ top_pad="3"
+ value="Partner:"
+ width="300" />
+ <panel
+ follows="left|top"
+ height="15"
+ layout="topleft"
+ left="10"
+ name="partner_data_panel"
+ top_pad="0"
+ width="300">
+ <text
+ follows="left|top"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="partner_text"
+ top="0"
+ value="[FIRST] [LAST]"
+ width="300"
+ word_wrap="true" />
+ </panel>
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="13"
+ layout="topleft"
+ left="10"
+ name="title_groups_text"
+ text_color="white"
+ top_pad="3"
+ value="Groups:"
+ width="300" />
+ <expandable_text
+ follows="all"
+ height="113"
+ layout="topleft"
+ left="7"
+ name="sl_groups"
+ top_pad="0"
+ width="298"
+ expanded_bg_visible="true"
+ expanded_bg_color="DkGray">
+ 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. Aenean viverra tulip moosetop. Slan de heelish marfnik tooplod. Sum sum to whop de wompam booster copm.
+ </expandable_text>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel
+ follows="bottom|left"
height="28"
layout="topleft"
name="profile_buttons_panel"
+ auto_resize="false"
width="313">
<button
follows="bottom|left"
@@ -346,15 +347,14 @@ Linden.
top="5"
left_pad="3"
width="23" />-->
- </panel>
- <panel
+ </layout_panel>
+ <layout_panel
follows="bottom|left"
height="28"
layout="topleft"
- top_pad="-26"
name="profile_me_buttons_panel"
visible="false"
- width="313">
+ width="313">
<button
follows="bottom|right"
height="23"
@@ -372,6 +372,7 @@ Linden.
name="edit_appearance_btn"
tool_tip="Create/edit your appearance: physical data, clothes and etc."
width="130" />
- </panel>
- </layout_stack>
+ </layout_panel>
+
+</layout_stack>
</panel> \ No newline at end of file
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 3578c4326d..00f54feabd 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -3,7 +3,7 @@
background_opaque="true"
background_visible="true"
bg_opaque_color="MouseGray"
- follows="all"
+ follows="top|right"
height="19"
layout="topleft"
left="0"
@@ -44,15 +44,17 @@
halign="right"
follows="right|top"
image_selected="BuyArrow_Over"
- image_unselected="BuyArrow_Off"
+ image_unselected="BuyArrow_Over"
image_pressed="BuyArrow_Press"
height="16"
- right="-120"
+ right="-128"
+ label_color="White"
+ label_shadow="false"
name="buycurrency"
pad_right="20px"
tool_tip="My Balance: Click to buy more L$"
- top="0"
- width="90" />
+ top="3"
+ width="100" />
<text
type="string"
font="SansSerifSmall"
@@ -62,25 +64,25 @@
height="16"
top="4"
layout="topleft"
- left_pad="-7"
+ left_pad="0"
name="TimeText"
text_color="TimeTextColor"
tool_tip="Current time (Pacific)"
- width="80">
+ width="85">
12:00 AM
</text>
<button
follows="right|bottom"
height="16"
- image_selected="Parcel_VoiceNo_Dark"
- image_unselected="Parcel_Voice_Dark"
+ image_selected="AudioMute_Off"
+ image_pressed="Audio_Press"
+ image_unselected="Audio_Off"
is_toggle="true"
left_pad="18"
top="1"
name="volume_btn"
tool_tip="Global Volume Control"
width="16" />
-
<text
enabled="true"
follows="right|bottom"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
index 44248eedd5..fab1f11273 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
@@ -52,25 +52,25 @@ width="333">
text_color="white"
top="3"
use_ellipses="true"
- width="290"
+ width="305"
follows="top|left"
word_wrap="true"
mouse_opaque="false"
name="currentlook_name">
MyOutfit With a really Long Name like MOOSE
</text>
- <!-- <text
- text_color="LtGray_50"
- width="290"
- left="40"
+ <text
+ font="SansSerifSmall"
+ text_color="White_50"
+ width="300"
height="1"
follows="top|left"
layout="topleft"
- top_pad="-2"
+ top_pad="5"
mouse_opaque="false"
name="currentlook_title" >
- (current outfit)
- </text>-->
+ (unsaved)
+ </text>
</panel>
<filter_editor
height="23"
@@ -80,18 +80,18 @@ width="333">
label="Filter Outfits"
max_length="300"
name="Filter"
- top_pad="0"
+ top_pad="10"
width="303" />
<panel
class="panel_outfits_inventory"
filename="panel_outfits_inventory.xml"
name="panel_outfits_inventory"
- height="515"
+ height="505"
min_height="410"
width="320"
+ left="0"
top_pad="0"
- follows="all"
- />
+ follows="all" />
<!-- <button
follows="bottom|left"
height="23"
@@ -120,4 +120,3 @@ width="333">
top="35"
visible="false" />
</panel>
-
diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
index b738e72423..51974be854 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
@@ -28,7 +28,7 @@
name="panel_main_inventory"
top="0"
label=""
- height="500"
+ height="545"
width="330" />
<panel
height="25"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 447901f984..f2f23a3847 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -8,6 +8,7 @@
<!-- Default Args - these arguments will be replaced in all strings -->
<string name="SECOND_LIFE">Second Life</string>
<string name="APP_NAME">Second Life</string>
+ <string name="CAPITALIZED_APP_NAME">SECOND LIFE</string>
<string name="SECOND_LIFE_GRID">Second Life Grid</string>
<string name="SUPPORT_SITE">Second Life Support Portal</string>
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 1368c6826d..67bb7c1896 100644
--- a/indra/newview/skins/default/xui/en/widgets/location_input.xml
+++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml
@@ -3,15 +3,12 @@
*TODO: Replace hardcoded buttons width/height with getting this info from the button images.
Currently that doesn't work because LLUIImage::getWidth/getHeight() return 1 for the images.
-->
-
-
-
<location_input font="SansSerifSmall"
add_landmark_image_enabled="Favorite_Star_Active"
add_landmark_image_disabled="Favorite_Star_Off"
add_landmark_image_hover="Favorite_Star_Over"
add_landmark_image_selected="Favorite_Star_Press"
- add_landmark_hpad="12"
+ add_landmark_hpad="12"
icon_hpad="2"
allow_text_entry="true"
list_position="below"
@@ -26,8 +23,8 @@
name="Place Information"
width="16"
height="16"
- left="4"
- top="20"
+ left="6"
+ top="20"
follows="left|top"
hover_glow_amount="0.15"
image_unselected="Info_Off"
@@ -55,7 +52,7 @@
top="21"
/>
<voice_icon
- enabled="true"
+ enabled="true"
name="voice_icon"
width="22"
height="18"
@@ -97,11 +94,12 @@
/>
<damage_icon
name="damage_icon"
- width="20"
- height="16"
- top="20"
+ width="14"
+ height="13"
+ top="22"
+ left="2"
follows="right|top"
- image_name="Parcel_Damage_Light"
+ image_name="Parcel_Damage_Dark"
/>
<!-- Default text color is invisible on top of nav bar background -->
<damage_text