From f8f9f90965962b0e79f29a487ee5e920d6bc0f05 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Thu, 24 Jun 2010 15:15:14 +0300 Subject: EXT-7578 FIXED Corrupted vertical scroll bar appears on 'Edit Outfit' panel if height of 'Add More' panel was changed - Modified LLWearableItemTypeNameComparator so that it can order BODYPART items by type Reviewed by Mike Antipov and Neal Orman at https://codereview.productengine.com/secondlife/r/620/ --HG-- branch : product-engine --- indra/newview/llwearableitemslist.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llwearableitemslist.cpp') diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index da15b93697..576048ea3e 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -393,9 +393,9 @@ bool LLWearableItemTypeNameComparator::doCompare(const LLPanelInventoryListItemB return item_type_order1 < item_type_order2; } - if (item_type_order1 & TLO_NOT_CLOTHING) + if (item_type_order1 & TLO_SORTABLE_BY_NAME) { - // If both items are of the same asset type except AT_CLOTHING + // If both items are of the same asset type except AT_CLOTHING and AT_BODYPART // we can compare them by name. return LLWearableItemNameComparator::doCompare(wearable_item1, wearable_item2); } -- cgit v1.3 From d7e29c9fb2cc78ef6a705e23b56333912e406401 Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev Date: Thu, 24 Jun 2010 19:16:06 +0300 Subject: EXT-7973 FIX (additinal) make edit item visible only when one item selected and it is worn reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/637/ --HG-- branch : product-engine --- indra/newview/llwearableitemslist.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llwearableitemslist.cpp') diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index da15b93697..2b2615ed24 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -662,7 +662,8 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu setMenuItemVisible(menu, "wear_add", mask == MASK_CLOTHING && n_worn == 0); setMenuItemEnabled(menu, "wear_add", n_items == 1 && canAddWearable(ids.front())); setMenuItemVisible(menu, "wear", n_worn == 0); - setMenuItemVisible(menu, "edit", !standalone && mask & (MASK_CLOTHING|MASK_BODYPART) && n_worn == n_items); + //visible only when one item selected and this item is worn + setMenuItemVisible(menu, "edit", !standalone && mask & (MASK_CLOTHING|MASK_BODYPART) && n_worn == n_items && n_worn == 1); setMenuItemEnabled(menu, "edit", n_editable == 1 && n_worn == 1 && n_items == 1); setMenuItemVisible(menu, "create_new", mask & (MASK_CLOTHING|MASK_BODYPART) && n_items == 1); setMenuItemVisible(menu, "show_original", !standalone); -- cgit v1.3 From 9f835b9bce6ac023a9f8b98cfb53015f5d416130 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 24 Jun 2010 19:03:20 -0400 Subject: EXT-7902 FIXED Corrupted context menu appears on "Add More" panel if both worn and not-worn items were selected Added "no options" menu item instead of showing blank context menu. --- indra/newview/llwearableitemslist.cpp | 16 ++++++++++++++++ .../skins/default/xui/en/menu_wearable_list_item.xml | 6 ++++++ 2 files changed, 22 insertions(+) (limited to 'indra/newview/llwearableitemslist.cpp') diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index da15b93697..b2aac75916 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -673,6 +673,8 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu setMenuItemEnabled(menu, "take_off_or_detach", n_worn == n_items); setMenuItemVisible(menu, "object_profile", !standalone); setMenuItemEnabled(menu, "object_profile", n_items == 1); + setMenuItemVisible(menu, "--no options--", FALSE); + setMenuItemEnabled(menu, "--no options--", FALSE); // Populate or hide the "Attach to..." / "Attach to HUD..." submenus. if (mask == MASK_ATTACHMENT && n_worn == 0) @@ -689,6 +691,20 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu { llwarns << "Non-wearable items passed." << llendl; } + + U32 num_visible_items = 0; + for (U32 menu_item_index = 0; menu_item_index < menu->getItemCount(); ++menu_item_index) + { + const LLMenuItemGL* menu_item = menu->getItem(menu_item_index); + if (menu_item && menu_item->getVisible()) + { + num_visible_items++; + } + } + if (num_visible_items == 0) + { + setMenuItemVisible(menu, "--no options--", TRUE); + } } void LLWearableItemsList::ContextMenu::updateItemsLabels(LLContextMenu* menu) diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml index efea2ae3e8..23eb89e448 100644 --- a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml @@ -73,4 +73,10 @@ + + -- cgit v1.3