diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llcofwearables.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llpanelmaininventory.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llsidepanelinventory.h | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml | 11 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_cof_wearables.xml | 26 | 
5 files changed, 42 insertions, 15 deletions
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 472d2ccf24..f278fb6a7b 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -372,6 +372,11 @@ void LLCOFWearables::refresh()  		 iter != iter_end; ++iter)  	{  		LLFlatListView* list = iter->first; +		if (!list) continue; + +		//restoring selection should not fire commit callbacks +		list->setCommitOnSelectionChange(false); +  		const values_vector_t& values = iter->second;  		for (values_vector_t::const_iterator  				 value_it = values.begin(), @@ -385,6 +390,8 @@ void LLCOFWearables::refresh()  				list->selectItemByValue(*value_it);  			}  		} + +		list->setCommitOnSelectionChange(true);  	}  } diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index fa7e06d323..29ce3449d1 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -53,6 +53,8 @@  #include "lltooldraganddrop.h"  #include "llviewermenu.h"  #include "llviewertexturelist.h" +#include "llsidepanelinventory.h" +#include "llsidetray.h"  const std::string FILTERS_FILENAME("filters.xml"); @@ -1163,6 +1165,12 @@ BOOL LLPanelMainInventory::isActionEnabled(const LLSD& userdata)  		return FALSE;  	} +	if (command_name == "share") +	{ +		LLSidepanelInventory* parent = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); +		return parent ? parent->canShare() : FALSE; +	} +  	return TRUE;  } diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h index 951fdd630c..f2f2509f9a 100644 --- a/indra/newview/llsidepanelinventory.h +++ b/indra/newview/llsidepanelinventory.h @@ -58,6 +58,9 @@ public:  	void showTaskInfoPanel();  	void showInventoryPanel(); +	// checks can share selected item(s) +	bool canShare(); +  protected:  	// Tracks highlighted (selected) item in inventory panel.  	LLInventoryItem *getSelectedItem(); @@ -65,8 +68,6 @@ protected:  	void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action);  	// "wear", "teleport", etc.  	void performActionOnSelection(const std::string &action); -	bool canShare(); -  	void updateVerbs();  	// diff --git a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml index 62365f7cc2..c394700081 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml @@ -81,6 +81,17 @@  			 function="Inventory.GearDefault.Enable"  			 parameter="save_texture" />          </menu_item_call> +    <menu_item_call +     label="Share" +     layout="topleft" +     name="Share" +     visible="true"> +     <on_click +         function="Inventory.Share" /> +     <on_enable +         function="Inventory.GearDefault.Enable" +         parameter="share" /> +    </menu_item_call>      <menu_item_call            label="Find Original"           layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml index d5943ea156..f438e3d42d 100644 --- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml +++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml @@ -22,40 +22,40 @@       width="311">          <accordion_tab           layout="topleft" -         name="tab_attachments" -         title="Attachments"> +         name="tab_clothing" +         title="Clothing">              <flat_list_view               allow_select="true"               follows="all"               height="10"               item_pad="3" +             keep_selection_visible_on_reshape="true"               layout="topleft"               left="0" -             keep_selection_visible_on_reshape="true"               multi_select="true" -             name="list_attachments" +             name="list_clothing"               top="0" -             width="311"> -              <flat_list_view.no_items_text -               value="No attachments worn" /> -              </flat_list_view> +             width="311" />          </accordion_tab>          <accordion_tab           layout="topleft" -         name="tab_clothing" -         title="Clothing"> +         name="tab_attachments" +         title="Attachments">              <flat_list_view               allow_select="true"               follows="all"               height="10"               item_pad="3" -             keep_selection_visible_on_reshape="true"               layout="topleft"               left="0" +             keep_selection_visible_on_reshape="true"               multi_select="true" -             name="list_clothing" +             name="list_attachments"               top="0" -             width="311" /> +             width="311"> +              <flat_list_view.no_items_text +               value="No attachments worn" /> +              </flat_list_view>          </accordion_tab>          <accordion_tab           layout="topleft"  | 
