Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/

meow-7.2.2
Eric M. Tulla (BigPapi) 2010-01-06 12:26:02 -05:00
commit 71460d3e7e
4 changed files with 35 additions and 7 deletions

View File

@ -303,6 +303,8 @@ void LLPanelOutfitsInventory::onClipboardAction(const LLSD& userdata)
{
std::string command_name = userdata.asString();
getActivePanel()->getRootFolder()->doToSelected(getActivePanel()->getModel(),command_name);
updateListCommands();
updateVerbs();
}
void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata)
@ -343,6 +345,8 @@ void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata)
{
onClipboardAction("delete");
}
updateListCommands();
updateVerbs();
}
BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
@ -354,9 +358,9 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
LLFolderView *folder = getActivePanel()->getRootFolder();
if (folder)
{
can_delete = TRUE;
std::set<LLUUID> selection_set;
folder->getSelectionList(selection_set);
can_delete = (selection_set.size() > 0);
for (std::set<LLUUID>::iterator iter = selection_set.begin();
iter != selection_set.end();
++iter)
@ -375,9 +379,9 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
LLFolderView *folder = getActivePanel()->getRootFolder();
if (folder)
{
can_delete = TRUE;
std::set<LLUUID> selection_set;
folder->getSelectionList(selection_set);
can_delete = (selection_set.size() > 0);
for (std::set<LLUUID>::iterator iter = selection_set.begin();
iter != selection_set.end();
++iter)
@ -391,10 +395,14 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
}
return FALSE;
}
if (command_name == "rename" ||
command_name == "delete_outfit")
{
return (getCorrectListenerForAction() != NULL) && hasItemsSelected();
}
if (command_name == "edit" ||
command_name == "wear" ||
command_name == "add" ||
command_name == "remove"
command_name == "add"
)
{
return (getCorrectListenerForAction() != NULL);
@ -402,6 +410,19 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)
return TRUE;
}
bool LLPanelOutfitsInventory::hasItemsSelected()
{
bool has_items_selected = false;
LLFolderView *folder = getActivePanel()->getRootFolder();
if (folder)
{
std::set<LLUUID> selection_set;
folder->getSelectionList(selection_set);
has_items_selected = (selection_set.size() > 0);
}
return has_items_selected;
}
bool LLPanelOutfitsInventory::handleDragAndDropToTrash(BOOL drop, EDragAndDropType cargo_type, EAcceptance* accept)
{
*accept = ACCEPT_NO;

View File

@ -114,6 +114,7 @@ protected:
BOOL isActionEnabled(const LLSD& command_name);
void onCustomAction(const LLSD& command_name);
bool handleDragAndDropToTrash(BOOL drop, EDragAndDropType cargo_type, EAcceptance* accept);
bool hasItemsSelected();
private:
LLPanel* mListCommands;
LLMenuGL* mMenuGearDefault;

View File

@ -215,6 +215,10 @@ void LLSidepanelTaskInfo::disableAll()
childSetVisible("E:", FALSE);
childSetVisible("N:", FALSE);
childSetVisible("F:", FALSE);
mOpenBtn->setEnabled(FALSE);
mPayBtn->setEnabled(FALSE);
mBuyBtn->setEnabled(FALSE);
}
void LLSidepanelTaskInfo::refresh()
@ -1119,6 +1123,8 @@ void LLSidepanelTaskInfo::updateVerbs()
*/
mOpenBtn->setEnabled(enable_object_open());
mPayBtn->setEnabled(enable_pay_object());
mBuyBtn->setEnabled(enable_buy_object());
}
void LLSidepanelTaskInfo::onOpenButtonClicked()

View File

@ -54,7 +54,7 @@
parameter="rename" />
</menu_item_call>
<menu_item_call
label="Remove"
label="Remove Link"
layout="topleft"
name="remove_link">
<on_click
@ -65,7 +65,7 @@
parameter="remove_link" />
</menu_item_call>
<menu_item_call
label="Delete"
label="Delete Outfit"
layout="topleft"
name="delete">
<on_click
@ -73,6 +73,6 @@
parameter="delete" />
<on_enable
function="panel_outfits_inventory_gear_default.Enable"
parameter="delete" />
parameter="delete_outfit" />
</menu_item_call>
</menu>