From 7902899df5f22794d5ccd2d977d2cb1361021d5e Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Thu, 3 Jun 2010 16:21:56 +0300 Subject: EXT-7511 FIXED Fixed problems in appearance UI - Made slight changes in xml according to requirements. - Added mForceNoLinksOnIcons bool member to LLPanelInventoryListItemBase. It is used in LLPanelWearableListItem to disable showing of link icons as was requested in ticket. - Created icon for divider 3 pixels high as asked by Erica in EXT-7233. To properly show and hide it made changes to LLCOFWearables::buildClothingListItem which now not only showes separator but also reshapes panel depending on its visibility. Increased heights of body parts, dummy clothing and attachment items because dividers are now 2 pxls higher and they always have dividers. Changed heights of buttons accordingly. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/502/ --HG-- branch : product-engine --- indra/newview/llcofwearables.cpp | 8 ++- indra/newview/llinventoryitemslist.cpp | 4 +- indra/newview/llinventoryitemslist.h | 3 ++ indra/newview/llwearableitemslist.cpp | 6 ++- indra/newview/llwearableitemslist.h | 4 +- indra/newview/skins/default/textures/textures.xml | 2 + .../default/textures/windows/Wearables_Divider.png | Bin 0 -> 97 bytes .../default/xui/en/panel_body_parts_list_item.xml | 46 ++++++++++------- .../default/xui/en/panel_clothing_list_item.xml | 57 ++++++++++++--------- .../xui/en/panel_deletable_wearable_list_item.xml | 27 +++++----- .../xui/en/panel_dummy_clothing_list_item.xml | 26 +++++----- 11 files changed, 108 insertions(+), 75 deletions(-) create mode 100644 indra/newview/skins/default/textures/windows/Wearables_Divider.png (limited to 'indra') diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 79ce2f8f6b..7ac3d14c72 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -387,7 +387,13 @@ LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventory item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable); //turning on gray separator line for the last item in the items group of the same wearable type - item_panel->childSetVisible("wearable_type_separator_panel", last); + if (last) + { + LLRect rect = item_panel->getRect(); + item_panel->reshape(rect.getWidth(), rect.getHeight() + + item_panel->getChild("wearable_type_separator_icon")->getRect().getHeight()); + item_panel->childSetVisible("wearable_type_separator_icon", true); + } return item_panel; } diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp index 750cdfb678..cd0e976a79 100644 --- a/indra/newview/llinventoryitemslist.cpp +++ b/indra/newview/llinventoryitemslist.cpp @@ -132,7 +132,8 @@ BOOL LLPanelInventoryListItemBase::postBuild() setIconCtrl(getChild("item_icon")); setTitleCtrl(getChild("item_name")); - mIconImage = LLInventoryIcon::getIcon(mItem->getType(), mItem->getInventoryType(), mItem->getIsLinkType(), mItem->getFlags(), FALSE); + BOOL show_links = mForceNoLinksOnIcons ? FALSE : mItem->getIsLinkType(); + mIconImage = LLInventoryIcon::getIcon(mItem->getType(), mItem->getInventoryType(), show_links, mItem->getFlags(), FALSE); setNeedsRefresh(true); @@ -198,6 +199,7 @@ LLPanelInventoryListItemBase::LLPanelInventoryListItemBase(LLViewerInventoryItem , mLeftWidgetsWidth(0) , mRightWidgetsWidth(0) , mNeedsRefresh(false) +, mForceNoLinksOnIcons(false) { } diff --git a/indra/newview/llinventoryitemslist.h b/indra/newview/llinventoryitemslist.h index 03ad7c2184..0dd6f53be7 100644 --- a/indra/newview/llinventoryitemslist.h +++ b/indra/newview/llinventoryitemslist.h @@ -179,6 +179,9 @@ protected: /** Set item title - inventory item name usually */ void setTitle(const std::string& title, const std::string& highlit_text); + // force not showing link icon on item's icon + bool mForceNoLinksOnIcons; + private: /** reshape left side widgets diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index c35b45d446..ba1d0b727d 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -88,6 +88,8 @@ void LLPanelWearableListItem::onMouseLeave(S32 x, S32 y, MASK mask) LLPanelWearableListItem::LLPanelWearableListItem(LLViewerInventoryItem* item) : LLPanelInventoryListItemBase(item) { + // icons should not be shown for this type of items (EXT-7511) + mForceNoLinksOnIcons = true; } ////////////////////////////////////////////////////////////////////////// @@ -168,7 +170,7 @@ BOOL LLPanelClothingListItem::postBuild() addWidgetToRightSide("btn_move_up"); addWidgetToRightSide("btn_move_down"); addWidgetToRightSide("btn_lock"); - addWidgetToRightSide("btn_edit"); + addWidgetToRightSide("btn_edit_panel"); setWidgetsVisible(false); reshapeWidgets(); @@ -211,7 +213,7 @@ BOOL LLPanelBodyPartsListItem::postBuild() LLPanelInventoryListItemBase::postBuild(); addWidgetToRightSide("btn_lock"); - addWidgetToRightSide("btn_edit"); + addWidgetToRightSide("btn_edit_panel"); return TRUE; } diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h index 0ed480a92a..2fdb8f0ab8 100644 --- a/indra/newview/llwearableitemslist.h +++ b/indra/newview/llwearableitemslist.h @@ -139,7 +139,7 @@ public: inline void setShowMoveDownButton(bool show) { setShowWidget("btn_move_down", show); } inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); } - inline void setShowEditButton(bool show) { setShowWidget("btn_edit", show); } + inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); } protected: @@ -164,7 +164,7 @@ public: * Make button visible during mouse over event. */ inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); } - inline void setShowEditButton(bool show) { setShowWidget("btn_edit", show); } + inline void setShowEditButton(bool show) { setShowWidget("btn_edit_panel", show); } protected: LLPanelBodyPartsListItem(LLViewerInventoryItem* item); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 1d9f0cade7..4b781dee8c 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -570,6 +570,8 @@ with the same filename but different name + + diff --git a/indra/newview/skins/default/textures/windows/Wearables_Divider.png b/indra/newview/skins/default/textures/windows/Wearables_Divider.png new file mode 100644 index 0000000000..9dce7bf45c Binary files /dev/null and b/indra/newview/skins/default/textures/windows/Wearables_Divider.png differ diff --git a/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml index 2edd643cc5..a0bbc8f2ee 100644 --- a/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml @@ -1,7 +1,7 @@ -