Skip to content
Snippets Groups Projects
Commit 249d014b authored by Yuri Chebotarev's avatar Yuri Chebotarev
Browse files

merge

--HG--
branch : product-engine
parents 259b033d 37353523
No related branches found
No related tags found
No related merge requests found
...@@ -564,7 +564,8 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string) ...@@ -564,7 +564,8 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string)
void LLPanelOutfitEdit::onPlusBtnClicked(void) void LLPanelOutfitEdit::onPlusBtnClicked(void)
{ {
LLUUID selected_id = getSelectedItemUUID(); LLUUID selected_id;
getCurrentItemUUID(selected_id);
if (selected_id.isNull()) return; if (selected_id.isNull()) return;
...@@ -651,28 +652,29 @@ void LLPanelOutfitEdit::onEditWearableClicked(void) ...@@ -651,28 +652,29 @@ void LLPanelOutfitEdit::onEditWearableClicked(void)
void LLPanelOutfitEdit::onInventorySelectionChange() void LLPanelOutfitEdit::onInventorySelectionChange()
{ {
LLUUID item_uuid = getSelectedItemUUID(); uuid_vec_t selected_items;
if (item_uuid.isNull()) getSelectedItemsUUID(selected_items);
if (selected_items.empty())
{ {
return; return;
} }
uuid_vec_t::iterator worn_item = std::find_if(selected_items.begin(), selected_items.end(), boost::bind(&get_is_item_worn, _1));
bool can_add = ( worn_item == selected_items.end() );
LLViewerInventoryItem* item(gInventory.getItem(item_uuid)); mPlusBtn->setEnabled(can_add);
if (!item)
{
return;
}
switch (item->getType()) LLViewerInventoryItem* first_item(gInventory.getItem(selected_items.front()));
if (can_add &&
first_item &&
selected_items.size() == 1 &&
first_item->getType() == LLAssetType::AT_BODYPART)
{ {
case LLAssetType::AT_BODYPART:
mPlusBtn->setToolTip(getString("replace_body_part")); mPlusBtn->setToolTip(getString("replace_body_part"));
break; }
case LLAssetType::AT_CLOTHING: else
case LLAssetType::AT_OBJECT: {
mPlusBtn->setToolTip(LLStringUtil::null); mPlusBtn->setToolTip(LLStringUtil::null);
default:
break;
} }
/* Removing add to look inline button (not part of mvp for viewer 2) /* Removing add to look inline button (not part of mvp for viewer 2)
...@@ -931,16 +933,15 @@ void LLPanelOutfitEdit::onOutfitChanging(bool started) ...@@ -931,16 +933,15 @@ void LLPanelOutfitEdit::onOutfitChanging(bool started)
indicator->setVisible(started); indicator->setVisible(started);
} }
LLUUID LLPanelOutfitEdit::getSelectedItemUUID() void LLPanelOutfitEdit::getCurrentItemUUID(LLUUID& selected_id)
{ {
LLUUID selected_id;
if (mInventoryItemsPanel->getVisible()) if (mInventoryItemsPanel->getVisible())
{ {
LLFolderViewItem* curr_item = mInventoryItemsPanel->getRootFolder()->getCurSelectedItem(); LLFolderViewItem* curr_item = mInventoryItemsPanel->getRootFolder()->getCurSelectedItem();
if (!curr_item) return selected_id; if (!curr_item) return;
LLFolderViewEventListener* listenerp = curr_item->getListener(); LLFolderViewEventListener* listenerp = curr_item->getListener();
if (!listenerp) return selected_id; if (!listenerp) return;
selected_id = listenerp->getUUID(); selected_id = listenerp->getUUID();
} }
...@@ -948,8 +949,27 @@ LLUUID LLPanelOutfitEdit::getSelectedItemUUID() ...@@ -948,8 +949,27 @@ LLUUID LLPanelOutfitEdit::getSelectedItemUUID()
{ {
selected_id = mWearableItemsList->getSelectedUUID(); selected_id = mWearableItemsList->getSelectedUUID();
} }
}
void LLPanelOutfitEdit::getSelectedItemsUUID(uuid_vec_t& uuid_list)
{
if (mInventoryItemsPanel->getVisible())
{
std::set<LLUUID> item_set = mInventoryItemsPanel->getRootFolder()->getSelectionList();
std::for_each(item_set.begin(), item_set.end(), boost::bind( &uuid_vec_t::push_back, &uuid_list, _1));
}
else if (mWearablesListViewPanel->getVisible())
{
std::vector<LLSD> item_set;
mWearableItemsList->getSelectedValues(item_set);
std::for_each(item_set.begin(), item_set.end(), boost::bind( &uuid_vec_t::push_back, &uuid_list, boost::bind(&LLSD::asUUID, _1 )));
}
return selected_id; // return selected_id;
} }
......
...@@ -192,7 +192,8 @@ class LLPanelOutfitEdit : public LLPanel ...@@ -192,7 +192,8 @@ class LLPanelOutfitEdit : public LLPanel
void onAddMoreButtonClicked(); void onAddMoreButtonClicked();
void showFilteredWearablesListView(LLWearableType::EType type); void showFilteredWearablesListView(LLWearableType::EType type);
void onOutfitChanging(bool started); void onOutfitChanging(bool started);
LLUUID getSelectedItemUUID(); void getSelectedItemsUUID(uuid_vec_t& uuid_list);
void getCurrentItemUUID(LLUUID& selected_id);
LLTextBox* mCurrentOutfitName; LLTextBox* mCurrentOutfitName;
LLTextBox* mStatus; LLTextBox* mStatus;
......
...@@ -190,7 +190,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap ...@@ -190,7 +190,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
<layout_panel <layout_panel
auto_resize="true" auto_resize="true"
background_visible="true" background_visible="true"
bg_alpha_color="DkGray2" bg_alpha_color="Black"
layout="topleft" layout="topleft"
height="154" height="154"
name="add_button_and_combobox" name="add_button_and_combobox"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment