diff options
author | Loren Shih <seraph@lindenlab.com> | 2010-07-02 12:40:38 -0400 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2010-07-02 12:40:38 -0400 |
commit | 695671d51e1bb7c1039fffa057d0477210aca308 (patch) | |
tree | dcabd143ec6c27178b6616d9efaa98d108146056 /indra/newview | |
parent | 655c3dbe1b711389c1f581f4ccae07dafb5cdefd (diff) | |
parent | 1417bd3985f339915f259bf5971ef21e47e30163 (diff) |
automated merge
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llcofwearables.cpp | 16 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.cpp | 17 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.h | 4 | ||||
-rw-r--r-- | indra/newview/llscrollingpanelparam.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llsidepanelappearance.cpp | 9 | ||||
-rw-r--r-- | indra/newview/lltexturectrl.cpp | 5 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_about_land.xml | 10 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_cof_wearables.xml | 5 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/sidepanel_appearance.xml | 8 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/textbase.xml | 2 |
10 files changed, 59 insertions, 21 deletions
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index cbebc93306..472d2ccf24 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -167,10 +167,18 @@ public: protected: static void replaceWearable() { - static LLButton* show_add_wearables_btn = - LLSideTray::getInstance()->getChild<LLButton>("show_add_wearables_btn"); - - show_add_wearables_btn->onCommit(); + // *TODO: Most probable that accessing to LLPanelOutfitEdit instance should be: + // LLSideTray::getInstance()->getSidepanelAppearance()->getPanelOutfitEdit() + // without casting. Getter methods provides possibility to check and construct + // absent instance. Explicit relations between components avoids situations + // when we tries to construct instance with unsatisfied implicit input conditions. + LLPanelOutfitEdit * panel_outfit_edit = + dynamic_cast<LLPanelOutfitEdit*> (LLSideTray::getInstance()->getPanel( + "panel_outfit_edit")); + if (panel_outfit_edit != NULL) + { + panel_outfit_edit->showAddWearablesPanel(true); + } } /*virtual*/ LLContextMenu* createMenu() diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 23c7e64cce..dddfd9106f 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -657,10 +657,10 @@ bool LLOutfitsList::isActionEnabled(const LLSD& userdata) } if (command_name == "take_off") { - // Enable "Take Off" only if a worn item or base outfit is selected. - return ( !hasItemSelected() - && LLAppearanceMgr::getInstance()->getBaseOutfitUUID() == mSelectedOutfitUUID ) - || hasWornItemSelected(); + // Enable "Take Off" if any of selected items can be taken off + // or the selected outfit contains items that can be taken off. + return ( hasItemSelected() && canTakeOffSelected() ) + || ( !hasItemSelected() && LLAppearanceMgr::getCanRemoveFromCOF(mSelectedOutfitUUID) ); } if (command_name == "wear_add") @@ -955,14 +955,19 @@ void LLOutfitsList::applyFilterToTab( } } -bool LLOutfitsList::hasWornItemSelected() +bool LLOutfitsList::canTakeOffSelected() { uuid_vec_t selected_uuids; getSelectedItemsUUIDs(selected_uuids); + LLFindWearablesEx is_worn(/*is_worn=*/ true, /*include_body_parts=*/ false); + for (uuid_vec_t::const_iterator it=selected_uuids.begin(); it != selected_uuids.end(); ++it) { - if (get_is_item_worn(*it)) return true; + LLViewerInventoryItem* item = gInventory.getItem(*it); + if (!item) continue; + + if (is_worn(NULL, item)) return true; } return false; } diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index 26722f2a96..d7cf8a8c08 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -179,9 +179,9 @@ private: void applyFilterToTab(const LLUUID& category_id, LLAccordionCtrlTab* tab, const std::string& filter_substring); /** - * Returns true if there are any worn items among currently selected, otherwise false. + * Returns true if there are any items that can be taken off among currently selected, otherwise false. */ - bool hasWornItemSelected(); + bool canTakeOffSelected(); void onAccordionTabRightClick(LLUICtrl* ctrl, S32 x, S32 y, const LLUUID& cat_id); void onWearableItemsListRightClick(LLUICtrl* ctrl, S32 x, S32 y); diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp index 6f5238f0a1..36d581a41a 100644 --- a/indra/newview/llscrollingpanelparam.cpp +++ b/indra/newview/llscrollingpanelparam.cpp @@ -209,6 +209,7 @@ void LLScrollingPanelParam::onSliderMoved(LLUICtrl* ctrl, void* userdata) if (current_weight != new_weight ) { self->mWearable->setVisualParamWeight( param->getID(), new_weight, FALSE ); + self->mWearable->writeToAvatar(); gAgentAvatarp->updateVisualParams(); } } @@ -298,6 +299,7 @@ void LLScrollingPanelParam::onHintHeldDown( LLVisualParamHint* hint ) && new_percent < slider->getMaxValue()) { mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight, FALSE); + mWearable->writeToAvatar(); gAgentAvatarp->updateVisualParams(); slider->setValue( weightToPercent( new_weight ) ); @@ -330,6 +332,7 @@ void LLScrollingPanelParam::onHintMinMouseUp( void* userdata ) && new_percent < slider->getMaxValue()) { self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); + self->mWearable->writeToAvatar(); slider->setValue( self->weightToPercent( new_weight ) ); } } @@ -363,6 +366,7 @@ void LLScrollingPanelParam::onHintMaxMouseUp( void* userdata ) && new_percent < slider->getMaxValue()) { self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); + self->mWearable->writeToAvatar(); slider->setValue( self->weightToPercent( new_weight ) ); } } diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 951323551c..7a7ffb9983 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -196,6 +196,15 @@ void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility) { gAgentCamera.changeCameraToCustomizeAvatar(); } + if (mEditWearable && mEditWearable->getVisible()) + { + LLWearable *wearable_ptr = mEditWearable->getWearable(); + if (gAgentWearables.getWearableIndex(wearable_ptr) == LLAgentWearables::MAX_CLOTHING_PER_TYPE) + { + // we're no longer wearing the wearable we were last editing, switch back to outfit editor + showOutfitEditPanel(); + } + } } } else diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 0b86cefa1d..fcb9deb20b 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -423,8 +423,9 @@ BOOL LLFloaterTexturePicker::postBuild() mInventoryPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); mInventoryPanel->setAllowMultiSelect(FALSE); - // store this filter as the default one - mInventoryPanel->getRootFolder()->getFilter()->markDefault(); + // Commented out to scroll to currently selected texture. See EXT-5403. + // // store this filter as the default one + // mInventoryPanel->getRootFolder()->getFilter()->markDefault(); // Commented out to stop opening all folders with textures // mInventoryPanel->openDefaultFolderForType(LLFolderType::FT_TEXTURE); diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 14aacafa9f..68e36ff0b3 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -191,9 +191,10 @@ type="string" length="1" follows="left|top" - height="16" + height="20" layout="topleft" left_pad="2" + valign="center" name="ContentRatingText" top_delta="0" width="250"> @@ -207,7 +208,7 @@ layout="topleft" left="10" name="Owner:" - top_pad="5" + top_pad="1" width="100"> Owner: </text> @@ -729,8 +730,10 @@ Leyla Linden </text> height="16" layout="topleft" left_pad="10" + top_delta="-3" mouse_opaque="false" name="region_maturity_text" + valign="center" width="150"> Adult </text> @@ -743,6 +746,7 @@ Leyla Linden </text> left="10" mouse_opaque="false" name="resellable_lbl" + top_pad="9" width="100"> Resale: </text> @@ -1924,6 +1928,8 @@ Only large parcels can be listed in search. left_delta="0" name="public_access" top_pad="5" + label_text.valign="center" + label_text.v_pad="-7" width="278" /> <text type="string" 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 d2c8ab159f..d5943ea156 100644 --- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml +++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml @@ -35,7 +35,10 @@ multi_select="true" 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" diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index 10d8c7dbb8..02ab0ffee5 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -52,14 +52,14 @@ width="333"> visible="false" /> <icon follows="top|left" - height="32" - image_name="TabIcon_Appearance_Off" + height="31" + image_name="Shirt_Large" name="outfit_icon" mouse_opaque="false" visible="true" - left="0" + left="1" top="0" - width="32" /> + width="31" /> <text font="SansSerifSmall" text_color="EmphasisColor" diff --git a/indra/newview/skins/default/xui/en/widgets/textbase.xml b/indra/newview/skins/default/xui/en/widgets/textbase.xml index f4dc192bc3..b2da2147c1 100644 --- a/indra/newview/skins/default/xui/en/widgets/textbase.xml +++ b/indra/newview/skins/default/xui/en/widgets/textbase.xml @@ -1,3 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <textbase clip_partial="false" + halign="left" + valign="top" font="SansSerif"/> |