From 464092e2c9354c62143f3cbf5503445e6e6fe84e Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Wed, 17 Mar 2010 14:17:35 +0200 Subject: Fixed normal EXT - 6028 ( [HARD CODED]? Inventory > Library > \"Accessories\" folder) Added localization string to the strings.xml for Accessories folder and localization support of Accessories folder from source code (llfolderviewitem.cpp). TRANSLATION TO THE CORRESPONDING LANGUAGE -- this string should be added to the strings.xml for each locale. Note: due to Accessories category is created out of viewer & has the FT_NONE type it can not be localized as other protected (system) categories. So, hack was provided to check this folder (in a Library) & localize it. Reviewd by Mike Antipov at https://codereview.productengine.com/secondlife/r/42/ --HG-- branch : product-engine --- indra/newview/llfolderviewitem.cpp | 20 +++++++++++++++++++- indra/newview/skins/default/xui/en/strings.xml | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 72e34594db..bb4c75d3ac 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -255,7 +255,25 @@ void LLFolderViewItem::refreshFromListener() // temporary attempt to display the inventory folder in the user locale. // mantipov: *NOTE: be sure this code is synchronized with LLFriendCardsManager::findChildFolderUUID // it uses the same way to find localized string - if (LLFolderType::lookupIsProtectedType(preferred_type)) + + // HACK: EXT - 6028 ([HARD CODED]? Inventory > Library > "Accessories" folder) + // Translation of Accessories folder in Library inventory folder + bool accessories = false; + if(mLabel == std::string("Accessories")) + { + //To ensure that Accessories folder is in Library we have to check its parent folder. + //Due to parent LLFolderViewFloder is not set to this item yet we have to check its parent via Inventory Model + LLInventoryCategory* cat = gInventory.getCategory(mListener->getUUID()); + if(cat) + { + const LLUUID& parent_folder_id = cat->getParentUUID(); + accessories = (parent_folder_id == gInventory.getLibraryRootFolderID()); + } + } + + //"Accessories" inventory category has folder type FT_NONE. So, this folder + //can not be detected as protected with LLFolderType::lookupIsProtectedType + if (accessories || LLFolderType::lookupIsProtectedType(preferred_type)) { LLTrans::findString(mLabel, "InvFolder " + mLabel); }; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index da39f13726..eb45a9765b 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1894,6 +1894,7 @@ Clears (deletes) the media and all params from the given face. Favorites Current Outfit My Outfits + Accessories Friends -- cgit v1.2.3