From 4916305ce1ea60c969c12d8dc8e573f3ee933c3f Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Tue, 1 Dec 2009 18:57:15 -0500 Subject: EXT-3029 : Missing icons for broken item link / broken folder link EXT-3024 : Broken links don't show up in inventory Mocked up some link icons for broken links. These need to be polished up. Broken links now have an IT_ (instead of being IT_NONE) so that they're filtered correctly and thus can show up in inventory. --HG-- branch : avatar-pipeline --- indra/newview/llinventorybridge.cpp | 9 +++------ indra/newview/llviewerinventory.cpp | 14 +++++++++++++- .../skins/default/textures/icons/Inv_LinkFolder.png | Bin 0 -> 296 bytes .../newview/skins/default/textures/icons/Inv_LinkItem.png | Bin 0 -> 296 bytes indra/newview/skins/default/textures/textures.xml | 2 ++ 5 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 indra/newview/skins/default/textures/icons/Inv_LinkFolder.png create mode 100644 indra/newview/skins/default/textures/icons/Inv_LinkItem.png (limited to 'indra') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a44ce07d76..ebb33ef454 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -125,8 +125,8 @@ std::string ICON_NAME[ICON_NAME_COUNT] = "Inv_Animation", "Inv_Gesture", - "inv_item_linkitem.tga", - "inv_item_linkfolder.tga" + "Inv_LinkItem", + "Inv_LinkFolder" }; // +=================================================+ @@ -856,9 +856,6 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type, new_listener = new LLFolderBridge(inventory, uuid); break; case LLAssetType::AT_LINK: - // Only should happen for broken links. - new_listener = new LLLinkItemBridge(inventory, uuid); - break; case LLAssetType::AT_LINK_FOLDER: // Only should happen for broken links. new_listener = new LLLinkItemBridge(inventory, uuid); @@ -5081,7 +5078,7 @@ LLUIImagePtr LLLinkItemBridge::getIcon() const { if (LLViewerInventoryItem *item = getItem()) { - return get_item_icon(item->getActualType(), LLInventoryType::IT_NONE, 0, FALSE); + return get_item_icon(item->getActualType(), item->getInventoryType(), 0, FALSE); } return get_item_icon(LLAssetType::AT_LINK, LLInventoryType::IT_NONE, 0, FALSE); } diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index d0ae5d1e38..1b25add20e 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -909,8 +909,20 @@ void link_inventory_item( } LLUUID transaction_id; - std::string desc = "Link"; + std::string desc = "Broken link"; // This should only show if the object can't find its baseobj. LLInventoryType::EType inv_type = LLInventoryType::IT_NONE; + if (dynamic_cast(baseobj)) + { + inv_type = LLInventoryType::IT_CATEGORY; + } + else + { + const LLViewerInventoryItem *baseitem = dynamic_cast(baseobj); + if (baseitem) + { + inv_type = baseitem->getInventoryType(); + } + } LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_LinkInventoryItem); diff --git a/indra/newview/skins/default/textures/icons/Inv_LinkFolder.png b/indra/newview/skins/default/textures/icons/Inv_LinkFolder.png new file mode 100644 index 0000000000..73a708782c Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Inv_LinkFolder.png differ diff --git a/indra/newview/skins/default/textures/icons/Inv_LinkItem.png b/indra/newview/skins/default/textures/icons/Inv_LinkItem.png new file mode 100644 index 0000000000..73a708782c Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Inv_LinkItem.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 7703b9f0ab..93d3205176 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -234,6 +234,8 @@ with the same filename but different name + + -- cgit v1.2.3