diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/lltextbase.cpp | 4 | ||||
-rw-r--r-- | indra/llui/lltextbase.h | 6 | ||||
-rw-r--r-- | indra/newview/llchathistory.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llfloaterland.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llfloatermap.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llfloatermap.h | 2 | ||||
-rw-r--r-- | indra/newview/llinspectremoteobject.cpp | 11 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.cpp | 10 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.h | 5 | ||||
-rw-r--r-- | indra/newview/llpaneleditwearable.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitedit.cpp | 70 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitedit.h | 5 | ||||
-rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 16 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_map.xml | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_outfit_gear.xml | 13 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_edit_wearable.xml | 781 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfit_edit.xml | 3 |
17 files changed, 507 insertions, 445 deletions
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 2d0d5c12cb..17e41d9e24 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1630,7 +1630,7 @@ void LLTextBase::appendTextImpl(const std::string &new_text, const LLStyle::Para // Text will be replaced during rendering with the icon, // but string cannot be empty or the segment won't be // added (or drawn). - appendImageSegment(part, icon); + appendImageSegment(icon); } } @@ -1702,7 +1702,7 @@ void LLTextBase::appendLineBreakSegment(const LLStyle::Params& style_params) insertStringNoUndo(getLength(), utf8str_to_wstring("\n"), &segments); } -void LLTextBase::appendImageSegment(S32 highlight_part, const LLStyle::Params& style_params) +void LLTextBase::appendImageSegment(const LLStyle::Params& style_params) { if(getPlainText()) { diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 92876e20d6..fe8ebb1b80 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -196,6 +196,9 @@ public: const LLFontGL* getDefaultFont() const { return mDefaultFont; } + void appendLineBreakSegment(const LLStyle::Params& style_params); + void appendImageSegment(const LLStyle::Params& style_params); + public: // Fired when a URL link is clicked commit_signal_t mURLClickSignal; @@ -319,9 +322,6 @@ protected: void updateRects(); void needsScroll() { mScrollNeeded = TRUE; } void replaceUrlLabel(const std::string &url, const std::string &label); - - void appendLineBreakSegment(const LLStyle::Params& style_params); - void appendImageSegment(S32 highlight_part, const LLStyle::Params& style_params); void appendTextImpl(const std::string &new_text, const LLStyle::Params& input_params = LLStyle::Params()); void appendAndHighlightTextImpl(const std::string &new_text, S32 highlight_part, const LLStyle::Params& style_params); diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index ab97dbb695..ac12bffdfb 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -666,13 +666,13 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL slurl = region_slurl.getLocationString(); } } - url += "&slurl=" + slurl; + url += "&slurl=" + LLURI::escape(slurl); // set the link for the object name to be the objectim SLapp // (don't let object names with hyperlinks override our objectim Url) LLStyle::Params link_params(style_params); link_params.color.control = "HTMLLinkColor"; - link_params.link_href = LLURI::escape(url); + link_params.link_href = url; mEditor->appendText("<nolink>" + chat.mFromName + "</nolink>" + delimiter, false, link_params); } diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 7c5586ec96..76263a4307 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -3022,8 +3022,9 @@ void insert_maturity_into_textbox(LLTextBox* target_textbox, LLFloater* names_fl std::string text_after_rating = str_to_parse.substr(maturity_pos + MATURITY.length()); target_textbox->setText(text_before_rating); - // any text may be here instead of "icon" except "" - target_textbox->appendText(std::string("icon"), false, style); + + target_textbox->appendImageSegment(style); + target_textbox->appendText(LLViewerParcelMgr::getInstance()->getSelectionRegion()->getSimAccessString(), false); target_textbox->appendText(text_after_rating, false); } diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index e74bfae026..df176a1f6d 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -284,4 +284,15 @@ void LLFloaterMap::handleStopTracking (const LLSD& userdata) LLTracker::stopTracking ((void*)LLTracker::isTracking(NULL)); } } - +void LLFloaterMap::setMinimized(BOOL b) +{ + LLFloater::setMinimized(b); + if(b) + { + setTitle(getString("mini_map_caption")); + } + else + { + setTitle(""); + } +} diff --git a/indra/newview/llfloatermap.h b/indra/newview/llfloatermap.h index 3c063adfb8..f7e46bf868 100644 --- a/indra/newview/llfloatermap.h +++ b/indra/newview/llfloatermap.h @@ -55,6 +55,8 @@ public: /*virtual*/ void draw(); /*virtual*/ void onFocusLost(); /*virtual*/ void onFocusReceived(); + + /*virtual*/ void setMinimized(BOOL b); private: void handleZoom(const LLSD& userdata); diff --git a/indra/newview/llinspectremoteobject.cpp b/indra/newview/llinspectremoteobject.cpp index 97ff771658..be021df363 100644 --- a/indra/newview/llinspectremoteobject.cpp +++ b/indra/newview/llinspectremoteobject.cpp @@ -128,7 +128,16 @@ void LLInspectRemoteObject::onOpen(const LLSD& data) update(); // Position the inspector relative to the mouse cursor - LLUI::positionViewNearMouse(this); + // Similar to how tooltips are positioned + // See LLToolTipMgr::createToolTip + if (data.has("pos")) + { + LLUI::positionViewNearMouse(this, data["pos"]["x"].asInteger(), data["pos"]["y"].asInteger()); + } + else + { + LLUI::positionViewNearMouse(this); + } } void LLInspectRemoteObject::onClickMap() diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index c5043e1c3d..6542afc366 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -288,6 +288,9 @@ void LLOutfitsList::refreshList(const LLUUID& category_id) // Setting tab focus callback to monitor currently selected outfit. tab->setFocusReceivedCallback(boost::bind(&LLOutfitsList::changeOutfitSelection, this, list, cat_id)); + // Setting callback to reset items selection inside outfit on accordion collapsing and expanding (EXT-7875) + tab->setDropDownStateChangedCallback(boost::bind(&LLOutfitsList::resetItemSelection, this, list, cat_id)); + // Setting list commit callback to monitor currently selected wearable item. list->setCommitCallback(boost::bind(&LLOutfitsList::onSelectionChange, this, _1)); @@ -486,6 +489,13 @@ void LLOutfitsList::updateOutfitTab(const LLUUID& category_id) } } +void LLOutfitsList::resetItemSelection(LLWearableItemsList* list, const LLUUID& category_id) +{ + list->resetSelection(); + mItemSelected = false; + setSelectedOutfitUUID(category_id); +} + void LLOutfitsList::changeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id) { MASK mask = gKeyboard->currentMask(TRUE); diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h index df65f7187b..a6b9a66836 100644 --- a/indra/newview/lloutfitslist.h +++ b/indra/newview/lloutfitslist.h @@ -123,6 +123,11 @@ private: void changeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id); /** + *Resets items selection inside outfit + */ + void resetItemSelection(LLWearableItemsList* list, const LLUUID& category_id); + + /** * Saves newly selected outfit ID. */ void setSelectedOutfitUUID(const LLUUID& category_id); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 4402b2130f..71edd39348 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -977,6 +977,7 @@ void LLPanelEditWearable::revertChanges() mWearablePtr->revertValues(); mNameEditor->setText(mWearablePtr->getName()); + updatePanelPickerControls(mWearablePtr->getType()); } void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show) diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 6b5eb23a9b..aac020087b 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -252,7 +252,8 @@ LLPanelOutfitEdit::LLPanelOutfitEdit() mInitialized(false), mAddWearablesPanel(NULL), mFolderViewFilterCmbBox(NULL), - mListViewFilterCmbBox(NULL) + mListViewFilterCmbBox(NULL), + mPlusBtn(NULL) { mSavedFolderState = new LLSaveFolderState(); mSavedFolderState->setApply(FALSE); @@ -343,9 +344,9 @@ BOOL LLPanelOutfitEdit::postBuild() mInventoryItemsPanel = getChild<LLInventoryPanel>("folder_view"); mInventoryItemsPanel->setFilterTypes(ALL_ITEMS_MASK); mInventoryItemsPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); - mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this, _1, _2)); - mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this, _1, _2)); - + mInventoryItemsPanel->setSelectCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); + mInventoryItemsPanel->getRootFolder()->setReshapeCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); + mCOFDragAndDropObserver = new LLCOFDragAndDropObserver(mInventoryItemsPanel->getModel()); mFolderViewFilterCmbBox = getChild<LLComboBox>("folder_view_filter_combobox"); @@ -371,7 +372,8 @@ BOOL LLPanelOutfitEdit::postBuild() childSetAction("show_add_wearables_btn", boost::bind(&LLPanelOutfitEdit::onAddMoreButtonClicked, this)); - childSetAction("plus_btn", boost::bind(&LLPanelOutfitEdit::onPlusBtnClicked, this)); + mPlusBtn = getChild<LLButton>("plus_btn"); + mPlusBtn->setClickedCallback(boost::bind(&LLPanelOutfitEdit::onPlusBtnClicked, this)); mEditWearableBtn = getChild<LLButton>("edit_wearable_btn"); mEditWearableBtn->setEnabled(FALSE); @@ -382,6 +384,8 @@ BOOL LLPanelOutfitEdit::postBuild() mWearablesListViewPanel = getChild<LLPanel>("filtered_wearables_panel"); mWearableItemsList = getChild<LLInventoryItemsList>("list_view"); + mWearableItemsList->setCommitOnSelectionChange(true); + mWearableItemsList->setCommitCallback(boost::bind(&LLPanelOutfitEdit::onInventorySelectionChange, this)); mSaveComboBtn.reset(new LLSaveOutfitComboBtn(this)); return TRUE; @@ -559,21 +563,7 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string) void LLPanelOutfitEdit::onPlusBtnClicked(void) { - LLUUID selected_id; - if (mInventoryItemsPanel->getVisible()) - { - LLFolderViewItem* curr_item = mInventoryItemsPanel->getRootFolder()->getCurSelectedItem(); - if (!curr_item) return; - - LLFolderViewEventListener* listenerp = curr_item->getListener(); - if (!listenerp) return; - - selected_id = listenerp->getUUID(); - } - else if (mWearablesListViewPanel->getVisible()) - { - selected_id = mWearableItemsList->getSelectedUUID(); - } + LLUUID selected_id = getSelectedItemUUID(); if (selected_id.isNull()) return; @@ -658,22 +648,28 @@ void LLPanelOutfitEdit::onEditWearableClicked(void) } } -void LLPanelOutfitEdit::onInventorySelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action) +void LLPanelOutfitEdit::onInventorySelectionChange() { - LLFolderViewItem* current_item = mInventoryItemsPanel->getRootFolder()->getCurSelectedItem(); - if (!current_item) + LLUUID item_uuid = getSelectedItemUUID(); + if (item_uuid.isNull()) { return; } - LLViewerInventoryItem* item = current_item->getInventoryItem(); - if (!item) return; + LLViewerInventoryItem* item(gInventory.getItem(item_uuid)); + if (!item) + { + return; + } switch (item->getType()) { - case LLAssetType::AT_CLOTHING: case LLAssetType::AT_BODYPART: + mPlusBtn->setToolTip(getString("replace_body_part")); + break; + case LLAssetType::AT_CLOTHING: case LLAssetType::AT_OBJECT: + mPlusBtn->setToolTip(LLStringUtil::null); default: break; } @@ -934,4 +930,26 @@ void LLPanelOutfitEdit::onOutfitChanging(bool started) indicator->setVisible(started); } +LLUUID LLPanelOutfitEdit::getSelectedItemUUID() +{ + LLUUID selected_id; + if (mInventoryItemsPanel->getVisible()) + { + LLFolderViewItem* curr_item = mInventoryItemsPanel->getRootFolder()->getCurSelectedItem(); + if (!curr_item) return selected_id; + + LLFolderViewEventListener* listenerp = curr_item->getListener(); + if (!listenerp) return selected_id; + + selected_id = listenerp->getUUID(); + } + else if (mWearablesListViewPanel->getVisible()) + { + selected_id = mWearableItemsList->getSelectedUUID(); + } + + return selected_id; +} + + // EOF diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index f449fbca27..aa5d00903a 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -145,7 +145,7 @@ public: void onFolderViewFilterCommitted(LLUICtrl* ctrl); void onListViewFilterCommitted(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); - void onInventorySelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action); + void onInventorySelectionChange(); void onPlusBtnClicked(void); void applyFolderViewFilter(EFolderViewItemType type); @@ -192,7 +192,7 @@ private: void onAddMoreButtonClicked(); void showFilteredWearablesListView(LLWearableType::EType type); void onOutfitChanging(bool started); - + LLUUID getSelectedItemUUID(); LLTextBox* mCurrentOutfitName; LLTextBox* mStatus; @@ -203,6 +203,7 @@ private: LLButton* mEditWearableBtn; LLButton* mFolderViewBtn; LLButton* mListViewBtn; + LLButton* mPlusBtn; LLPanel* mAddWearablesPanel; LLComboBox* mFolderViewFilterCmbBox; diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 714d9cd4c5..d382c77430 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -86,6 +86,7 @@ public: registrar.add("Gear.Wear", boost::bind(&LLOutfitListGearMenu::onWear, this)); registrar.add("Gear.TakeOff", boost::bind(&LLOutfitListGearMenu::onTakeOff, this)); + registrar.add("Gear.Rename", boost::bind(&LLOutfitListGearMenu::onRename, this)); registrar.add("Gear.Delete", boost::bind(&LLOutfitListGearMenu::onDelete, this)); registrar.add("Gear.Create", boost::bind(&LLOutfitListGearMenu::onCreate, this, _2)); @@ -158,6 +159,15 @@ private: } } + void onRename() + { + const LLUUID& selected_outfit_id = getSelectedOutfitID(); + if (selected_outfit_id.notNull()) + { + LLAppearanceMgr::instance().renameOutfit(selected_outfit_id); + } + } + void onDelete() { const LLUUID& selected_outfit_id = getSelectedOutfitID(); @@ -187,7 +197,11 @@ private: return false; } - if ("delete" == param) + if ("rename" == param) + { + return get_is_category_renameable(&gInventory, selected_outfit_id); + } + else if ("delete" == param) { return LLAppearanceMgr::instance().getCanRemoveOutfit(selected_outfit_id); } diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index a0e28f7a42..efd96624ab 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -54,6 +54,9 @@ name="ToolTipMsg"> [AGENT][REGION](Double-click to open Map) </floater.string> + <floater.string name="mini_map_caption"> + MINIMAP + </floater.string> <net_map bg_color="NetMapBackgroundColor" follows="top|left|bottom|right" diff --git a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml index 16b33eff89..8e7ef7f0b5 100644 --- a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml @@ -176,6 +176,19 @@ <menu_item_separator name="sepatator2" /> <menu_item_call + label="Rename Outfit" + layout="topleft" + name="rename"> + <on_click + function="Gear.Rename" /> + <on_enable + function="Gear.OnEnable" + parameter="rename" /> + <on_visible + function="Gear.OnVisible" + parameter="rename" /> + </menu_item_call> + <menu_item_call label="Delete Outfit" layout="topleft" name="delete_outfit"> diff --git a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml index 00c5325039..1ab9f722d0 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml @@ -1,428 +1,399 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel background_visible="true" - bevel_style="in" + bevel_style="in" follows="all" height="570" + help_topic="edit_wearable" label="Wearable" layout="topleft" -left="0" - help_topic="edit_wearable" + left="0" name="panel_edit_wearable" - top="0" + top="0" width="333"> - <string - name="edit_shape_title"> - Editing Shape - </string> - <string - name="edit_skin_title"> - Editing Skin - </string> - <string - name="edit_hair_title"> - Editing Hair - </string> - <string - name="edit_eyes_title"> - Editing Eyes - </string> - <string - name="edit_shirt_title"> - Editing Shirt - </string> - <string - name="edit_pants_title"> - Editing Pants - </string> - <string - name="edit_shoes_title"> - Editing Shoes - </string> - <string - name="edit_socks_title"> - Editing Socks - </string> - <string - name="edit_jacket_title"> - Editing Jacket - </string> - <string - name="edit_skirt_title"> - Editing Skirt - </string> - <string - name="edit_gloves_title"> - Editing Gloves - </string> - <string - name="edit_undershirt_title"> - Editing Undershirt - </string> - <string - name="edit_underpants_title"> - Editing Underpants - </string> - <string - name="edit_alpha_title"> - Editing Alpha Mask - </string> - <string - name="edit_tattoo_title"> - Editing Tattoo - </string> - <string - name="shape_desc_text"> - Shape: - </string> - <string - name="skin_desc_text"> - Skin: - </string> - <string - name="hair_desc_text"> - Hair: - </string> - <string - name="eyes_desc_text"> - Eyes: - </string> - <string - name="shirt_desc_text"> - Shirt: - </string> - <string - name="pants_desc_text"> - Pants: - </string> - <string - name="shoes_desc_text"> - Shoes: - </string> - <string - name="socks_desc_text"> - Socks: - </string> - <string - name="jacket_desc_text"> - Jacket: - </string> - <string - name="skirt_desc_text"> - Skirt: - </string> - <string - name="gloves_desc_text"> - Gloves: - </string> - <string - name="undershirt_desc_text"> - Undershirt: - </string> - <string - name="underpants_desc_text"> - Underpants: - </string> - <string - name="alpha_desc_text"> - Alpha Mask: - </string> - <string - name="tattoo_desc_text"> - Tattoo: - </string> + <string + name="edit_shape_title" + value="Editing Shape" /> + <string + name="edit_skin_title" + value="Editing Skin" /> + <string + name="edit_hair_title" + value="Editing Hair" /> + <string + name="edit_eyes_title" + value="Editing Eyes" /> + <string + name="edit_shirt_title" + value="Editing Shirt" /> + <string + name="edit_pants_title" + value="Editing Pants" /> + <string + name="edit_shoes_title" + value="Editing Shoes" /> + <string + name="edit_socks_title" + value="Editing Socks" /> + <string + name="edit_jacket_title" + value="Editing Jacket" /> + <string + name="edit_skirt_title" + value="Editing Skirt" /> + <string + name="edit_gloves_title" + value="Editing Gloves" /> + <string + name="edit_undershirt_title" + value="Editing Undershirt" /> + <string + name="edit_underpants_title" + value="Editing Underpants" /> + <string + name="edit_alpha_title" + value="Editing Alpha Mask" /> + <string + name="edit_tattoo_title" + value="Editing Tattoo" /> + <string + name="shape_desc_text" + value="Shape:" /> + <string + name="skin_desc_text" + value="Skin:" /> + <string + name="hair_desc_text" + value="Hair:" /> + <string + name="eyes_desc_text" + value="Eyes:" /> + <string + name="shirt_desc_text" + value="Shirt:" /> + <string + name="pants_desc_text" + value="Pants:" /> + <string + name="shoes_desc_text" + value="Shoes:" /> + <string + name="socks_desc_text" + value="Socks:" /> + <string + name="jacket_desc_text" + value="Jacket:" /> + <string + name="skirt_desc_text" + value="Skirt:" /> + <string + name="gloves_desc_text" + value="Gloves:" /> + <string + name="undershirt_desc_text" + value="Undershirt:" /> + <string + name="underpants_desc_text" + value="Underpants:" /> + <string + name="alpha_desc_text" + value="Alpha Mask:" /> + <string + name="tattoo_desc_text" + value="Tattoo:" /> <button follows="top|left" height="24" - width="30" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" image_unselected="BackButton_Off" layout="topleft" - name="back_btn" left="11" - top="3" /> - <text - follows="top|left" - font="SansSerifHugeBold" - height="22" - layout="topleft" - left_pad="8" - name="edit_wearable_title" - text_color="white" - top="3" - value="Editing Shape" - width="270" /> - <panel - border="false" - bg_alpha_color="DkGray2" - bg_opaque_color="DkGray2" - background_visible="true" - background_opaque="true" + name="back_btn" + top="3" + width="30" /> + <text + follows="top|left" + font="SansSerifHugeBold" + height="22" + layout="topleft" + left_pad="8" + name="edit_wearable_title" + text_color="white" + top="3" + value="Editing Shape" + width="270" /> + <panel + background_opaque="true" + background_visible="true" + bg_alpha_color="DkGray2" + bg_opaque_color="DkGray2" + border="false" + follows="top|left|right" + height="60" + label="Shirt" + layout="topleft" + left="10" + name="wearable_type_panel" + top_pad="10" + width="313"> + <text follows="top|left|right" - height="60" - label="Shirt" + font="SansSerifSmallBold" + height="16" + layout="topleft" + left="10" + name="description_text" + text_color="white" + top="10" + value="Shape:" + width="150" /> + <radio_group + control_name="AvatarSex" + follows="left|top|right" + height="20" layout="topleft" - left="10" - name="wearable_type_panel" - top_pad="10" - width="313"> - <text - follows="top|left|right" - font="SansSerifSmallBold" - height="16" - layout="topleft" - left="10" - name="description_text" - text_color="white" - top="10" - value="Shape:" - width="150" /> - <radio_group - control_name="AvatarSex" - follows="left|top|right" - left="210" - height="20" - layout="topleft" - name="sex_radio" - top="5" - width="110"> - <radio_item - follows="all" - height="16" - label="" - layout="topleft" - left="0" - name="sex_male" - tool_tip="Male" - value="1" - width="40" /> - <radio_item - follows="all" - height="16" - label="" - layout="topleft" - left_pad="10" - name="sex_female" - tool_tip="Female" - value="0" - width="40" /> - </radio_group> - <!-- graphical labels for the radio buttons above --> - <icon - height="16" - image_name="icons/Male.png" - left="230" - name="male_icon" - tool_tip="Male" - top="7" - width="16" /> - <icon - height="16" - image_name="icons/Female.png" - name="female_icon" - left="280" - tool_tip="Female" - top="7" - width="16" /> - <line_editor + left="210" + name="sex_radio" + top="5" + width="110"> + <radio_item follows="all" - height="23" + height="16" + label="" layout="topleft" - left="10" - max_length="63" - name="description" - prevalidate_callback="ascii" - text_color="black" - top_pad="3" - width="290" /> - </panel> - <panel - follows="all" - height="433" - layout="topleft" - left="0" - name="edit_subpanel_container" - top_pad="2" - width="333"> - <!-- the shape editing panel is taller than the others + left="0" + name="sex_male" + tool_tip="Male" + value="1" + width="40" /> + <radio_item + follows="all" + height="16" + label="" + layout="topleft" + left_pad="10" + name="sex_female" + tool_tip="Female" + value="0" + width="40"/> + </radio_group> + <!-- graphical labels for the radio buttons above --> + <icon + height="16" + image_name="icons/Male.png" + layout="topleft" + left="230" + name="male_icon" + tool_tip="Male" + top="7" + width="16" /> + <icon + height="16" + image_name="icons/Female.png" + layout="topleft" + left="280" + name="female_icon" + tool_tip="Female" + top="7" + width="16" /> + <line_editor + follows="all" + height="23" + layout="topleft" + left="10" + max_length="63" + name="description" + prevalidate_callback="ascii" + text_color="black" + top_pad="3" + width="290" /> + </panel> + <panel + follows="all" + height="433" + layout="topleft" + left="0" + name="edit_subpanel_container" + top_pad="2" + width="333"> + <!-- the shape editing panel is taller than the others because it also displays avatar height --> - <panel - filename="panel_edit_shape.xml" - follows="all" - height="433" - layout="topleft" - left="0" - name="edit_shape_panel" - top="0" - visible="false" - width="333" /> - <panel - filename="panel_edit_skin.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_skin_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_hair.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_hair_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_eyes.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_eyes_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_shirt.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_shirt_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_pants.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_pants_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_shoes.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_shoes_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_socks.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_socks_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_jacket.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_jacket_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_skirt.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_skirt_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_gloves.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_gloves_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_undershirt.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_undershirt_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_underpants.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_underpants_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_alpha.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_alpha_panel" - top="8" - visible="false" - width="333" /> - <panel - filename="panel_edit_tattoo.xml" - follows="all" - height="425" - layout="topleft" - left="0" - name="edit_tattoo_panel" - top="8" - visible="false" - width="333" /> - </panel> - - <panel - follows="bottom|left|right" - height="23" - layout="topleft" - left="2" - name="button_panel" - top_pad="6" - width="333" > - <button - follows="bottomleft" - layout="topleft" - height="23" - label="Save As" - left="8" - name="save_as_button" - top="0" - width="153" /> - <button - follows="bottomleft" - layout="topleft" - height="23" - label="Revert" - left_pad="7" - name="revert_button" - width="152" /> - </panel> + <panel + filename="panel_edit_shape.xml" + follows="all" + height="433" + layout="topleft" + left="0" + name="edit_shape_panel" + top="0" + visible="false" + width="333" /> + <panel + filename="panel_edit_skin.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_skin_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_hair.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_hair_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_eyes.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_eyes_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_shirt.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_shirt_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_pants.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_pants_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_shoes.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_shoes_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_socks.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_socks_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_jacket.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_jacket_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_skirt.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_skirt_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_gloves.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_gloves_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_undershirt.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_undershirt_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_underpants.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_underpants_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_alpha.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_alpha_panel" + top="8" + visible="false" + width="333" /> + <panel + filename="panel_edit_tattoo.xml" + follows="all" + height="425" + layout="topleft" + left="0" + name="edit_tattoo_panel" + top="8" + visible="false" + width="333" /> + </panel> + <panel + follows="bottom|left|right" + height="23" + layout="topleft" + left="2" + name="button_panel" + top_pad="6" + width="333"> + <button + follows="bottomleft" + height="23" + label="Save As" + layout="topleft" + left="8" + name="save_as_button" + top="0" + width="153" /> + <button + follows="bottomleft" + height="23" + label="Revert" + layout="topleft" + left_pad="7" + name="revert_button" + width="152" /> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index 819ba7f878..d6549adfef 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -54,6 +54,9 @@ <string name="Filter.Clothing" value="Clothing"/> <string name="Filter.Bodyparts" value="Body parts"/> + <string + name="replace_body_part" + value="Click to replace your existing shape"/> <button follows="top|left" |