fixed normal bug EXT-1630 Edit Landmark: Current landmark place should be selected by default in the \"Place Landmark In\" picklist

--HG--
branch : product-engine
meow-7.2.2
Denis Serdjuk 2009-10-23 23:28:04 +03:00
parent c8485374dd
commit d0d9d4a9b0
3 changed files with 20 additions and 9 deletions

View File

@ -76,7 +76,6 @@
typedef std::pair<LLUUID, std::string> folder_pair_t;
static bool cmp_folders(const folder_pair_t& left, const folder_pair_t& right);
static std::string getFullFolderName(const LLViewerInventoryCategory* cat);
static void collectLandmarkFolders(LLInventoryModel::cat_array_t& cats);
static LLRegisterPanelClassWrapper<LLPanelPlaceInfo> t_place_info("panel_place_info");
@ -1028,14 +1027,9 @@ void LLPanelPlaceInfo::onForSaleBannerClick()
}
static bool cmp_folders(const folder_pair_t& left, const folder_pair_t& right)
{
return left.second < right.second;
}
static std::string getFullFolderName(const LLViewerInventoryCategory* cat)
/*static*/
std::string LLPanelPlaceInfo::getFullFolderName(const LLViewerInventoryCategory* cat)
{
std::string name = cat->getName();
LLUUID parent_id;
@ -1057,6 +1051,11 @@ static std::string getFullFolderName(const LLViewerInventoryCategory* cat)
return name;
}
static bool cmp_folders(const folder_pair_t& left, const folder_pair_t& right)
{
return left.second < right.second;
}
static void collectLandmarkFolders(LLInventoryModel::cat_array_t& cats)
{
LLUUID landmarks_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_LANDMARK);

View File

@ -52,6 +52,7 @@ class LLTextBox;
class LLTextEditor;
class LLTextureCtrl;
class LLViewerRegion;
class LLViewerInventoryCategory;
class LLPanelPlaceInfo : public LLPanel, LLRemoteParcelInfoObserver
{
@ -131,6 +132,8 @@ public:
/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data);
/*virtual*/ void handleVisibilityChange (BOOL new_visibility);
static std::string getFullFolderName(const LLViewerInventoryCategory* cat);
private:

View File

@ -351,7 +351,16 @@ void LLPanelPlaces::setItem(LLInventoryItem* item)
if (is_landmark_editable)
{
mPlaceInfo->setLandmarkFolder(mItem->getParentUUID());
if(!mPlaceInfo->setLandmarkFolder(mItem->getParentUUID()) && !mItem->getParentUUID().isNull())
{
const LLViewerInventoryCategory* cat = gInventory.getCategory(mItem->getParentUUID());
if(cat)
{
std::string cat_fullname = LLPanelPlaceInfo::getFullFolderName(cat);
LLComboBox* folderList = mPlaceInfo->getChild<LLComboBox>("folder_combo");
folderList->add(cat_fullname, cat->getUUID(),ADD_TOP);
}
}
}
mPlaceInfo->displayItemInfo(mItem);